qbsp3
11 March 1999

This version of qbsp3 is based on the original source code
supplied by id Software, with the following changes:

11 Mar 1999
   Another Alexander Malmberg suggestion. This version allows 
   you to have hint brushes with the detail property. Why would 
   you want to do this? If used to surround triangles that form 
   a terrain surface, for example, if the triangles themselves 
   are detail brushes then the triangles will NOT break up other 
   triangles in the map. This can potentially lower r_speeds 
   significantly, because there will typically be many fewer 
   polygons in your ground surface, visible or not. NOTE: Detail 
   hint brushes should only be used in areas boxed in by normal 
   hint brushes and with only detail brushes within. With this 
   method you can control the polygon splits with the detail hint 
   brushes, and portals with normal hint brushes.

28 Jan 1999
   Now reads floating point numbers from .map files as 
   floats, rather than truncating to integers. All internal 
   operations in qbsp3 have always used floats. This 
   change allows users whose editors (e.g. Quark) produce 
   maps with floating point values to use this version of 
   qbsp3 without roundoff errors. This change will have not
   cause any problems for maps containing integer coordinates.

21 Jan 1999
   Added a change to WriteBSP to compensate for a bug in 
   Quake2. This change was developed by THE MAN, Alexander 
   Malmberg. The short version: Q2 expects to find at least
   one empty leaf in a .BSP file, but incorrectly thinks a 
   leaf with a clip brush in it isn't empty. If all of a
   maps leafs contain clip brushes, Q2 displays the error 
   message "Map does not have an empty leaf" and shuts down.
   Note that this error generally only occurs in small test 
   maps that are mostly empty (so that the only leafs 
   generated are those produced by the default 1024 cuts).
   The change to WriteBSP adds a dummy empty leaf if one
   is not present.

01 Dec 1998
   Automatically converts all texture names to lower case. This
   will prevent the upper case animated texture crash that occurs
   for shareware WorldCraft users.

24 Nov 1998
1) Bug fix to faces.c discovered by Alexander Malmberg. This
   fix is described in detail at
   http://frag.com/quest/doc/qbsp3_bug1.html. If you have any
   questions concerning this change please address them to
   A. Malmberg at alexander@malmberg.org. This fix will
   potentially lower r_speeds in a map (though not much),
   prevent occasional visual errors, and possibly prevent
   "WARNING: leaf portals saw into leaf" errors.

2) Fixed an error in map.c that prevented qbsp3 from
   correctly reporting "bounds out of range" and/or
   "no visible sides on brush" errors for brushes outside
   the +/-4096 limits in the Y or Z directions. The original
   source code checked the X direction 3 times. This error
   was originally detected (as far as I know) by Steven
   Boswell, and reported in his excellent article at
   http://wdunltd.ml.org/whatis/Quake2/bspvis.html

3) Removed all dependence on OpenGL libraries and functions.
   The few routines that made OpenGL calls were never used.

Visual C/C++ 5.0 was used to compile the source code. No
optimizations were used (I'm paranoid).

In the interest of maintaining everyone's sanity, please
do not distribute qbsp3.zip to others... rather provide
a link to it so that others may download it from my site.
This will insure that others obtain the latest version of
this program.

******************* DISCLAIMER ******************************
*                                                           *
* I (David Hyde) make no warranties regarding the computer  *
* program QBSP3.EXE. Users assume responsibility for the    *
* results achieved for computer program use and should      *
* verify applicability and accuracy.                        *
*                                                           *
*************************************************************

