home *** CD-ROM | disk | FTP | other *** search
/ Action Ware 12: Heretic & Hexen / actionware12.iso / acware12 / editors / heth185 / zennode / zennode.doc < prev   
Encoding:
Text File  |  1996-02-12  |  9.3 KB  |  188 lines

  1.  
  2.          ZenNode - Possibly the fastest DOOM(tm) BSP builder yet.
  3.  
  4.            Version 0.98a by Marc Rousseau (rousseaum@pictel.com)
  5.  
  6.  
  7. BACKGROUND:
  8.  
  9.     After playing around with a few level editors for DOOM, I noticed that
  10. most of them took a long time to build the NODES structure.  Even worse, some
  11. of them built NODES that didn't work!  So, I decided I'd try writing a
  12. NODES builder that 1) built valid NODES and 2) built them FAST.  Well, after
  13. a month or two of fooling around, ZenNode is here.  I believe both objectives
  14. have been reached.  I've compared it to several other NODES builders out there
  15. and it blows them all away!  It's written entirely in C/C++ ( actually the 
  16. OS/2 version now has two routines in assembly ).  It could probably be sped up
  17. with a little assembly code ( or a better optimizing compiler ).
  18.  
  19.     This .ZIP file contains essentially a beta of ZenNode.  I'm still working
  20. on a few more features, but it is a fully functional NODES builder for DOOM
  21. .WAD files.  ZenNode will rebuild either a single level or all the levels in
  22. a .WAD file.  This version will accept either DOOM, DOOM II, Heretic, and/or 
  23. HEXEN .WADs.  Try it out.  Let me know what you think.
  24.  
  25.  
  26. DESCRIPTION:
  27.  
  28.     ZenNode will read the level description from a .WAD file and create either
  29. a new BLOCKMAP resource, REJECT resource, and/or NODES/SEGS/SSECTOR resources.
  30. Levels in a .WAD may be specified on the command line, or, if none are 
  31. specified, all of the maps in a .WAD will be rebuilt.
  32.  
  33.     As it completes a resource, ZenNode will print some information indicating
  34. the results.  When a BLOCKMAP is completed, it will display the new/old size 
  35. of the block map and a percentage of the block map that is actually used by
  36. the map.  After it rebuilds the BSP tree, it will display the number of new/
  37. old NODES and SEGS that it created along with the original numbers.
  38.  
  39.  
  40. NEW FEATURES:
  41.  
  42. Version 0.98:
  43.  
  44.     ZenNode will now build a REJECT resource!  Given a valid .wad file,
  45. ZenNode will conduct a complete set of line-of-sight (LOS) calculations for 
  46. every sector in the map.  There are several methods currently in use to create
  47. a REJECT resource: distance, # of intervening sectors, sampling, and 'perfect'
  48. testing.  The first two base the results solely on distances without regards
  49. to solid walls and LOS but are relatively fast.  The third tests several points
  50. along two linedefs and bases it's decision on the results.  This results in a
  51. more accurate resource than the first two methods, but may miss a valid LOS if
  52. the test points aren't chosen correctly or too few are used.  However, if more
  53. points are used, the slower this method runs ( it slows down exponentially as
  54. the number of test points increases ).  The fourth is the most accurate ( and 
  55. the one used in ZenNode ).  It attempts to look at all intervening solid lines
  56. and find a LOS if one exists.  This exhaustive test can be slow at times, but
  57. as usual, things may speed up in the future... ;)
  58.  
  59.  
  60. Version 0.97a:
  61.  
  62.     IMPORTANT BUG FIX:  ZenNode now handles the case where a fully qualified 
  63. pathname to the input .WAD is specified on the command line for a .WAD file in
  64. the current directory.  Previous versions would not handle this case properly 
  65. and would create invalid .WAD files.
  66.  
  67.  
  68. Version 0.97:
  69.  
  70.     You can now extract the maps to a new PWAD file.  From the command line, 
  71. use the /x switch to indicate that the specified levels are to be extracted to
  72. a seperate PWAD file.  This feature can be used to extract any map(s) without
  73. modifing them by turning off all the other options ( ie: /b-/n- ).
  74.  
  75.     The default settings for the /n2 option have been changed.  The new values
  76. are: y1=1, y2=7, y3=0, y4=1.
  77.  
  78.     You can now set all your favorite command-line settings in a configuration
  79. file.  When ZenNode starts, it looks for a file called ZenNode.cfg.  It will
  80. look in the current directory, then in the directory where the ZenNode.exe file
  81. is located.  If one is found, it's contents overide the normal default values.
  82. Then, actual command-line parameters are checked.
  83.  
  84.     Improved support for special effects.  By using a customization file, you
  85. can now add virtually any special effect to a .wad file.  See custom.doc for
  86. a more detailed description of how to use the customization file.  A sample
  87. .wad file has been included showing a variety of special effects and a custom
  88. file demonstrating how to get all the effects in the .wad to work.  For more
  89. information regarding this .wad file and a description of how to create all
  90. the effects ( and more ) check out:
  91.  
  92.     spcial12.zip by Jens Hykkelbjerg it can be found at:
  93.  
  94.         ftp://ftp.luth.se/pub/doom/docs/editing/spcial12.zip
  95.         ftp://ftp.cdrom.com/pub/doom/docs/editing/spcial12.zip
  96.  
  97.  
  98. Version 0.96:
  99.  
  100.     Support for 'special effects' has been improved.  Using the /nu switch, 
  101. you can affect the creation of sub-sectors.  What this means ( for those of
  102. you who don't know/care what a sub-sector is ) is that you can get most of
  103. the special effects to work in your .WAD file.  By default all sub-sectors
  104. are unique.  This works with most special effects ( ie: deep-water, invisible
  105. stairs, ... ).  If the effect you're trying to achieve doesn't work, try
  106. turning off this feature with /nu-.  This works for other effects, such as
  107. light striking a wall from no visible source ( different sector ).
  108.  
  109.     For those of you who think ZenNode is too slow <g>, there's a new method 
  110. for partitioning available for you!  Both of the existing algorithms examine
  111. every valid segment to see if they should be used as the partition for a node.
  112. Examining every segment can slow things down, so if you really can't wait, if
  113. ZenNode is way too slow for you, try the new algorithm.  It only looks at a
  114. small sub-set of segments instead ( saving you valuable seconds that could be
  115. used testing your new .WAD ).
  116.  
  117.     You can now 'customize' ZenNodes partitioning logic!  The formula used to
  118. determine the merit of a particular SEG is now user adjustable.  You can now
  119. set the four coefficients used in the calculation.  If you don't like the
  120. way ZenNode picks lines, or you just want to experiment, now you can actually
  121. do something about it.  The metric formula used is:
  122.  
  123.     metric = ( L * R ) / ( x1 * S / x2 ) - ( x3 * S + x4 ) * S;
  124.  
  125. Where L, R, and S represent the # of SEGS to the left, right, and split by the
  126. candidate SEG.  Checks are made to avoid division by zero.  The programmable 
  127. values x1, x2, x3, and x4 can be modified by setting the environment variables
  128. ZEN_X1, ZEN_X2, ZEN_X3, and ZEN_X4 respectively.  The default settings are: 
  129. x1=24, x2=5, x3=1, x4=25.  ( Older versions of ZenNode used the values x1=4
  130. or 5, x2=1, x3=0, x4=0 ).  Algorithm 2 also uses a similar set of variables, 
  131. ZEN_Y1, ZEN_Y2, ZEN_Y3, and ZEN_Y4, where L, R, and S represent sectors rather
  132. than SEGS.  The default settings are: y1=0, y2=1, y3=1, y4=5 ).  Have fun.
  133.  
  134.  
  135. Version 0.95:
  136.  
  137.     Support for Hexen has been added.  This has been largely untested, but a 
  138. quick test of the hexen.wad file seems to be working.  So, as soon as you get
  139. your favorite WAD Editor to support Hexen, ZenNode will be ready!
  140.  
  141.     ZenNode now offers two methods of partitioning your level.  The new method
  142. makes an attempt to minimize the average depth of the BSP tree.  This should
  143. make it slightly faster for the DOOM engine to render a screen, since it has
  144. to traverse fewer NODES each time.  The original method is still intact and
  145. attempts to minimize the number of splits made.  Currenty the new method has
  146. not been optimized for speed but it is still reasonably fast.
  147.  
  148.     BSPInfo has been included to allow you to gather information about how
  149. your node builders compare to each other.  You can see if one favors certain
  150. characteristics over others, or just get an overall feel for their performance.
  151.  
  152.  
  153. REQUIREMENTS:
  154.  
  155.    1) A machine capable of running DOOM - 386 or better with a few Meg of RAM
  156.    2) A supported operating:
  157.       a) OS/2 2.0 or higher
  158.       b) DOS ( v?.?? or higher - tested with 5.0 & 6.22 )
  159.       c) a Win32 platform ( Windows NT or Windows 9x )
  160.    3) A .WAD file
  161.  
  162.  
  163. ACKNOWLEDGMENTS:
  164.  
  165.        DOOM & DOOM II are trademarks of id Software, inc.,(C)1994.
  166.        Heretic & HEXEN were developed by Raven Software for id Software.
  167.  
  168.  ■ Thanks to the guys at id Software for creating DOOM.
  169.  ■ Thanks to Raven Software for putting out Heretic & Hexen.
  170.  ■ Matt Fell and everyone who helped put together the unofficial DOOM specs.
  171.    This program was written entirely from the descriptions in this file and
  172.    wouldn't have been possible without it.
  173.  ■ Jens Hykkelbjerg for permission to include spcial2b.wad and for creating
  174.    RMB - the only other REJECT builder I'm aware of that can generate a
  175.    'perfect' REJECT resource.
  176.  
  177.  
  178. DISCLAIMER:
  179.  
  180. I've tested the .WADs generated by ZenNode and haven't found any fatal errors
  181. or HOM (Hall-of-mirrors) side-effects from any level I've tested.  However,
  182. by using this program you assume all responsibility for lost/damaged files
  183. resulting from the use of a .WAD generated by ZenNode.  If you find a level
  184. that causes either an error in ZenNode, HOMs, or any other problem inside
  185. DOOM, DOOM II, Heretic, or Hexen please let me know.  ( Please indicate which
  186. ZenNode version you are using and what OS & version - ie: v0.97 running on 
  187. OS/2 v3.0 ).
  188.