home *** CD-ROM | disk | FTP | other *** search
- -------------------------------------------------------------------------------
- Table of Contents
- -------------------------------------------------------------------------------
-
- 1.0 Introduction
- 1.1 Standard Disclaimer
- 1.2 Copyright Notice
- 2.0 What's new in v1.1
- 2.1 Bug fixes
- 2.2 New features
- 3.0 Hints and tips for using IDBSP
- 4.0 Known bugs, limitations, etc.
-
-
- ------------------------------------------------------------------------------
- 1.0 Introduction
- ------------------------------------------------------------------------------
-
- This is the documentation for IDBSP11.ZIP, version 1.1 of my port of id's BSP
- builder to DOS. The package consists of two programs, IDBSP.EXE and
- WAD_DWD.EXE; full source for both is included. Hopefully, the source is a
- little cleaner in this version, to contrast my uglieness in v1.0.
-
- Programs are 32-bit DOS-extended, compiled with DJGPP v1.11m5. The DOS extender
- (GO32) is prepended to the executable, so no support files (other than EMU387
- for those without a coprocessor) are required. Both IDBSP and WAD_DWD should be
- able to handle the largest PWADs without problems, provided your machine has
- sufficient memory (real and virtual).
-
- Send comments, requests, etc. to Ron Rossbach at ej070@cleveland.freenet.edu. I
- usually respond within 2 days, except during extended absences from the net due
- to vacations, etc. Please be patient!
-
- Thanks go to (in no particular order):
- - id Software, Inc.
- for developing DOOM and releasing their BSP source
- - Matt Fell (matt.burnett@acebbs.com)
- for developing the Unofficial Doom Specs
- - Colin Reed and Raphael Quinet (colin@argonaut.com and
- quinet@montefiore.ulg.ac.be)
- for developing BSP, the first BSP builder
- - Antony Suter (antony@werple.apana.org.au)
- for providing a "radius" value which corrects id's original "slime
- column" bug
- - Gregg Anderson (cadman@krypton.mankata.msus.edu)
- Beta testing and encouragement
-
- along with apologies for anyone I've missed.
-
- 1.1 Standard Disclaimer
- ===============================================================================
-
- This program is provided with NO WARRANTY, though I hope you will find it
- useful. Use at your own risk. You may not use this code to develop levels which
- work with the shareware version of DOOM. I assume no responsibility or
- liability, direct or indirect, for the use, misuse, or abuse of this program.
- DOOM and DOOM 2 are registered trademarks of id Software, Inc. IDBSP is not a
- product of id Software, Inc., and id will not provide support for this program.
-
- It is illegal (not to mention immoral) to distribute the components of
- registered DOOM and/or DOOM 2 in either original or modified form.
-
- 1.2 Copyright Notice
- ===============================================================================
-
- IDBSP is copyright (c) 1994 by Ron Rossbach (ej070@cleveland.freenet.edu). All
- rights reserved. You are granted the following rights:
-
- - You may modify and re-distribute the program, as long as you call it
- something else, and give credit for IDBSP being the basis of your work.
- This includes using the source in your own level editor or other
- derivative work. You may NOT distribute modified versions of this program
- under its original name. Submit any suggestions, bug fixes, etc. to Ron
- Rossbach at ej070@cleveland.freenet.edu, and they will be included (with
- full credit) in any future versions of IDBSP.
-
- - You may distribute un-modified versions of the program, under its original
- name, as long as you distribute the original zip file unmodified. This
- includes utility authors who wish to include IDBSP in their distributions,
- CD-ROM publishers, etc. Simply include the IDBSP zip file in your
- distribution, and all is well.
-
- - If you modify and re-distribute the program, or use the program as a basis
- for a derivative work, you must include the full source code of your work
- (excluding any third-party libraries which prohibit the distribution of
- their source) in your distribution. This is to uphold the spirit of free
- software and allow others to learn from your work.
-
- You are encouraged to build upon this program in your own editors, subject
- to the conditions above. If you would like rights in addition to those
- mentioned above, contact Ron Rossbach at ej070@cleveland.freenet.edu. (Don't
- worry, I'm not going to charge anything, I'd just like to be able to keep
- track of things, that's all....)
-
- DOOMBSP.ZIP (id's Objective-C source for the BSP builder) and DOOM itself are
- copyright (c) 1993 by id Software, Inc.
-
- -------------------------------------------------------------------------------
- 2.0 What's new in v1.1
- -------------------------------------------------------------------------------
-
- Well, several things, actually, aside from the additional legalese and support
- for DOOM 2.
-
- IDBSP v1.0 was a faithful port of id's original BSP builder, and as such,
- behaved differently than the other BSP builders that everyone had gotten used
- to. It required rising staircases to have alternating sector tags as
- described in the Unoffical Specs, did not allow multi-extent sectors, and would
- align THINGS on a 16x16 grid. IDBSP v1.1 corrects these while providing access
- to most original v1.0 behavior via command line parameters.
-
- 2.1 Bug Fixes
- ===============================================================================
-
- The following v1.0 bugs are fixed in v1.1:
-
- - remove alignment of THINGS on a 16x16 grid. Alignment is no longer available.
-
- - a new EMU387 is provided, which actually works.
-
- - v1.0 would print a message saying it was removing duplicate lines, while
- leaving the lines in the level. Now the lines really ARE removed when IDBSP
- says they are.
-
- - the "slime column" bug was fixed by using a value of 1.4143 in the radius
- calculations in function PointOnSide (thanks to Antony Suter to contributing
- this). Use a radius of 2.0 to retain the original PointOnSide behavior.
-
- - both WAD_DWD and IDBSP v1.0 had problems handling zero-length WAD resources,
- like P_START. This is fixed.
-
- - WAD_DWD had a string overwrite bug. This is fixed.
-
- - WAD_DWD would choke on a NULL resource, which DEU likes to include as the
- last entry in the WAD directory. This is fixed.
-
- 2.2 New Features
- ===============================================================================
-
- IDBSP v1.1 includes the following new features:
-
- - the DWD format has been further extended to include a "sectors:" section at
- the beginning of each level. DWD files created by WAD_DWD v1.0 will not work
- with IDBSP v1.1. An updated WAD_DWD is included, but since IDBSP v1.1 can
- now use a WAD file as input, this extra step is no longer required. The DWD
- format IS useful for picking apart levels with a standard text editor, though.
-
- - support for a selectable level of sector handling (see below)
-
- - support for DOOM2 (DOOM II, DOOM ][, DOOM HOE, or whatever)
-
- - IDBSP can now use a WAD file as input, so the DWD step is not necessary (see
- below)
-
- - New command-line parameters:
-
- The new command-line syntax is:
- "idbsp [-fullreject | -radius=x | -sectopt=x | -duplines | -trace] [-wad]
- infile [outfile]"
-
- Parameters may be included in any order, anywhere on the command line, with the
- exception of the -wad parameter.
-
- -fullreject
- Includes all sectors in the REJECT calculations. By default, small
- sectors (less than 64x64) are excluded from these calculations.
-
- -radius=x
- Specifies a new value for radius in the PointOnSide function. Default is
- 1.4143, contributed by Antony Suter. id's original default is 2.0. A
- radius of 2.0 will sometimes cause the "slime column" bug, while a radius
- of 1.4143 usually fixes this bug but may cause some sectors to be
- grouped incorrectly when used in conjunction with -sectopt=1. Experiment
- to find values that best suit your own levels.
-
- -sectopt=x
- Selects the level of sector handling. Valid values are 0 or 1. A value
- of 0 (the default) simply leaves sectors alone. A value of 1 will
- regroup sectors as in IDBSP v1.0. "Regroup" means: as sectors are read
- in from the DWD (or WAD) file, any duplicates are removed; hence the need
- for alternating sector tags on rising staircases when -sectopt=1. This
- yields an "intermediate" list of sectors. The final sector list is built
- by creating completely enclosed, single-polygon sectors by walking through
- the SEG list. Hence the lack of support for "multi-extent", or
- multi-polygon, sectors when -sectopt=1.
-
- -duplines
- Allows duplicate and zero-length linedefs to be retained in the WAD file.
- By default, duplicate and zero-length linedefs are removed. Note that
- IDBSP will consider two linedefs to be duplicates if they are within 8
- pixels of each other, due to floating point inaccuracy.
-
- -trace
- Displays debugging and tracing information while IDBSP is running.
-
- -wad
- Allows input directly from a WAD file, rather than a DWD file. Default
- is still a DWD file. This parameter must immediately proceed the name of
- the WAD file on the command line. For example:
-
- "idbsp -wad input.wad -radius=2.0 output.wad"
-
- -------------------------------------------------------------------------------
- 3.0 Hints and Tips for using IDBSP
- -------------------------------------------------------------------------------
-
- 1) IDBSP reports removal of duplicate lines, but the lines aren't duplicated,
- just real close together.......solution? Run IDBSP with the -duplines
- parameter to suppress the removal of duplicate and zero-length lines.
- IDBSP thinks that any lines within 1 map unit (4 pixels) of each other are
- duplicates, due to floating-point inaccuracies.
-
-