home *** CD-ROM | disk | FTP | other *** search
/ WADS of WADS / WadsOfWads.1994.zip / TEXT / LINTYP10.TXT < prev    next >
Text File  |  1994-05-20  |  17KB  |  410 lines

  1.  
  2.               LINE TYPES
  3.              ************
  4.  
  5.   This file is written by Brian McKimens (samneric@connected.com)
  6.   dmspec13 is written by Matt Fell (matt.burnett@acebbs.com)
  7.      and distributed by Hank Leukart (ap641@cleveland.freenet.edu)
  8.   DEU 5.1 is written by Raphael Quinet (quinet@montefiore.ulg.ac.be)
  9.            and    Brendon J. Wyber (b.wyber@csc.canterbury.ac.nz)
  10.  
  11.  
  12.     Following is a list of LINE TYPES available for wad editing.
  13. I hope this information will allow you to better design levels.
  14.  
  15.     I gathered this information from dmspec13 and from experiments with
  16. DEU 5.1 to determine the actual effects of the line types.  I found numerous
  17. errors in the descriptions in DEU 5.1 and many omissions in the descriptions
  18. in dmspec13.  I just started to figure out what 1 particular type did.    In
  19. the course of experimenting, I was able to determine what other line types
  20. actually do and to fill-in a large part of the missing descriptions.  Newly
  21. discovered line types are preceeded by an asterisk (*).     I don't pretend
  22. that this is error-free, but in as many cases as possible, I tested those
  23. line types that I DID test under as many different conditions as needed to
  24. feel secure in the description.     If you find errors, please e-mail me and
  25. be sure to include a GOOD description of the discrepency (hopefully, a
  26. zipped, binary wad containing NO MORE THAN NECESSARY to run and illustrate
  27. the condition!).  There are still line types not defined, and they are listed
  28. at the end of this file.  There are also sector types (2) not defined yet
  29. and some of these line types may behave differently when tagged to those
  30. type of sectors.  Who knows?...     A bottle of Murine to whoever figures out
  31. what these undefined sector and line types do!
  32.  
  33.     DEU 5.1 allows use of these new and corrected types to be inserted
  34. manually by entering a decimal number for the line type by hand.  It allows
  35. you to insert a number up to 255, but the known line types at this time only
  36. range from 0-104.  Dmspec13 refers to a line type of -1 that occurs in E2M7
  37. in one room. Since this doesn't "appear" to have a function in the room that
  38. uses it (on every major wall, I might add), I'm gonna consider it a bug for
  39. ID to squash when they get around to it.  Like that Sargeant stuck between
  40. walls, and the Spectre stuck TO a wall, in E1M6.  At least until someone
  41. come up with a purpose for it.
  42.  
  43.    LINE TYPE is a term that refers to an effect that can be triggered by
  44. an ACTION on the related linedef.  The word "function" might better describe
  45. TYPE than "type" does.    The DOOM engine calls certains functions when the
  46. linedefs are activated by shooting, crossing, or butting up next to them
  47. and hitting the spacebar.  ID isn't likely to release their source code, but
  48. we can experiment and discover "what happens" when we set a linedef to a
  49. certain TYPE and then activate it.  This is what dmspec13 contains - results
  50. of experiments performed on wads to see what happens.  This file is just a
  51. continuation of the efforts of other people to unravel the "secrets" that the
  52. mighty DOOM engine hides...
  53.  
  54.     I use some terms in this file that I have not seen used before to
  55. describe the line types or the sectors that they affect, so I will define
  56. them as I go.  The first two that I'll introduce refer to the relationship of
  57. two sectors that share one or more linedefs.
  58.     Such sectors are ADJACENT.  All sectors are also adjacent to
  59. themselves, as they share linedefs (sidedefs even!) with themselves.
  60. Sectors A & B below are adjacent, as are C & D, E & F.    Sector E can also
  61. be said to CONTAIN sector F.  Sector F shares all of it's lindefs, but
  62. with only one sector (E).  CONTAIN is a term that figures into the operation
  63. of line type #9 (a floor-affecting line type).
  64.           ___________      ___________     ___________
  65.          |         |    |          |    |        |
  66.          |         |    |         D      |    |   ___     E  |
  67.      ____|       B     |    |____      |    |  | F |    |
  68.     | A  |         |    | C  |      |    |  |___|    |
  69.     |____|___________|    |____|______|    |___________|
  70.  
  71. In describing the floor effects, dmspec13 used the term "neighbor" ("ne.").
  72. This term was also echoed by the authors of the various editors.  The problem
  73. with this term is that it implies that a neighbor to sector #X can not be
  74. sector #X itself.  When the DOOM engine looks for the Lowest Adjacent Ceiling
  75. to raise a floor up to, it may find that the LAC is the ceiling belonging
  76. to the same sector as the rising floor.     If it stops 8 below the LAC in this
  77. instance, it will be 8 below it's own ceiling.    If we can adopt these or
  78. similar terms, then describing effects of certain linetypes will be easier.
  79.  
  80.   ----------------
  81.  
  82. Following are the terms used in the descriptions of line types:
  83.  
  84.  DEC#
  85.  ****    Decimal number of the line type.
  86.  
  87.  ACT.
  88.  ****    Activated by.  This indicates what will activate the effect.
  89.    S 1    -  Switch activated.  Not repeatable.
  90.    S R    -  Switch - repeatable after sector is reset.
  91.    S X    -  Switch - repeatable without requiring sector reset.
  92.        (use of this linetype is not recommended)
  93.    W 1    -  Walking across line activates.  Not repeatable.
  94.    W R    -  Walking - repeatable after sector reset.
  95.    W X    -  Walking - repeatable without requiring resetting.
  96.        (use of this linetype is not recommended)
  97.    G 1    -  Gun activated. (Shoot at or through line to activate)
  98.  
  99.  EFFECT
  100.  ******     What happens to the involved sector when triggered by the linedef.
  101.  
  102.  EFFECT     Terms:
  103.  
  104.    HAC    -  Highest Adjacent Ceiling
  105.    LAC    -  Lowest Adjacent Ceiling
  106.    HAF    _  Highest Adjacent Floor
  107.    LAF    -  Lowest Adjacent Floor
  108.    NAF    -  Numeric Adjacent Floor.  This is the floor of the adjacent
  109.        sector that shares the lowest numbered linedef of the tagged
  110.        sector.
  111.    NUMERIC CHANGE - defined before the section on floors
  112.    TRIGGER CHANGE - defined before the section on floors
  113.  
  114.  
  115.  DEC#  ACT.  EFFECT
  116.  ****  ****  ******
  117.   0    - -   Normal (used to indicate no special handling of linedef)
  118.  
  119.  -----------
  120.  
  121.     DOORS   These are actually ceiling effects, as doors are just ceilings
  122.         that are raised and lowered to allow access to the sectors
  123.         lying beyond them.    I'm grouping them separately since designers
  124.         put "doors" in wads, not "ceilings with specific behaviors".
  125.  
  126.  
  127.   LOCAL DOORS - sectors bound to 2nd sidedef of activating linedef.
  128.         (activated at door surface)
  129.  
  130.  DEC#  ACT.  EFFECT
  131.  ****  ****  ******
  132.   1    S R   Open door. Closes in 6 secs
  133.   26   S R   Open door. Closes in 6 secs. Blue key
  134.   27   S R   Open door. Closes in 6 secs. Yellow key
  135.   28   S R   Open door. Closes in 6 secs. Red key
  136.   31   S 1   Open door. Stays open
  137.   46   G 1   Open door. Stays open
  138.   32   S 1   Open door. Stays open      Blue key
  139.   33   S 1   Open door. Stays open      Yellow key
  140.   34   S 1   Open door. Stays open      Red key
  141.  
  142.  
  143.   REMOTE DOORS - sectors tagged by activating linedef.
  144.          (remotely activated at wall switches, walk-over lines)
  145.  
  146. (* indicates not in dmspec13 and unavailable in editor menus at this time.)
  147.  
  148.  DEC#  ACT.  EFFECT
  149.  ****  ****  ******
  150.   103  S 1   Open door. Stays open
  151.   61   S R   Open door. Stays open
  152.   2    W 1   Open door. Stays open
  153.   86   W R   Open door. Stays open
  154.   29   S 1   Open door. Closes in 6 seconds
  155.   63   S R   Open door. Closes in 6 seconds
  156. * 4    W 1   Open door    Closes in 6 seconds
  157.   90   W R   Open door. Closes in 6 seconds
  158. * 50   S 1   Close door
  159.   42   S R   Close door
  160.   3    W 1   Close door
  161.   75   W R   Close door
  162.   16   W 1   Close door for 30 seconds
  163.   76   W R   Close door for 30 seconds
  164.  
  165.   ----------------------
  166.  
  167.        CEILINGS
  168.  
  169.  DEC#  ACT.  EFFECT
  170.  ****  ****  ******
  171.   40   W 1   Raise to HAC
  172.  
  173.   41   S 1   Lower to own floor
  174. * 43   S R   Lower to own floor
  175. * 49   S 1   Lower to 8 above own floor.
  176.   44   W 1   Lower to 8 above own floor
  177. * 72   W R   Lower to 8 above own floor
  178.  
  179. * 25   W 1   Start fast crushing ceiling. Fast crush. Slow damage
  180. * 6    W 1   Start fast crushing ceiling. Fast crush. Fast damage
  181.   77   W R   Start fast crushing ceiling. Fast crush. Slow damage
  182.   73   W R   Start slow crushing ceiling. Slow crush. Fast damage
  183. * 57   W 1   Stop crushing ceiling
  184.   74   W R   Stop crushing ceiling
  185.  
  186.   ------------------
  187.  
  188.        FLOORS
  189.  
  190. Floor-affecting types trigger effects best described as RAISE, LOWER, GOTO.
  191. There are also types affecting MOVING FLOORS, LIFTS, and STAIRS, but I'm
  192. treating these as separate cases since most designers view these as complete
  193. entities - much the same as doors are considered separate from ceilings,
  194. even though door actions are actually ceiling actions.
  195.  
  196. RAISE types will move the floor up, either until a given numerical distance
  197. has been traveled, or until it reaches a position relative to an adjacent
  198. floor or ceiling.  RAISE types should not be used if the relative position
  199. is, or can be relocated to, BELOW the floor before triggering.
  200.  
  201. LOWER types will move the floor only to positions relative to an adjacent
  202. floor or ceiling.  LOWER types should not be used if the relative position
  203. is, or can be relocated to, ABOVE the floor before triggering.
  204.  
  205. The GOTO type is a term not used before.  GOTO raises OR lowers the floor to
  206. a given height or location.  Many of the earlier descriptions referred to
  207. RAISE or LOWER types only, because the floors that were studied to find the
  208. resulting actions were set below or above the GOTO destination already.
  209. GOTO types are useful when multiple sectors are tagged together, each having
  210. a different height.  Each will move in whatever direction is required to
  211. end up at the same height.
  212.  
  213.            SPECIAL NOTE
  214.            ************
  215.  
  216. Some floor types also cause the tagged sector to change floor texture and
  217. "damage" trait to that of a 2nd sector (MODEL sector, for lack of a better
  218. term). There are 2 different models involved in the changes.  A TRIGGER model
  219. is the sector that is bound to the first sidedef of the triggering linedef.
  220. A NUMERIC model is the adjacent sector sharing the LOWEST NUMBERED LINEDEF
  221. comprising the tagged sector.  These are referred to in the EFFECTS column
  222. below as either TRIGGER CHANGE or NUMERIC CHANGE.  In either case, the tagged
  223. sector takes on the floor texture of the model sector.    In the case of the
  224. NUMERIC CHANGE a second trait is also passed to the tagged sector - the
  225. ability to do health damage.  This was previously considered to be a passing
  226. of the SECTOR TYPE from the model to the tagged sector, but that is not the
  227. case.  The sector type also describes light characteristics, but these are
  228. not passed to the tagged sector.  A TRIGGER CHANGE also appears to "lock-out"
  229. any further changes to a sector by any linedef tagged to it.
  230.  
  231. I refer to the floor of a Numeric model as an NAF - Numeric Adjacent Floor.
  232. Dmspec13 referred to the change as "matching", but it also used that term to
  233. describe a RAISE or LOWER destination height.  I will try to avoid the term,
  234. as its meaning has already been muddied.
  235.  
  236. One notable line type involving floors:
  237.  
  238. Line type #9 is recognizable as the switch to activate the chainsaw pillar
  239. in E1M2.  The tagged sector (pillar) moves in GOTO mode to its NAF (Numeric
  240. Adjacent Floor) comprised of the acid pool surrounding it.  (If the acid
  241. pool is the tagged sector and the pillar shares its lowest numbered linedef,
  242. the pool will GOTO the level of the pillar.  You can turn off clipping and
  243. climb up to it and still be harmed by the acid.)  But in this case, the pillar
  244. is tagged, so it moves to the floor level of the acid pool sector.  Note
  245. that the pillar is CONTAINED by its NAF sector, as all of its linedefs are
  246. shared by the acid pool.  Because of this, a second condition sets in -
  247. the acid pool "GOesTO" >its< NAF and undergoes a NUMERIC CHANGE, assuming
  248. the same floor texture and damage trait (no longer damaging to health).
  249. The acid pool is contained by its own NAF in this case, but that is not
  250. required for the second step to occur.    The pool would move to its NAF even
  251. if stuck in a corner, as long as the lowest numbered linedef bounding the
  252. acid pool is a TWO-SIDED LINEDEF.  The primary NAF sector (the acid pool)
  253. does NOT consider the tagged sector (the pillar) to contain its NAF.  It
  254. looks elsewhere, EVEN IF its lowest numbered linedef is shared with the
  255. tagged sector.    The acid pool finds its NAF among its other shared linedefs.
  256.  
  257. There is a bug I found.     If the acid pool's lowest numbered linedef is a
  258. ONE-SIDED linedef, the pillar and acid pool floors both GOTO a height of 34,
  259. and the acid pool turns from NUKAGEn to TLITE6_6 - the last one on the list.
  260. (Probably from a function returning a pointer to it after being passed junk.)
  261. Since ID doesn't make this mistake, you would do well to emulate them.
  262.  
  263. One last note on this line type - If the tagged sector's lowest numbered
  264. linedef is ONE-SIDED, it is considered to have no NAF, and nothing happens.
  265.  
  266.  
  267.      FLOORS
  268.  
  269.  DEC#  ACT.  EFFECT
  270.  ****  ****  ******
  271.   18   S 1   Raise to next-higher floor
  272. * 69   S X   Raise to next-higher floor
  273.   5    W 1   Raise to next-higher floor
  274.   20   S 1   Raise to next-higher floor      TRIGGER CHANGE
  275. * 68   S 1   Raise to next-higher floor      TRIGGER CHANGE
  276.   22   W 1   Raise to next-higher floor      TRIGGER CHANGE
  277. * 95   W 1   Raise to next-higher floor      TRIGGER CHANGE
  278. * 47   G 1   Raise to next-higher floor      TRIGGER CHANGE
  279. * 101  S 1   Raise to LAC
  280. * 64   S R   Raise to LAC
  281. * 24   G 1   Raise to LAC
  282. * 55   S 1   Raise to 8 below LAC   CRUSH
  283. * 65   S R   Raise to 8 below LAC   CRUSH
  284. * 94   W 1   Raise to 8 below LAC   CRUSH
  285.   56   W 1   Raise to 8 below LAC   CRUSH
  286.   58   W 1   Raise 24
  287. * 92   W X   Raise 24
  288. * 15   S 1   Raise 24    TRIGGER CHANGE
  289. * 66   S X   Raise 24    TRIGGER CHANGE
  290.   59   W 1   Raise 24    TRIGGER CHANGE
  291. * 93   W X   Raise 24    TRIGGER CHANGE
  292.   14   S 1   Raise 32    TRIGGER CHANGE
  293. * 67   S X   Raise 32    TRIGGER CHANGE
  294.   30   W 1   Raise 128
  295. * 96   W X   Raise 128
  296.  
  297.   23   S 1   Lower to LAF
  298. * 60   S R   Lower to LAF
  299.   38   W 1   Lower to LAF
  300.   82   W R   Lower to LAF
  301.   37   W 1   Lower to LAF   NUMERIC CHANGE
  302. * 84   W R   Lower to LAF   NUMERIC CHANGE
  303.  
  304.   91   W R   Goto LAC
  305.   102  S 1   Goto HAF
  306. * 45   S R   Goto HAF
  307.   19   W 1   Goto HAF
  308. * 83   W R   Goto HAF
  309. * 71   S 1   Goto 8 above HAF
  310.   70   S R   Goto 8 above HAF
  311.   36   W 1   Goto 8 above HAF
  312.   98   W R   Goto 8 above HAF
  313.  
  314.   This next one is a bit involved.  Explained further above.
  315.   Example: switch activating pillar with chainsaw in E1M2.
  316.  
  317.   9    S 1   {
  318.          Goto NAF1;
  319.            IF (contained by NAF1) {
  320.            NAF1 Goto its own NAF2 and undergo NUMERIC CHANGE;
  321.            }
  322.          }
  323.  
  324.  
  325.  
  326.       FLOORS USED AS LIFTS
  327.  
  328.  DEC#  ACT.  EFFECT
  329.  ****  ****  ******
  330.   21   S 1   Lower quickly for 3 seconds, then return
  331.   62   S R   Lower quickly for 3 seconds, then return
  332.   10   W 1   Lower quickly for 3 seconds, then return
  333.   88   W R   Lower quickly for 3 seconds, then return
  334.  
  335.  
  336.       MOVING FLOORS
  337.  
  338.  DEC#  ACT.  EFFECT
  339.  ****  ****  ******
  340. * 53   W 1   Start moving floor
  341.   87   W R   Start moving floor
  342. * 54   W 1   Stop moving floor
  343.   89   W R   Stop moving floor
  344.  
  345.   ------------------------------------------
  346.  
  347.   From here on down, with the exception of those types marked with
  348.   an asterisk (*) and those as yet undefined, I didn't experiment
  349.   with these line types.  Most of the descriptions are unchanged from
  350.   how they appear in dmspec13.
  351.  
  352.  
  353.       STAIRS
  354.  
  355.  DEC#  ACT.  EFFECT
  356.  ****  ****  ******
  357.   7    S 1   Staircase rises up from floor in appropriate sectors.
  358.   8    W 1   Stairs
  359.  
  360.  
  361.      END LEVEL
  362.  
  363.  DEC#  ACT.  EFFECT
  364.  ****  ****  ******
  365.   11   S -   End level. Go to next level.
  366.   51   S -   End level. Go to secret level 9.
  367.   52   W -   End level. Go to next level
  368.  
  369.  
  370.      TELEPORT
  371.  
  372.  DEC#  ACT.  EFFECT
  373.  ****  ****  ******
  374.   39   W 1   Teleport to sector. (Only ONE sector per tag #)
  375.   97   W R   Teleport to sector. (Only ONE sector per tag #)
  376.  
  377.  
  378.      LIGHT LEVELS
  379.  
  380.  DEC#  ACT.  EFFECT
  381.  ****  ****  ******
  382.   13   W 1   Brightness goes to 255
  383. * 17   W 1   Change light to blink - 1 sec.
  384.   104  W 1   Light drops to lowest light level amongst neighbor sectors
  385.   35   W 1   Light drops to 0.
  386. * 79   W R   Light drops to 0.
  387.   80   W R   Brightness to maximum neighbor light level
  388.  
  389.  
  390.      MISCELLANEOUS
  391.  
  392.  DEC#  ACT.  EFFECT
  393.  ****  ****  ******
  394.   48   - -   Animated, horizontally scrolling wall texture (right to left)
  395.          (This is an non-triggered condition affecting only how the
  396.            wall texture is painted onto the sidedef.)
  397.  
  398.  
  399.      STILL UNKNOWN AT THIS TIME
  400.  
  401.   12 - affects light level
  402.   78
  403.   81
  404.   83
  405.   84
  406.   85
  407.   99
  408.   100
  409.  
  410.