
       ************ Please also read the 'ZDBSP LICENSE.txt' in this folder. *****************

 Risen3D incorporates zdbsp (Copyright 1998-2007 Randy Heit) to allow this to be optionally used in
 place of glbsp.

 The version of zdbsp used is 1.17

 The changes made for use with Risen3D have been limited to only removing any unwanted functionality
 such as compression, support for polyobjects and so on. The SSE extension support has also been
 removed.

 The node building itself (i.e. the nodes that are generated) has not been modified other than with
 gNd5 nodes where an array entry was incorrectly specified in the original v1.17 as a DWORD instead
 of a WORD making the uncompressed gNd5 nodes generated by the original source incompatible with the
 gNd5 specification as described at; http://glbsp.sourceforge.net/specs.php

 The reason support for these nodes has been added over the default glbsp is because, in some notable
 cases such as sunder.wad map14, the number of subsectors created is considerably less than the number
 generated using glbsp which helps with speed. This, however, will only be seen with very large maps.
 In addition zdbsp builds better nodes with some maps as glbsp has been found, on occasion, to not
 create a subsector with lines diverging with a small angle (e.g. in crudream map11). Finally zdbsp
 is used where gnd5 nodes are required. Instances are vanishingly rare and will not be found in
 R3D_modify as, in this case, they are selected automatically.


 *****************************************************************************************************
 Maps that benefit from the use of zdbsp have been added after exhaustive testing in R3D_modify by the
 Risen3D team. R3D_modify should NOT be changed by the casual user.
 *****************************************************************************************************


 The reason that zdbsp is not used as the default is because there are issues with building subsectors
 with same sided lines with some maps. Since this could be slow to determine prior to selecting which
 nodes builder to use and since glbsp nodes work with these line types in all cases the easiest
 solution has been to stay using glbsp as the default. Zdbsp also cannot be used with Risen3D 3d line
 maps especially where stacked 3D floors are generated.

 An option has been included where the standard nodes can be built using zdbsp followed by glbsp
 building the gl nodes. This can be largely ignored as it does not confer any particular benefit but
 has been left for those who want to try it. (See R3D_modify). The reverse option (glbsp building
 normal nodes and zdbsp building gl nodes) has not been implemented.

 The following maps cannot be changed to use zdbsp because Risen3D has internal code to correct map
 errors which, currently, is only implemented using glbsp; Doom2 maps 18, 19, 21, 22 and 30 and
 Eternal Doom III maps 10, 26 and 28. In these cases Risen3D will override any request to use zdbsp
 and a message box is spawned to inform the user prior to the nodes being built.

 If gwa nodes only is used in R3D_modify then, again, only glbsp is used.

 Note that in the case of using Risen3D's edit mode that glbsp is always used. This is to ensure that
 no changes are made other than to texture offsets else there could be problems when reloading a wad
 in an editor.

 In addition some maps should not be used with zdbsp because special Risen3D code has not been imple-
 mented that deals with one sided lines used for trick effects such as 10secto2.wad map07 or where
 there is a 1's line map error such as in 10sector map25. These maps, however, are not excluded from
 being built using zdbsp. The additional Risen3D code could be incorporated in zdbsp but this confers
 no advantage over using Risen3D's version of glbsp.


 Graham M. Jackson May 2012 (revised November 2021)
