home *** CD-ROM | disk | FTP | other *** search
/ The Doom Hacker's Guide / DoomHackersGuideCd.bin / editors / edmap / idbsp.txt < prev    next >
Text File  |  1994-11-26  |  10KB  |  213 lines

  1. -------------------------------------------------------------------------------
  2. Table of Contents
  3. -------------------------------------------------------------------------------
  4.  
  5. 1.0   Introduction
  6.   1.1   Standard Disclaimer
  7.   1.2   Copyright Notice
  8. 2.0   What's new in v1.1
  9.   2.1   Bug fixes
  10.   2.2   New features
  11. 3.0   Hints and tips for using IDBSP
  12. 4.0   Known bugs, limitations, etc.
  13.  
  14.  
  15. ------------------------------------------------------------------------------
  16. 1.0   Introduction
  17. ------------------------------------------------------------------------------
  18.  
  19. This is the documentation for IDBSP11.ZIP, version 1.1 of my port of id's BSP
  20. builder to DOS.  The package consists of two programs, IDBSP.EXE and
  21. WAD_DWD.EXE; full source for both is included.  Hopefully, the source is a
  22. little cleaner in this version, to contrast my uglieness in v1.0.
  23.  
  24. Programs are 32-bit DOS-extended, compiled with DJGPP v1.11m5.  The DOS extender
  25. (GO32) is prepended to the executable, so no support files (other than EMU387
  26. for those without a coprocessor) are required.  Both IDBSP and WAD_DWD should be
  27. able to handle the largest PWADs without problems, provided your machine has
  28. sufficient memory (real and virtual).
  29.  
  30. Send comments, requests, etc. to Ron Rossbach at ej070@cleveland.freenet.edu.  I
  31. usually respond within 2 days, except during extended absences from the net due
  32. to vacations, etc.  Please be patient!
  33.  
  34. Thanks go to (in no particular order):
  35.     - id Software, Inc.
  36.                 for developing DOOM and releasing their BSP source
  37.     - Matt Fell (matt.burnett@acebbs.com)
  38.                 for developing the Unofficial Doom Specs
  39.     - Colin Reed and Raphael Quinet (colin@argonaut.com and
  40.                                                                      quinet@montefiore.ulg.ac.be)
  41.                 for developing BSP, the first BSP builder
  42.     - Antony Suter (antony@werple.apana.org.au)
  43.                 for providing a "radius" value which corrects id's original "slime
  44.                 column" bug
  45.     - Gregg Anderson (cadman@krypton.mankata.msus.edu)
  46.                 Beta testing and encouragement
  47.  
  48. along with apologies for anyone I've missed.
  49.  
  50. 1.1   Standard Disclaimer
  51. ===============================================================================
  52.  
  53. This program is provided with NO WARRANTY, though I hope you will find it
  54. useful.  Use at your own risk.  You may not use this code to develop levels which
  55. work with the shareware version of DOOM.  I assume no responsibility or
  56. liability, direct or indirect, for the use, misuse, or abuse of this program.
  57. DOOM and DOOM 2 are registered trademarks of id Software, Inc.  IDBSP is not a
  58. product of id Software, Inc., and id will not provide support for this program.
  59.  
  60. It is illegal (not to mention immoral) to distribute the components of
  61. registered DOOM and/or DOOM 2 in either original or modified form.
  62.  
  63. 1.2   Copyright Notice
  64. ===============================================================================
  65.  
  66. IDBSP is copyright (c) 1994 by Ron Rossbach (ej070@cleveland.freenet.edu).  All
  67. rights reserved.  You are granted the following rights:
  68.  
  69.     -   You may modify and re-distribute the program, as long as you call it
  70.             something else, and give credit for IDBSP being the basis of your work.
  71.             This includes using the source in your own level editor or other
  72.             derivative work.  You may NOT distribute modified versions of this program
  73.             under its original name.  Submit any suggestions, bug fixes, etc. to Ron
  74.             Rossbach at ej070@cleveland.freenet.edu, and they will be included (with
  75.             full credit) in any future versions of IDBSP.
  76.  
  77.     -   You may distribute un-modified versions of the program, under its original
  78.             name, as long as you distribute the original zip file unmodified.  This
  79.             includes utility authors who wish to include IDBSP in their distributions,
  80.             CD-ROM publishers, etc. Simply include the IDBSP zip file in your
  81.             distribution, and all is well.
  82.  
  83.     -        If you modify and re-distribute the program, or use the program as a basis
  84.             for a derivative work, you must include the full source code of your work
  85.             (excluding any third-party libraries which prohibit the distribution of
  86.             their source) in your distribution.  This is to uphold the spirit of free
  87.             software and allow others to learn from your work.
  88.  
  89. You are encouraged to build upon this program in your own editors, subject
  90. to the conditions above.  If you would like rights in addition to those
  91. mentioned above, contact Ron Rossbach at ej070@cleveland.freenet.edu. (Don't
  92. worry, I'm not going to charge anything, I'd just like to be able to keep
  93. track of things, that's all....)
  94.  
  95. DOOMBSP.ZIP (id's Objective-C source for the BSP builder) and DOOM itself are
  96. copyright (c) 1993 by id Software, Inc.
  97.  
  98. -------------------------------------------------------------------------------
  99. 2.0   What's new in v1.1
  100. -------------------------------------------------------------------------------
  101.  
  102. Well, several things, actually, aside from the additional legalese and support
  103. for DOOM 2.
  104.  
  105. IDBSP v1.0 was a faithful port of id's original BSP builder, and as such,
  106. behaved differently than the other BSP builders that everyone had gotten used
  107. to.  It required rising staircases to have alternating sector tags as
  108. described in the Unoffical Specs, did not allow multi-extent sectors, and would
  109. align THINGS on a 16x16 grid.  IDBSP v1.1 corrects these while providing access
  110. to most original v1.0 behavior via command line parameters.
  111.  
  112. 2.1   Bug Fixes
  113. ===============================================================================
  114.  
  115. The following v1.0 bugs are fixed in v1.1:
  116.  
  117. - remove alignment of THINGS on a 16x16 grid.  Alignment is no longer available.
  118.  
  119. - a new EMU387 is provided, which actually works.
  120.  
  121. - v1.0 would print a message saying it was removing duplicate lines, while
  122.     leaving the lines in the level.  Now the lines really ARE removed when IDBSP
  123.   says they are.
  124.  
  125. - the "slime column" bug was fixed by using a value of 1.4143 in the radius
  126.     calculations in function PointOnSide (thanks to Antony Suter to contributing
  127.     this).  Use a radius of 2.0 to retain the original PointOnSide behavior.
  128.  
  129. - both WAD_DWD and IDBSP v1.0 had problems handling zero-length WAD resources,
  130.     like P_START.  This is fixed.
  131.  
  132. - WAD_DWD had a string overwrite bug.  This is fixed.
  133.  
  134. - WAD_DWD would choke on a NULL resource, which DEU likes to include as the
  135.     last entry in the WAD directory.  This is fixed.
  136.  
  137. 2.2   New Features
  138. ===============================================================================
  139.  
  140. IDBSP v1.1 includes the following new features:
  141.  
  142. - the DWD format has been further extended to include a "sectors:" section at
  143.     the beginning of each level.  DWD files created by WAD_DWD v1.0 will not work
  144.     with IDBSP v1.1.  An updated WAD_DWD is included, but since IDBSP v1.1 can
  145.     now use a WAD file as input, this extra step is no longer required.  The DWD
  146.     format IS useful for picking apart levels with a standard text editor, though.
  147.  
  148. - support for a selectable level of sector handling (see below)
  149.  
  150. -    support for DOOM2 (DOOM II, DOOM ][, DOOM HOE, or whatever)
  151.  
  152. - IDBSP can now use a WAD file as input, so the DWD step is not necessary (see
  153.     below)
  154.  
  155. - New command-line parameters:
  156.  
  157. The new command-line syntax is:
  158. "idbsp [-fullreject | -radius=x | -sectopt=x | -duplines | -trace] [-wad]
  159.     infile [outfile]"
  160.  
  161. Parameters may be included in any order, anywhere on the command line, with the
  162. exception of the -wad parameter.
  163.  
  164.     -fullreject
  165.             Includes all sectors in the REJECT calculations.  By default, small
  166.             sectors (less than 64x64) are excluded from these calculations.
  167.  
  168.     -radius=x
  169.             Specifies a new value for radius in the PointOnSide function.  Default is
  170.             1.4143, contributed by Antony Suter.  id's original default is 2.0.  A
  171.             radius of 2.0 will sometimes cause the "slime column" bug, while a radius
  172.             of 1.4143 usually fixes this bug but may cause some sectors to be
  173.             grouped incorrectly when used in conjunction with -sectopt=1.  Experiment
  174.       to find values that best suit your own levels.
  175.  
  176.     -sectopt=x
  177.       Selects the level of sector handling.  Valid values are 0 or 1.  A value
  178.       of 0 (the default) simply leaves sectors alone.  A value of 1 will
  179.       regroup sectors as in IDBSP v1.0.  "Regroup" means:  as sectors are read
  180.       in from the DWD (or WAD) file, any duplicates are removed; hence the need
  181.       for alternating sector tags on rising staircases when -sectopt=1.  This
  182.             yields an "intermediate" list of sectors.  The final sector list is built
  183.       by creating completely enclosed, single-polygon sectors by walking through
  184.       the SEG list.  Hence the lack of support for "multi-extent", or
  185.       multi-polygon, sectors when -sectopt=1.
  186.  
  187.   -duplines
  188.       Allows duplicate and zero-length linedefs to be retained in the WAD file.
  189.       By default, duplicate and zero-length linedefs are removed.  Note that
  190.       IDBSP will consider two linedefs to be duplicates if they are within 8
  191.       pixels of each other, due to floating point inaccuracy.
  192.  
  193.   -trace
  194.             Displays debugging and tracing information while IDBSP is running.
  195.  
  196.   -wad
  197.       Allows input directly from a WAD file, rather than a DWD file.  Default
  198.       is still a DWD file. This parameter must immediately proceed the name of
  199.       the WAD file on the command line.  For example:
  200.  
  201.       "idbsp -wad input.wad -radius=2.0 output.wad"
  202.  
  203. -------------------------------------------------------------------------------
  204. 3.0   Hints and Tips for using IDBSP
  205. -------------------------------------------------------------------------------
  206.  
  207. 1)  IDBSP reports removal of duplicate lines, but the lines aren't duplicated,
  208.     just real close together.......solution? Run IDBSP with the -duplines
  209.     parameter to suppress the removal of duplicate and zero-length lines.
  210.     IDBSP thinks that any lines within 1 map unit (4 pixels) of each other are
  211.     duplicates, due to floating-point inaccuracies.
  212.  
  213.