home *** CD-ROM | disk | FTP | other *** search
/ The Complete Doom Accessory Pack 3 / TheCompleteDoomAccessoryPackVolumeIiiCd.bin / editors / rmb / manual.txt < prev    next >
Text File  |  1994-09-13  |  29KB  |  824 lines

  1. --------------    USERS MANUAL ----------------------------
  2.  
  3. My English is not that good, so if you feel 
  4. like writing a better manual please contact me.
  5.     (Email: hykkelbj@daimi.aau.dk)
  6. (All comments are welcome)
  7.  
  8. 1. Introduction
  9. 2. How to use the Reject Map Builder
  10. 3. How to use the Inspect Utility
  11. 4. Making Special Effects
  12. 5. Using an Option File
  13. 6. Multilevel wads
  14. 7. Copyright notice
  15. 8. Authors note.
  16.  
  17. ---------------    1. Introduction  ----------------------
  18.  
  19. The reject map builder is a utility that takes 
  20. a PWAD file and finds out which sectors can be seen from
  21. a sector. This information is used by DOOM to speed up
  22. the real time action!
  23.  
  24. The program should be used with care. The best would be, 
  25. if it's only used by the author of a wad. The reason it
  26. should be used with care is that the reject map can be used
  27. for some special effects.
  28. These will be removed if the PWAD file is processed with RMB.
  29.  
  30. The program was made after inspiration from a discussion on 
  31. the doom editing mail list. Keep that list running! ;)
  32.  
  33. The program was written in Turbo Pascal 6.0, and 
  34. I started totally from scratch. "The Unofficial Doom Specs"
  35. has been a great help to me. Without it this program had never
  36. been made...
  37.  
  38. NOTE:
  39.    When the syntax of some command is given anything in
  40.    square brackets is an optional parameter, and anything in curly
  41.    brackets is a choice between more possibilities. 
  42.    The syntax:
  43.  
  44.       EFFECT <file>.WAD [EnMx] {BLIND, SAFE} {0, 1} <sector number>
  45.  
  46.    means that all these commands can be used:
  47.  
  48.       effect file.wad blind 0 22
  49.       effect file.wad e1m2 safe 1 43
  50.       effect file.wad e1m1 blind 1 55
  51.       ...
  52.    See the section on how to make special effects for
  53.    an explanation of the effect utility.
  54.    (or even better learn to write an option file)
  55.  
  56. -------    2. How to use the reject map builder -----------
  57.  
  58. Note: The syntax has changed since v1.0
  59.  
  60. To use the reject map builder you need to unpack it into it's
  61. own directory, like c:\reject. When you want to run it on a WAD
  62. like for instance starwar1.wad simply go to the directory
  63. where you have put the program e.g:
  64.  
  65.    > cd c:\reject
  66.  
  67. and type "RMB <filename>.WAD <output file>.WAD". 
  68. That's all there is to it...
  69.  
  70.    > rmb c:\wadfiles\starwar1.wad c:\wadfiles\mystarw1.wad
  71.  
  72. The input and output files can be identical.
  73.  
  74. If the file is a multilevel WAD (like starwar2 and others)
  75. this will make RMB process the first level in the wad.
  76. To process another level just type 
  77. "RMB <filename>.WAD <output file>.WAD EnMx"
  78. where EnMx gives the episode and mission number.
  79.  
  80.    > rmb c:\wadfiles\starwar2.wad mystar2.wad e1m2
  81. (to process episode 1 mission 2 in starwar2.wad,
  82.  and put the result in mystar2.wad).
  83.  
  84. If the EnMx parameter isn't used RMB will process the first
  85. map in the WAD.
  86.  
  87. When the program has finished processing, the
  88. efficiency will be shown. The efficiency is the percentage
  89. of 1's in the reject map. A high efficiency means that the
  90. speedup will be good. There is no need to run RMB
  91. on a PWAD that has already been processed. To check whether
  92. a file has been processed you can use the INSPECT tool.
  93.  
  94. During the execution of the program a map of the level being
  95. processed is shown. In the top left corner of the screen
  96. there will be a number showing the current sector, and
  97. the total number of sectors.
  98.  
  99. The program will process all sectors one by one, 
  100. and for all sectors it will calculate how much can 
  101. be seen from every 2s line in the sector. 
  102. The 2s line currently being processed is shown in red, and when 
  103. the program has finished processing the line, it turns cyan.
  104. From the 2s line it's possible to see other 2s lines. these will
  105. be shown in yellow, and turn purple when they have been processed.
  106. So there should always be a red and a yellow line, and the program
  107. is currently processing a LOS calculation from the red towards (through)
  108. the yellow line.
  109.  
  110. To optimise the original DOOM.WAD there is a little batch
  111. file included called ORIGINAL, that runs through all DOOM
  112. levels, and optimises them one by one. (You can easily make
  113. and drink a cup of coffee meanwhile)
  114. All you have to do is copy the doom.wad file to your RMB
  115. directory, and then type ORIGINAL <enter>.
  116. When you are done you can take a backup of your original
  117. doom.wad, and copy the new doom.wad back.
  118. (remember, that when you have changed the original doom
  119.  files ID offers no support...)
  120.  
  121. --------    3. How to use the inspect utility  -------------
  122.  
  123. The inspect utility inspects the current reject map of a PWAD
  124. without changing it. The statement syntax is:
  125.  
  126.    INSPECT <Filename>.WAD [EnMx] [Sector number]
  127.  
  128. If it is used without a sector number, it will calculate
  129. the efficiency of the current reject map.
  130.  
  131.    > inspect c:\wadfiles\think12.wad
  132.  
  133.    Efficiency: 40%
  134.  
  135. Called with a number after the WAD filename, It will tell you 
  136. the sector numbers, that monsters can (presumably) see
  137. from this sector.
  138.  
  139.    > inspect c:\wadfiles\think12.wad 0
  140.  
  141.    Sectors visible from sector 0:
  142.    0,1,...
  143.  
  144. The "EnMx" option lets you process multilevel wads. 
  145. The following command:
  146.    
  147.    > inspect c:\wadfiles\starwar2.wad e1m2 0
  148.  
  149.    Sectors visible from sector 0:
  150.    0,1,...
  151.  
  152. means that you want to inspect episode 1 mission 2 
  153. in the WAD. If you don't use the EnMx option, you will
  154. automatically inspect the first map in the file.
  155.  
  156. ---------------- 4.  Making Special Effects  ----------------
  157.  
  158. NOTE: if you use the RMB utility all special effects are removed
  159.       unless you use an option file for RMB.
  160.       (some wad editors will gladly remove all special effects too)...
  161.  
  162. With the EFFECT utility you can make special effects
  163. with the reject map. The syntax of EFFECT is:
  164.  
  165.    EFFECT <filename>.wad [EnMx] {SAFE, BLIND} {0, 1} <sector number>
  166.  
  167.  
  168. The SAFE option makes safe sectors. 
  169. As long as you are in a safe sector the monsters won't 
  170. shoot you. A safe sector is made like this:
  171.  
  172.    EFFECT <filename>.wad SAFE 0 <sector number>
  173.  
  174. The '0' means, that at a distance of 0 or above, the monsters can't see you.
  175. currently only 0 and 1 is supported here.
  176. (1 meaning that monsters inside the safe sector can see you, but others can't)
  177.  
  178. The other effect is BLIND. The following command makes all monsters 
  179. inside a sector totally blind:
  180.  
  181.    EFFECT <filename>.wad BLIND 0 <sector number>
  182.  
  183. again the zero can be exchanged with a 1, in which case the monsters
  184. are only extremely near sighted...
  185. (The effect of this is, that the monsters can only see you when you are 
  186. in their sector). Note, that the monsters gain perfect vision, if they move 
  187. out of the blinded sector.
  188.  
  189. In all cases you can use ALL instead of the sector number (last argument).
  190. This will make all sectors safe or all monsters near sighted...
  191.  
  192. Making all monsters blind will make a very dull game, but it may be good 
  193. for playtesting a wad, to see, that all monsters are placed correctly...
  194.  
  195. ---------------    5. Making an Option File   ---------------
  196.  
  197. NOTE: The syntax of BLIND and SAFE (+inv) has changed since v1.1.
  198.  
  199. An option file is a file that can be used to make more
  200. special effects in a WAD. The option file has the same name as
  201. the WAD file, and is placed in the same directory. The option file
  202. should have extension '.REJ'
  203. RMB will automatically detect the .REJ file, and process it.
  204.  
  205. That is if the WAD is called MYLEVEL.WAD the option file would be
  206.  
  207.    MYLEVEL.REJ
  208.  
  209. Now follows a list of all commands that can be used in the option file.
  210. Listed with the fastest first.
  211.  
  212.    # The '#' marks a comment line
  213.    LENGTH    <Distance>
  214.    DISTANCE  <Euclidian distance>
  215.    BLIND     <Distance> <Sector list>
  216.    LINE      <Line no>
  217.    LEFT      <Line no>
  218.    RIGHT     <Line no>
  219.    BLOCK     <Line no> <Line no>
  220.    ONE       <Line no> <Line no>
  221.    INC       <Sector>  <Sector>
  222.    EXC       <Sector>  <Sector>
  223.    NOMAP
  224.    SAFE      <Distance> <Sector list>
  225.    INV SAFE  <Distance> <Sector list>
  226.    INV BLIND <Distance> <Sector list>
  227.    REPORT    <Distance>
  228.    PERFECT
  229.  
  230. <Distance> The distance is the number of SECTORS between two sectors
  231.    Counted in a strange way. For instance if you want the monsters in
  232.    a sector to be totally blind use 'BLIND <Sector> 0'. If you want them
  233.    to be able to see their own sector use 'BLIND <Sector> 1',
  234.    for neighbours use 2 and so on.
  235.  
  236. <Euclidian distance> Is the distance as we know it. A normal door
  237.    is 128 wide, which is the euclidian distance across the door.
  238.  
  239. <Line no> Is the number of a TWO SIDED line. This line number can be found
  240.    using almost every WAD builder. (DEU5.21 recommended)
  241.  
  242. <Sector> Is the number of a sector. can also be found
  243.    by a WAD builder.
  244.  
  245. <Sector list> Is a list of sector numbers terminated by end of line
  246.    example: 1 2 5 7 9 
  247.    Is a list of the sectors 1, 2, 5, 7 and 9.
  248.  
  249. In the following each command is explained in detail, but first
  250. a brief explanation: (sorted alphabetically)
  251.  
  252. *  BLIND     Specifies the distance a monster can see (near sighted)
  253.    BLOCK     Monsters can't look through BOTH 2s lines (One is ok)
  254.    DISTANCE  The maximum distance a monster can see.
  255.    EXC       Excludes view from 1st sector to 2nd. (Overrides all other opt)
  256.    INC       Includes LOS from 1st sector to 2nd. (Overrides all other opt)
  257. *  INV BLIND Specifies that monsters can only see outside the distance.
  258. *  INV SAFE  Monsters can't see this sector(s) inside the distance.
  259.    LEFT      Makes a 2s line that can only be looked through left to right.
  260.    LENGTH    Specifies the max # of sectors any monster can see.
  261.    LINE      Makes a 2s line impossible to look through for monsters.
  262.    NOMAP     Removes the graphical look, and prints only ASCII
  263.    ONE       Same as block, but only stops LOS one way.
  264.    PERFECT   Generates a perfect reject map.
  265.    REPORT    Reports all detected distances >=<distance> to <wad file>.RPT
  266.    RIGHT     Makes a 2s line that can only be looked through right to left.
  267. *  SAFE      Monsters can't see this sector(s) outside the distance.
  268.  
  269. All options marked with '*' can change when combined with
  270. an inverted (INV) command for the same sector. More on this later.
  271. The next sections will explain the options in alphabetical order.
  272.  
  273.             5.1 BLIND
  274.  
  275. Syntax: Blind <dist> <Sector list>
  276.  
  277. The blind option makes the monsters in the sectors in the 
  278. sector list totally blind or near sighted. 
  279. With distance zero the monsters can't see a
  280. thing. With distance 1 they can see their own sector.
  281. With distance two they can see their own sector and all neighbouring
  282. sectors, and so on. In this example we will use the option
  283.  
  284.    BLIND 3 5 7
  285.  
  286. That means that monsters in sectors 5 and 7 can only see across
  287. 2 two-sided lines.
  288.  
  289.    |----|----|----|----|----|----|----|----|
  290.    |    :    :    :    :    :    :    :    |
  291.    | 1  : 2  : 3  : 4  : 5  : 6  : 7  : 8  | (a ':' marks a 2s line)
  292.    |    :    :    :    :    :    :    :    | (The numbers are sector numbers)
  293.    |----|----|----|----|----|----|----|----|
  294.  
  295. With this configuration of sectors 'blind 3 5 7' means, that
  296. a monster in sector 5 can see sectors 3, 4, 5, 6 and 7 but not
  297. sectors 1, 2 and 8; while a monster in sector 7 can see sectors
  298. 5, 6, 7 and 8, but not sectors 1, 2, 3 and 4.
  299.  
  300.             5.2 BLOCK
  301.  
  302. Syntax: Block <Line no> <Line no>
  303.  
  304. RMB only processes the 2D map. If two sectors can't see each
  305. other because of some difference in height, the BLOCK option
  306. is perfect to make RMB realize this. An example where
  307. two sectors can't see each other is a high lift.
  308. The drawing here is seen from the side:
  309.                   ----
  310.  
  311.                D      E
  312.             |------|------|
  313.             |         o   |
  314.             |      #3 -\  |
  315.             |          /\ |
  316.             |      |------|
  317.             |      |  ^
  318.             | LIFT |  |
  319.       A       B      C  |      |  example player
  320.    |------|------|------|      |  position
  321.    |                           |
  322.    |      #0     #1     #2     |
  323.    |                           |
  324.    |------|------|------|------|
  325.  
  326. Here the sectors are marked with capital letters, and
  327. the two-sided lines are marked with a '#' and their line number.
  328. Because of the 3d difference in floor and ceiling heights sectors
  329. A and B can't see sector E.
  330. This is because you can't see from line #1 to line #3, and by
  331. using the option
  332.  
  333.    BLOCK 1 3
  334.  
  335. The generated reject map will look like:
  336.  
  337.        A   B    C     D    E
  338.    A   x   x    x     x
  339.    B   x   x    x     x
  340.    C   x   x    x     x    x
  341.    D   x   x    x     x    x
  342.    E            x     x    x
  343.  
  344. an 'x' means that you can see from one sector to the other.
  345. Note that just as expected sector E can't see sector A and B,
  346. and sector A and B cant see sector E. (where see means that
  347. the monsters in one sector cant see you if you are in the
  348. other sector.)
  349.  
  350. Having the possibility to do 3d things like this may encourage
  351. you to go around your wad trying to find places where a BLOCK is
  352. in place. However if you do this just for gaining speed, you are
  353. bound to be disappointed, and the time invested will probably not
  354. pay off.
  355.  
  356.         5.3 DISTANCE
  357.  
  358. Syntax: DISTANCE <Euclidian distance>
  359.  
  360. Distance will stop monsters from looking too far. It is very easy
  361. to get the Length and the Distance options mixed up, but where 
  362. length makes an upper bound on the number of 2s lines monsters
  363. can look through, Distance is a better way to limit the
  364. distance of sight.
  365.  
  366. The distance parameter makes it impossible for monsters to see further
  367. than a given distance.
  368.  
  369. To gain some intuition on how far a distance of say 600 is,
  370. it is a good thing to note, that a normal door is 128 wide,
  371. which means that a distance of 600 corresponds to about 5 
  372. doors after each other (side by side). This means
  373. that if you set the option:
  374.  
  375.     Distance 600
  376.  
  377. Monsters will not be able to see sectors more than 600 away,
  378. corresponding to a distance of 5 times the width of a door.
  379. However the distance option will first start to work after
  380. the first two sectors, meaning, that the monsters will
  381. always have the opportunity to see you if you are no more than
  382. 2 sectors away. (That is if there is no wall blocking the LOS 
  383.  in between)
  384.  
  385.    |-----|-----|-----|-----|
  386.    |     :     :     :     |
  387.    |  1  :  2  :  3  :  4  |
  388.    |     :     :     :     |
  389.    |-----|-----|-----|-----|
  390.      <----------->         (the <--> shows the distance 1 to 4)
  391.      This marks the distance between sector 1 and 4.
  392.      note: It's always the minimum distance that counts.
  393.  
  394.    A monster in sector 1 will always be able to see sectors 2 and 3
  395.    regardless of the distance used, but it will only be able to 
  396.    see sector 4, if the shown distance is smaller than the number
  397.    given in the distance option.
  398.  
  399.         5.4 EXC
  400.  
  401. Syntax: Exc <Sector1> <Sector2>
  402.  
  403. Exc makes it impossible for monsters in Sector1 to
  404. see you if you are in Sector2. (This only affects a single
  405. bit in the reject map)
  406.  
  407. Note: This option overrides ALL other options, and can be used to
  408.       make small modifications like "if you stand in this sector all
  409.       monsters in the surrounding room can't see you.
  410.  
  411.         5.5 INC
  412.  
  413. Syntax: Inc <Sector1> <Sector2>
  414.  
  415. Inc makes possible for monsters in Sector1 to see you in Sector2,
  416. no matter what all the other options say. This can be used to make 
  417. special effects like: 
  418.  
  419. Blind a sector completely with BLIND 0.
  420. Put a lot of monsters in the sector, and make a platform
  421. in sight of the blinded sector.
  422. now use the INC option to make the monsters able to see
  423. the platform and nothing else. If it's difficult to see 
  424. from the platform to the blinded sector, the effect
  425. will be that the player will be surprised when he is 
  426. suddenly attacked...
  427.  
  428. "I stepped onto the platform and took the key. There was no
  429.  sound of doors opening, so I was home free, but suddenly
  430.  the room was flying with fireballs... Where the <censored> 
  431.  did those imps come from"
  432.  
  433. Note: This option overrides all other options except EXC.
  434.         
  435.         5.6 INV BLIND
  436.  
  437. Syntax: Inv Blind <distance> <Sector list>
  438.  
  439. Where BLIND makes monsters near sighted or totally blind
  440. INV BLIND makes monsters LONG sighted. This means that
  441. a monster inside any of the sectors in the sector list 
  442. can only see sectors outside the distance. This means that where
  443. BLIND 1 <sector list> makes the monsters inside one of the sectors 
  444. in the sector list unable to see anything but their own sector, 
  445. INV BLIND 1 <sectors> 
  446. will make them unable to see their own sectors, but now they 
  447. will be able to see all sectors further away from their own sector.
  448.  
  449.             5.7 INV SAFE
  450.  
  451. Syntax: Inv Safe <distance> <Sector list>
  452.  
  453. (Please read the section about safe first)
  454.  
  455. Where safe means that when you are in a safe sector
  456. the monsters has to get close to you to see you.
  457. INV SAFE means that only monsters outside the <distance> range can see you.
  458. As monsters will always try to move closer to you, the monsters will
  459. disable themselves as long as you are in the INV SAFE sector!
  460.  
  461.             5.8 LEFT
  462.  
  463. Syntax: Left <Line no>
  464.  
  465. This option makes a two sided line into a one way look through line
  466. (for monsters). This means that if you have made a wall that is
  467. one way look through (texture on one side but not on the other)
  468. this option can help you make monsters respond logically to it.
  469.  
  470.       A    B          C
  471.     |----|----|----|
  472.     |    ^    ^    |
  473.     |    #1   #2   |
  474.     |    :    :    |
  475.     |----|----|----|
  476. the '^' shows that the two-sided lines are pointing up
  477.  
  478. If line #1 has been made as a secret wall with a texture on
  479. it's right side but not on the left side. It should be possible
  480. to look through it only from the left to the right. This can be
  481. made by
  482.  
  483.    LEFT 1
  484.  
  485.             5.9 LENGTH
  486.  
  487. Syntax: Length <Distance>
  488.  
  489. The length parameter makes an upper bound to the distance of
  490. any LOS. Distance here means the number of 2s lines, that's crossed
  491. when you look from one sector to the other. An option like
  492.  
  493.    LENGTH       20
  494.  
  495. is often safe, but you should take great care if you want to set 
  496. it lower, as this could make monsters behave strangely.
  497.  
  498. (If you have set LENGTH 10 and created a stair with 10 steps
  499.  a monster at the top of the stair won't be able to see you at
  500.  the button)
  501.  
  502. NOTE: As this option affects ALL sectors care should be taken
  503.       when you use a distance below 20. In most cases use the
  504.       DISTANCE option instead of LENGTH!
  505.  
  506.             5.10 LINE
  507.  
  508. Syntax: Line <Line no>
  509.  
  510. This option makes it impossible for monsters to see through a
  511. two-sided line. This is good if you have a 2s line with texture
  512. on both sides, so you can't see through it. Normally monsters
  513. will look through ANY 2s line, but with this option you can
  514. prevent them if you want.
  515.  
  516.             5.11 NOMAP
  517.  
  518. Syntax: NoMap
  519.  
  520. This option makes the visual map of the level disappear.
  521. Instead the number of the current sector being processed is
  522. shown. At the same time one dot "." is typed every time it start
  523. to process another sector immediately visible from the original sector.
  524.  
  525.    |---|---|----|
  526.    | 1 :   :    |
  527.    |...: 2 :    |
  528.    |       : 5  |----|
  529.    |.......:....: 6  |              
  530.    | 3  :   4   :    |
  531.    |----|-------|----|
  532.  
  533. Here sectors 3, 4 and 5 are immediately visible from sector 1
  534. through sector 2. Sector 6 is further away, and a dot is not
  535. printed for it (to avoid too many dots).
  536.  
  537. A dot is printed every time a new yellow line would have been
  538. drawn if the map was on.
  539.  
  540. (I call sector 2 a neighbour to sector 1, and neighbours are always
  541.  visible, so no processing is done on sector 2 when Sector one
  542.  is the current sector. Thats why I put dots for sectors 3, 4 and 5,
  543.  but not for sector 2)
  544.  
  545. It takes EXACTLY the same time to process a wad in the graphics 
  546. mode as it takes in the text mode.
  547.  
  548. When NOMAP is used you can start the program without 
  549. being in the same directory as RMB.
  550.  
  551.              5.12 ONE
  552.  
  553. Syntax: One <Line no> <Line no>
  554.  
  555. Where BLOCK blocks both ways ONE blocks only one way.
  556. This option is good in combination with one way look through
  557. walls (the left/right options). If you know for a fact, that
  558. there is a wall that blocks the LOS one way, so
  559. that It's only possible to look through the two lines one way,
  560. there is no need to make any extra calculations for the other
  561. way. That's why a ONE way block is a good idea.
  562.  
  563.       A    B    C     D
  564.     |----|----|----|-----|
  565.     |    ^    ^    :     |
  566.     |    #1   #2   #3    |
  567.     |    :    :    :     |
  568.     |----|----|----|-----|
  569.  
  570. Imagine that sector C is a lift sector, and line #1 can only be looked
  571. through from right to left. Now we want to block the LOS between sectors
  572. A and D, but since #1 is one way look through, we only need to block
  573. one way:
  574.  
  575.    RIGHT 1
  576.    ONE  3 1
  577.  
  578. The generated reject map is:
  579.  
  580.       A   B   C   D
  581.    A      x
  582.    B  x   x   x   x
  583.    C  x   x   x   x
  584.    D      x   x   x
  585.  
  586. 'x' means that one sector can see the other.
  587.  
  588. Here A can't see B,C and D because line #1 is right to left
  589. look through. D can't see A because of the one way block.
  590. (If A were connected to more sectors to the left they wouldn't
  591.  be able to see B,C,D either, and D wouldn't be able to see them.
  592.  only B and C would be able to see everything).
  593.             
  594.             5.13 PERFECT
  595.  
  596. Syntax: Perfect
  597.  
  598. When the perfect option is given, RMB will use more time
  599. to find sectors, that can't see each other. Without the
  600. perfect option all internal sectors 
  601. (Sectors lying totally inside another sectors)
  602. will be able to see the same thing as the sector surrounding them.
  603. (Sectors that has a 1s linedef in them can't be internal sectors.)
  604.  
  605. This means that without the perfect option internal sectors won't
  606. be processed. This means that SAFE, BLIND, BLOCK and ONE options that
  607. uses internal sectors, or lines adjacent to internal sectors won't 
  608. be processed correctly! (They won't be processed at all)
  609. The good part about this is, that if you have a room with
  610. some decoration (Chairs, ...) generated by internal sectors,
  611. you can refer to all sectors in this room by using the sector number
  612. of the surrounding sector (the room).
  613.  
  614. However if you have made a chair, and want the player 
  615. to be safe when standing on it, you have to use the 'Perfect' option.
  616. (and of course the safe option for the sector).
  617.  
  618. Unfortunately the 'Perfect' option means that all sectors are
  619. generated perfectly. There is no way you can specify that only
  620. a part of the map should be perfect.
  621.  
  622. This might come in the next version, if I ever get around to that :-)
  623. (The next version is out in two weeks as they say from ID soft :)
  624.  
  625.             5.14 REPORT
  626.  
  627. Syntax: Report <Distance>
  628.  
  629. If the report option is used a file with the same name as
  630. the WAD file but with '.RPT' extension is generated.
  631. This file contains all pairs of sectors that can see each other
  632. and lies at a distance greater than the given distance.
  633. Using a REPORT factor greater than the LENGTH factor is waste
  634. of time. It's a good idea to use the report with a distance equal
  635. to the length factor like this.
  636.  
  637.    LENGTH 18
  638.    REPORT 18
  639.  
  640. This will give you all pairs of sectors that lies at distance 18.
  641. Often these sectors will be very far apart, and maybe the line of sight
  642. is blocked by a lot of doors on the way. In that case maybe
  643. It's an idea to make a BLOCK around the doors.
  644.  
  645. (normally It's impossible to open more than 3 doors before the
  646.  first door closes. This means that it's
  647.  normally safe to place a block around 4 doors
  648.  BLOCK <1st line of 1st door> <last line of 4th door>
  649.  maybe you can even make a block around two or three doors.
  650.  That depends on how fast the player can get to the next door
  651.  to open it.
  652.  However remember that monsters can open doors... :)
  653.  
  654.             5.15 RIGHT
  655.  
  656. Syntax: Right <Line no>
  657.  
  658. Right makes a two sided line that can only be looked
  659. through by monsters right to left. (See also left)
  660.  
  661.             5.16 SAFE
  662.  
  663. Syntax: Safe <Distance> <Sector list>
  664.  
  665. Safe means that monsters has to get close to you to
  666. see you while you are in one of the safe sectors.
  667. If you use 'safe 0 <sectors>' they can't see you even
  668. if they are in the same sector as you.
  669. 'safe 1 <Sectors>' means that monsters can only see you
  670.    if they are in your sector.
  671. 'safe 2 <Sectors>' means the monsters can only see you
  672.    if they are in a neighbouring sector or in your sector.
  673. 'safe <dist> <Sectors>' means that monsters can only see you
  674.    if they are closer than <dist>. (if the number of 2s lines 
  675.    between you and them is less than (or equal to) dist-1).
  676.  
  677. ----------------    5.17 Combining Options   ----------------
  678.  
  679. If you combine options like INV SAFE and SAFE
  680. for the same sector different things can happen.
  681. In this section all references will be to the following map:
  682.  
  683.    |-----|-----|-----|-----|-----|-----|-----|-----|
  684.    |     :     :     :     :     :     :     :     |
  685.    |  1  :  2  :  3  :  4  :  5  :  6  :  7  :  8  |
  686.    |     :     :     :     :     :     :     :     |
  687.    |-----|-----|-----|-----|-----|-----|-----|-----|
  688.  
  689. (all numbers are sector numbers)
  690.  
  691. if the distance in INV SAFE is greater than the distance
  692. in SAFE like:
  693.  
  694.    Safe 2 1
  695.    Inv Safe 4 1
  696.  
  697. both sectors with a distance below 2 and a distance
  698. above 4 can see sector 1.
  699. (that is monsters in sectors 1,2,5,6,7 and 8 can see sector 1)
  700.  
  701. if the distance in INV SAFE is less than the distance
  702. in SAFE like:
  703.  
  704.    Safe 4 1
  705.    Inv Safe 2 1
  706.  
  707. only sectors with a distance above 2 and a distance
  708. below 4 can see sector 1.
  709. (that is monsters in sectors 3 and 4 can see sector 1)
  710.  
  711. For BLIND the same rules apply:
  712.  
  713. if the distance in INV BLIND is greater than the distance
  714. in BLIND like:
  715.  
  716.    Blind 2 1
  717.    Inv Blind 4 1
  718.  
  719. both sectors with a distance below 2 and a distance
  720. above 4 can be seen from sector 1.
  721. (that is a monster in sector 1 can see you if you are in
  722.  one of the sectors 1,2,5,6,7 or 8)
  723.  
  724. if the distance in INV BLIND is less than the distance
  725. in BLIND like:
  726.  
  727.    Blind 4 1
  728.    Inv Blind 2 1
  729.  
  730. only sectors with a distance above 2 and a distance
  731. below 4 can be seen from sector 1.
  732. (that is a monster in sector 1 can see you if you are in
  733.  one of the sectors 3 or 4)
  734.  
  735. -----------------    6. Multilevel wads    ------------------
  736.  
  737. You have already seen in the previous sections how to handle
  738. multilevel wads together with the inspect and effect utilities.
  739. But what about the option file. Making a option like
  740.     
  741.     LEFT 311
  742.  
  743. in the option file doesn't mean that you want this option
  744. to work for all levels in a multilevel wad.
  745. (line number 311 in one level has got nothing to do with 
  746.  line number 311 in another level...)
  747.  
  748. To make options that only apply to a specific level you can
  749. add lines of the form "EnMx" to the options file.
  750.  
  751. example:
  752.     # This is an example of a multilevel option file.
  753.     #
  754.     # The first lines are the default options.
  755.     # These options will be used if RMB is called without
  756.     # the EnMx parameter, or if there is no matching EnMx
  757.     # in the options file.
  758.     length 17
  759.     Distance 600
  760.  
  761.     # Now comes the options used to process E1M1:
  762.     E1M1
  763.     # ^ This marks the end of the defaults, and the beginning
  764.     #   of the options that apply to e1m1.
  765.     Length 17
  766.     Distance 800
  767.     Left 311
  768.     Right 217
  769.  
  770.     E1M2
  771.     # ^ Here stops the options for episode 1 mission 1,
  772.     #   and options for episode 1 mission 2 starts.
  773.     Length 14
  774.     Report 14
  775.     Block 23 56
  776.  
  777.     # If RMB is called with a mission that is not in the options
  778.     # file e.g. "e1m3", the default options at the beginning of
  779.     # the file are used.
  780.     # Otherwise RMB will search the options file until
  781.     # it finds the correct EnMx, and then it will process
  782.     # the options until it meets the next EnMx, where it stops.
  783.     # Therefore it doesn't work if you write E1M2 (example) 
  784.     # more than once in an options file. (at least whats after the
  785.     #  second E1M2 will never be processed).
  786.  
  787. Remember that if you want the options after any EnMx to be processed
  788. instead of the default options in the beginning, you must give
  789. the EnMx parameter to RMB. e.g.
  790.  
  791.    rmb c:\wadfiles\starwar2.wad c:\wadfiles\starwar2.wad e1m1
  792.  
  793. For wads containing only one level, you can just use the default options
  794. without worry.
  795.  
  796. -----------------    7. Copyright notice   ------------------
  797.  
  798. Copyright:
  799. This program is totally free of charge. 
  800. The program may be freely distributed.
  801. However the program or parts of it may NOT be used 
  802. for commercial purposes or be included in commercial packages.
  803. (this includes shareware releases).
  804.  
  805. Other notes:
  806. Doom is an Id software product, and is not free of charge.
  807.  
  808. All wads mentioned in this text are not mine, and all credit
  809. for these wads should go to the respective authors
  810.  
  811. ---------------  8. Authors note   ---------------------------
  812.  
  813. I am a 23 year old student at the university in Aarhus, Denmark.
  814. Any speling mislakes and semantic other errors has been
  815. introduced because of my lack of knowledge about the English 
  816. language 8^)
  817.  
  818. I use DEU5.21 and IDBSP for my own WADS.
  819. It is a good thing to use a rule checker like the one in DEU5.21
  820. before using this program!
  821.  
  822.     Jens Hykkelbjerg
  823.     Email: hykkelbj@daimi.aau.dk
  824.