home *** CD-ROM | disk | FTP | other *** search
/ Doom Magazine 2 / Doom_magazine_02.bin / utils / dm2conv / dm2conv.doc < prev    next >
Text File  |  1995-01-21  |  17KB  |  420 lines

  1.  
  2.                        =======================
  3.                             DM2CONV v1.6ß
  4.                          by Vincenzo Alcamo
  5.                        =======================
  6.  
  7.  
  8.  
  9. ** DESCRIPTION
  10. --------------
  11. This program converts DOOM levels to run with DOOM II or HERETIC:
  12. now you can play all those maps with you favourite game!
  13. DM2CONV features:
  14.    - DOOM II support
  15.    - HERETIC support
  16.    - level conversion and remapping
  17.    - music conversion and remapping
  18.    - wall/floor texture remapping
  19.    - resource renaming
  20.    - object substitution with difficulty level
  21.    - fully configurable
  22.  
  23.  
  24.  
  25. ** WHY I MUST CONVERT A PWAD?
  26. -----------------------------
  27. Levels designed for DOOM are incompatible with DOOM II or HERETIC
  28. because some resources (ie: graphic bitmap) and objects only exist
  29. inside the DOOM main wad file: DOOM.WAD.
  30. Nevertheless, if you have played DOOM II or HERETIC you should have seen
  31. new monsters and things (the SuperShotgun, the Ethereal Crossbow...).
  32.  
  33. DM2CONV handles the conversion process in a very easy way.
  34. Let suppose you want to run SNIPER.WAD (a well-made level by Eric C.
  35. Reuter) with DOOM II; just execute the following command:
  36.     DM2CONV SNIPER.WAD SNIPER2.WAD @DOOM2.RSP
  37. For HERETIC you have to execute:
  38.     DM2CONV SNIPER.WAD SNIPERH.WAD @HERETIC.RSP
  39. This is all you must know to use this program. Simple and effective.
  40.  
  41.  
  42.  
  43. ** HOW THE CONVERSION WORKS
  44. ---------------------------
  45. The differences between DOOM and DOOM II (or HERETIC) are the following:
  46.    - many resources have different names
  47.    - most wall/floor textures are different
  48.    - new things or missing things (for HERETIC)
  49. DM2CONV renames the resource to their appropriate names, remaps the
  50. textures to similar ones, changes the objects.
  51.  
  52. The syntax is:
  53.  
  54. DM2CONV <input> [output] [/mapnum] [/M[=num]] [/DEBUG] [/IGNORE]
  55.         [/HERETIC] [/TEXTURE[=file]] [/FLOOR[=file]] [/NOCONV]
  56.         [/SEED[=num]] [/NOCHECK] [replacements].. [@response]...
  57.         [/R:name1=name2] [/R=file] [/LIST] [/EXAMPLES] [/NOTES]
  58.  
  59. input
  60.    This parameter is required: it specifies the name of the wad to
  61.    convert. All the other parameters are optional.
  62.  
  63. output
  64.    This is the name of the output wad.
  65.    If a file of the same name already exists, it is deleted.
  66.    If this parameter is omitted, the input file is overwritten.
  67.    Caution: make a backup copy of the files you convert since there is
  68.    no way back!
  69.  
  70. /mapnum
  71.    mapnum is a number between 1 and 32 (DOOM II) or between 1 and 27
  72.    (HERETIC). This parameter enables the level remapping.
  73.    If /mapnum is omitted levels starts from MAP01 (only for DOOM II).
  74.    examples:
  75.      /5
  76.        DOOM II: level names start from MAP05
  77.        HERETIC: level names start from E1M5
  78.      /12
  79.        DOOM II: level names start from MAP12
  80.        HERETIC: level names start from E2M3
  81.    Please note that the first level found is remapped to the level
  82.    specified by mapnum, the second will be mapnum+1, etc.
  83.  
  84. /M[=num]
  85.    num is a number between 1 and 32 (DOOM II) or between 1 and 27
  86.    (HERETIC). This parameter enables the music remapping.
  87.    If /M is omitted there is no music remapping.
  88.    The =num subparameter specify the level for the first music.
  89.    If =num is omitted, the musics are remapped accordingly to the
  90.    level they belong: if E1M1 is remapped to E2M3, then D_E1M1
  91.    is renamed to MUS_E2M3 (HERETIC example).
  92.    If =num is specified, the musics are remapped starting from
  93.    the music for level num: with /M=9 the first music becomes
  94.    MUS_E1M9, the second becomes MUS_E2M1 and so on (HERETIC).
  95.    Please note that the first music found is remapped to the level
  96.    specified by num, the second will be num+1, etc.
  97.    Along the other music resources, only the intermission music
  98.    is renamed to the appropriate name for the selected game.
  99.  
  100. /DEBUG or /D
  101.    This switch enables the debug mode.
  102.    In this mode there is a verbose listing of all object substitutions.
  103.  
  104. /IGNORE or /I
  105.    This switch specifies that DM2CONV must ignore that the source file
  106.    has no levels.
  107.    This is useful to make object substitutions over an already convert
  108.    file (especially for DOOM II).
  109.  
  110. /HERETIC
  111.    This switch enables the DOOM_to_HERETIC conversion.
  112.    If it is omitted, the default DOOM_to_DOOM2 conversion is performed.
  113.    Please note that I have only tested the shareware version of HERETIC:
  114.    textures and objects remapping use only the resources found in the
  115.    shareware HERETIC1.WAD.
  116.    This is the only reason why DM2CONV is a beta version.
  117.  
  118. /TEXTURE[=file]
  119. /TEXTURE:name1=name2
  120.    The TEXTURE switch enables the wall texture remapping.
  121.    This is required for HERETIC and is optional for DOOM II, but only if
  122.    you use the patch wad DM2CONV.WAD created by DM2MKWAD.
  123.    The texture remapping simply renames texture not found in DOOM II or
  124.    HERETIC with similar ones that exist in the target game.
  125.    For DOOM II conversions I recommend you to use DM2CONV.WAD, thus
  126.    avoiding the TEXTURE switch.
  127.    The =file subparameter specify a text file containing a list of
  128.    texture names and their new names: texture are renamed using this
  129.    list and the one embedded into the executable.
  130.    The second syntax specify a single texture and its new name.
  131.    You may use comments inside your list files: simply start them with
  132.    one of the following characters ';#%[
  133.    Multiple /TEXTURE switches may be used at the same time.
  134.    /TEXTURE may be abbreviated with /T.
  135.  
  136. /FLOOR[=file]
  137. /FLOOR:name1=name2
  138.    The FLOOR switch enables the floor texture remapping.
  139.    This is required for HERETIC: it does not work for DOOM II.
  140.    See /TEXTURE for detail.
  141.    Multiple /TEXTURE switches may be used at the same time.
  142.    /FLOOR may be abbreviated with /F.
  143.  
  144. /R=file
  145. /R:name1=name2
  146.    This switch enables the custom resource renaming.
  147.    The =file subparameter specify a text file containing a list of
  148.    resource names and their new names.
  149.    You may use comments inside your list files: simply start them with
  150.    one of the following characters ';#%[
  151.    The second syntax specify a single resource and its new name.
  152.    Multiple /R switches may be used at the same time.
  153.    example:
  154.      /R:DEMO1=D1 /R:DEMO2=D2 /R:DEMO3=D3
  155.      These switches eliminate the demo resources: DOOM demos are not
  156.      compatible with DOOM II/HERETIC.
  157.    See /TEXTURE for more detail on list files.
  158.  
  159. /NOCONV
  160.    This switch disables the resource remapping: levels, musics, skies.
  161.    This is useful if you use the /R switch over an already converted
  162.    wad. This switch does not disable the object substitution nor the
  163.    texture remapping.
  164.  
  165. /SEED[=num]
  166.    SEED specifies the random number generator's seed.
  167.    By default the seed is 0.
  168.    If /SEED=num is specified, the seed is num.
  169.    if only /SEED is specified, the seed is random.
  170.    This parameter is only used by the object substitution algorithm.
  171.  
  172. /NOCHECK or /N
  173.    This switch enable the use of any number for the object substitution.
  174.    By default, only the numbers shown by the /LIST switch are accepted.
  175.    This is useful to change unusual objects into others: for example,
  176.    medikits (2012) into deathmatch starts (11).
  177.  
  178. replacements
  179.    This parameter specify an object substitution rule.
  180.    replacements is a string in the format:
  181.      obj1[:flags]=obj2[@num[%]][:flags]
  182.    More than one replacement may be specified.
  183.    See OBJECT SUBSTITUTION for details.
  184.  
  185. @response
  186.    response is the name of a text file containing additional parameters
  187.    to DM2CONV.
  188.    The response file is necessary if all the parameters cannot stay on
  189.    the command line (which is normally limited to 128 characters).
  190.    More than one response files are allowed.
  191.    Response files cannot be nested: you can not specify a @file inside
  192.    another response file.
  193.    You may use comments inside your response files: simply start them
  194.    with one of the following characters ';#%[
  195.  
  196. /HELP or /H or /?
  197.    This switch will display the help text.
  198.    The help screen will appear if no source is specified.
  199.  
  200. /LIST or /L
  201.    This switch will display the list of known objects.
  202.  
  203. /EXAMPLE or /EXAMPLES or /E
  204.    This switch will display some substitution examples.
  205.  
  206. /NOTES or /NOTE
  207.    This switch will display special notes regarding the program.
  208.  
  209.  
  210.  
  211. ** OBJECT SUBSTITUTIONS
  212. -----------------------
  213. All things in DOOM are objects: lamps, monsters, weapons, power-ups,
  214. obstacles, other players, etc..
  215. DOOM II supports all DOOM objects plus others: the super shotgun, the
  216. megasphere, many new monsters, etc..
  217. HERETIC hasn't any of the DOOM objects.
  218. With DM2CONV you can transform specified DOOM objects into DOOM II or
  219. HERETIC objects. The object substitution is such a process and is
  220. enabled by specifying at least one replacement.
  221.  
  222. A replacement is a string describing what objects to transform and how
  223. to transform them. The simplest replacement string is of the format:
  224.    object1=object2
  225. This replacement will transform each object of the type object1 to one
  226. of the type object2.
  227. An object is specified by its number, its shortname, its name or an
  228. initial part of its name: type DM2CONV /LIST to obtain the list of all
  229. recognized objects; if you want to change objects that are not in this
  230. list, you can specify the /NOCHECK parameter.
  231. The most used substitution for DOOM II is:
  232.    SHOTGUN=SUPERSHOTGUN
  233.  
  234. You can change multiple objects:
  235.    obj1,obj2=obj3
  236. all objects of type obj1 and obj2 are transformed into obj3 objects.
  237.    obj1=obj2,obj3
  238. all obj1 objects becomes obj2 and obj3 (they are chosen randomly in
  239. equal proportions: this is why the /SEED parameter exists).
  240. You can specify any number of source objects and any number of
  241. destination objects.
  242.  
  243. You can also specify quantities (only for the destination objects):
  244.    IMP=DEMON@5
  245. In the above example, only 5 IMPs become DEMONs; the others remain IMPs.
  246.    IMP=DEMON@5,SPECTRE@10
  247. Five IMPs become DEMONs and ten become SPECTREs.
  248. If the number of source objects is less than the destination, the
  249. quantities are adjusted proportionally.
  250. In the above example if there are only 9 IMPS, 3 become DEMONs (33%)
  251. and 6 become SPECTREs (66%).
  252. Another example:
  253.    IMP=DEMON@5,SPECTRE
  254. 5 IMPs become DEMONs, the remaining become SPECTRE: if there are less
  255. than 5 IMPs, all of them become DEMONs.
  256. That is, if you don't specify a quantity the remaining objects are used.
  257.  
  258. The quantity can be a percentual:
  259.    IMP=DEMONS@50%
  260. In this way, 50% of IMPs become DEMONs.
  261. You can mix all of the above rules:
  262.    IMP,DEMON=BARON@2,LOSTSOUL@50%,TROOPER
  263. The % sign can be replaced with any of the following signs $ # &
  264. This is because the % character has a special meaning for DOS: you must
  265. avoid using the % sign on the command line of DM2CONV; response files
  266. are not affected.
  267.  
  268. In DOOM/DOOM II/HERETIC the difficulty level chosen when you start a new
  269. game will affect the objects in a considerable manner:
  270.    - new objects may appear
  271.    - other objects disappear
  272. The reason is that each object has flags that specify in what level of
  273. difficulty it should appear.
  274. There are five flags:
  275.    1 - object appears on difficulty levels 1 and 2
  276.    2 - object appears on difficulty level 3
  277.    3 - object appears on difficulty levels 4 and 5
  278.    D - object is deaf (useful only for monsters)
  279.    M - object appears ONLY in multiplayer mode
  280. Starting from version 1.5, DM2CONV supports these flags in the
  281. substitution rules; the complete syntax is:
  282.    sobj1[:flags]...=dobj1[@quantity[%]][:flags]...
  283.  
  284. Each object can have one or more of the above flags.
  285. If difficulty flags are specified in the source, only the objects
  286. that have those flags are changed.
  287.    IMP:1=STIMPACK
  288. means that all IMP that will appear (at least) in difficulty level 1
  289. will be transformed into STIMPACK.
  290. This affects all IMP that have the '1' flag, not only the ones that
  291. have only the '1' flag.
  292.  
  293. If difficulty flags are specified in the destination, the object
  294. remapped will have the specified flags.
  295.    IMP=STIMPACK:123
  296. means that all IMP will be transformed into STIMPACK and will appear
  297. on any level (except multiplayer mode).
  298.  
  299. The 'D' flag have no means if used in a source object.
  300. The 'M' flag works in different ways if used in source or destination
  301.    source:      only multiplayer-mode objects are changed
  302.    destination: the object appear only on multiplayer mode
  303.  
  304.  
  305.  
  306. ** DM2MKWAD
  307. -----------
  308. DM2MKWAD can create a wad file that contains all the missing textures
  309. from DOOM II. You will need both registered versions of DOOM and DOOM II
  310. to proceed.
  311. The output file is named DM2CONV.WAD and should be included in the list
  312. of patch wad files for DOOM II. example:
  313.    DOOM2 -FILE DM2CONV.WAD your.wad
  314. Using DM2CONV.WAD, you can eliminate the /TEXTURE switch when converting
  315. files to DOOM II: the original DOOM textures will be used.
  316. DM2MKWAD will not overwrite or delete any file other than DM2CONV.WAD.
  317. Before converting your first wad, please exit to DOS and type the
  318. following command:
  319.    DM2MKWAD
  320. then feed it with the appropriate information.
  321. If you use the DOOM2 response file and DM2CONV.WAD, remove the line in
  322. which appears /TEXTURE.
  323.  
  324.  
  325.  
  326. ** DMT
  327. ------
  328. Included in this version of DM2CONV is DMT: my first program developed
  329. for DOOM.
  330. Please note that DMT is not related with DM2CONV: I distribute it here
  331. because I think DMT could be of some help to someone.
  332. DMT fully supports DOOM, but not DOOM2 or HERETIC although many options
  333. will work well.
  334. I may write a full DOOM/DOOM2/HERETIC compatible version if there is
  335. enough interest in this type of program.
  336. DMT has no documentation yet: if anyone can (and will) write one,
  337. he/she should contact me (I'm Italian: my English is poor);
  338. however just type DMT to get a list of known commands: type
  339. DMT HELP command to get help about any commands.
  340. DMT is both a batch tool and a command-line program.
  341.  
  342. IF YOU ARE AN HACKER, TAKE A LOOK AT DMT!
  343.  
  344.  
  345.  
  346. ** SPECIAL CONSIDERATIONS
  347. -------------------------
  348. The sky resources are now remapped when converting to DOOM II.
  349. This is performed by renaming each SKY? (? can be 1, 2 or 3) resource to
  350. RSKY?. This operation is automatically done when new wads are converted:
  351. for wads already converted use the /IGNORE switch. If a level has a wall
  352. with a texture named SKY? (example: GALAXIA.WAD by Pavel Hodek) it will
  353. be displayed fine after the conversion.
  354. The sky remapping works only in DOOM2 conversions.
  355. The original DOOM skies are not included in the DM2CONV.WAD file. You
  356. can build a wad containing the DOOM's skies with the following command:
  357.    DMT -open DOOM.WAD -new SKIES -copy SKIES DOOM SKY*
  358. The output wad SKIES.WAD can be used directly with HERETIC or converted
  359. to be run with DOOM II:
  360.    DM2CONV SKIES SKIES2 /IGNORE
  361.  
  362. In the same way, you can build a wad containing all the DOOM's musics
  363. with the following command:
  364.    DMT -open DOOM.WAD -new MUSICS -copy MUSICS DOOM D_E?M?.M
  365. then you can convert this file to DOOM II:
  366.    DM2CONV MUSICS /M=1 /IGNORE
  367. or to HERETIC:
  368.    DM2CONV MUSICS /M=1 /IGNORE /HERETIC
  369.  
  370.  
  371.  
  372. ** DISTRIBUTION LICENSE
  373. -----------------------
  374. All files in the original distribution package are PUBLIC DOMAIN.
  375. You can freely distribute these files (also separately) in any form.
  376. The files included inside DM2CNV16.ZIP are:
  377.    DM2CONV.EXE   the converter!
  378.    DM2CONV.PAS   source for DM2CONV
  379.    DM2CONV.DOC   documentation
  380.    DM2MKWAD.EXE  the wad builder
  381.    DM2MKWAD.PAS  source for DM2MKWAD
  382.    DOOM2.RSP     sample response file for DOOM II conversion
  383.    HERETIC.RSP   the standard response file for HERETIC conversion
  384.    OBJECTS.TXT   object comparison table for DOOM/DOOM2/HERETIC
  385.    DMT.EXE       manipulation tool
  386.    FILE_ID.DIZ   package description
  387.  
  388. For comments, bug reports, suggestions, etc.. please contact the author:
  389.  
  390.   snail-mail:
  391.     Vincenzo Alcamo
  392.     via Verdi 185
  393.     40059 Medicina (BO)
  394.     ITALY
  395.  
  396.   e-mail:
  397.     alcamo@arci01.bo.cnr.it
  398.  
  399.  
  400.  
  401. ** PROGRAM HISTORY
  402. ------------------
  403. 01/21/94  v1.6ß Resource renaming.
  404.                 Improved documentation.
  405.  
  406. 01/14/94  v1.5ß Sky resource remapping.
  407.                 Heretic support.
  408.                 External texture tables.
  409.                 Difficulty level supported.
  410.                 Some code rewritten.
  411.  
  412. 12/14/94  v1.2  Music remapping. Other minor changes.
  413.                 Sources released in the public domain.
  414.                 DMT tool distributed to check reactions.
  415.  
  416. 11/12/94  v1.0  The first release.
  417.                 DM2CONV.PAS should be in the distribution package:
  418.                 it wasn't for my fault.
  419.  
  420.