ZDoomGL V1.22 gl(0.66) [14/05/01]
---------------------------------

ZDoomGL is an OpenGL port of ZDoom.
ZDoom  (http://zdoom.notgod.com) is a Win32 port of Doom by Randy Heit (rheit@iastate.edu).
ZDoomGL compiles with Microsoft Visual C V5.0 compiler.
Minimal requirements are a Pentium & 32Mb of memory.
A 3D accelerated card is needed (OpenGL compatible).
It runs fine on a P200 with a voodoo1 3dfx card.

What's new in V0.66:
--------------------
(compiled with MSVC4)
- Level of details (LOD) for MD2 support:
   For each MD2, 4 LOD are created (100% of polygons, 75%, 50% & 25%).
   The farther the MD2 is, the lesser LOD it will use.
   LOD can be enabled / disabled from the OpenGL option menu (g_bUseMRM console variable).
   The distances, which causes LOD switches, can also be adjusted from this menu: it affects the console variable g_iMRMDist.
   Dist= the distance from the camera to the MD2:
   When g_iMRMDist > Dist, the 100% model will be displayed.
   When 2*g_iMRMDist > Dist > g_iMRMDist, the 75% model will be displayed.
   When 4*g_iMRMDist > Dist > 2*g_iMRMDist, the 50% model will be displayed.
   When Dist > 4*g_iMRMDist, the 25% model will be displayed.

   A new "noLOD= 1" parameter has been added in md2.ini (to disable LOD on low polygon models).
   [DEBUG version only] Also, the first time you will run ZDoomGL, ".mrm" files will be created (which contain LOD datas). It could take a while.

- Allocation problem in drawing list of floor/ceiling fixed (could cause crashes).
- Appreciable speed improvement when rendering wide open spaces with a lot of multi-sided sectors.
- Bug in MD2 lighting fixed (vertices) + one new mode: "vertices 2".
- New "autorotate= 1" parameter in MD2.ini (to enable rotation of weapons, ammo, etc. like Quake).
- Random crash in console init fixed.
- One bug in texture creation fixed (original Doom transparent texture redefined as a non-transp texture in a PWAD).
- 2 problems in mirror's code fixed (one crash (particles) & one display problem (lens flare)).
- Deep water sector huge speed improvement.
- Scrolling flats speed problem fixed.
- Double-sided textures now scroll correctly.
- "Decals which didn't move on some doors" bug fixed.
- Sector_SetColor now works in deep-water sectors.
- Some optimisation in lightmap2 code (large open space areas with few ligh sources in sight should be rendered faster).
- New floor lighting (only available in "lightmap 2" mode). Some floors can emit light, read lights.txt to know how it works.
V0.65:
- "Double-sided transparent linedefs disapears when mirror in view" bug fixed.
- Mirrors work coorectly with 3Dfx MiniGL drivers (glFrontFace function isn't supported by those drivers).
- "Lens flares displayed twice when a mirror is in view" bug fixed.
- Display problem fixed with the floor lighting system.
- Autorotate flag now works correctly with Interpolated MD2.
- Ceiling display bug fixed when the floor texture is a sky.
- Sky spheres now should be correctly positionned (Cf Doom2 MAP24).
- Useless upper textures aren't displayed anymore (2 sided linedefs which both sectors have a ceiling sky texture).
- MD2 skins greater than 256x256 are now automatically scaled to 256x256 (it crashed with 3Dfx MiniGL).
- Walls with floors/ceilings junction gaps should be less noticeable.
V0.653:
- Objects & transparent/translucent linedef sorting bug fixed.
- Memory allocation problem (which can cause crash or exhaust all system memory) in particle code fixed.
V0.654:
- Redondant texture bug removed (useless bottom et up textures removed).
- Clip planes active in ZBuffer mirror code.
- All light sources preserved after loading a saved game.
V0.66:
- New "-forceresolution" command line parameter to force the engine to use resolution specified by the -width & - height parameters.
- New console command g_bFloorLightFix, used to test new floor lighting system.
- LOD generation disabled in the release version (too unstable). So, pregenerated MRM files are needed.

ZDoomGL has been successfully tested on (with a decent framerate):
 P200     + voodoo1 (Win95)                [V0.66]
 PIII933  + GeForce 2 GTS (Win2000)        [V0.6]
 PIII500  + TNT2 (WinNT)                   [V0.3]
 PII450   + GeForce 256 (Win98)            [V0.2] 
 PII450   + voodoo2 (Win98)                [V0.2]
 PII450   + S3 Savage 4 (Win98)            [V0.06] 
 PII300   + G200                           [V0.02]

Important note:
---------------
You need to install ZDoom before running ZDoomGL.

Quick Start:
------------
Put ZDoomGL.exe in your doom directory (shareware V1.9, Doom V1.9 or Doom II V1.9).
3D PCI cards < 8Mb users: launch VOODOO1.BAT
3D PCI cards > 8Mb users: launch VOODOO2.BAT
AGP users: simply launch ZDoomGL.exe.
Please, note that all 3Dfx cards (except voodoo1) should use the VOODOO2.BAT file.
(3Dfx cards don't support AGP memory texturing).

MD2 support:
++++++++++++
Please read the MD2.TXT file.
All MD2 can be downloaded from www.doomworld.com/doomgl (DoomGL section).

You can find the "ready to use" MD2 pack here: http://www.3ddownloads.com/showfile.php3?file_id=87512
      or directly from Sailoruranus site here: http://aluminumsiren2000.tripod.com/pack/main.html

(Note that the md2.ini provided with ZDoomGL is for Edmundo Bordeu's MD2 pack. If you want to use YPOD models rename md2-YPOD.ini to md2.ini.
The MD2 skies work only with Doom II (and DoomII PWADs with no custom sky)).

Other goodies:
++++++++++++++
- Disolving bodies DEH patch by Abbs: see disolve.txt.
- Lights.ini by Slayer226.
- Missing textures fix for Doom2 by NTScroll: http://www.3ddownloads.com/showfile.php3?file_id=38093.

+++++++++++++++++++++++++++++++++++++++++++
New command line switches:
+++++++++++++++++++++++++++++++++++++++++++
-paltex:
		Paletted textures enabled.
-sprscale <scale> (0.5 default)
		Set sprite factor scale.
-sprmaxsurf <surf> (65536 default)
		Set sprite maximum surface.
-raster:
		Enable global raster.
-dspraster:
		Enable display raster.
-3dfx:
		Set max texture size to 256x256.
-width <width> & -height <height>:
		Set screen size (640x480 default).
-bits <ColorDepth>
		Set screen color depth (16 or 32 bits).
-md2 <md2 script file>:
		Choose a new script file for MD2 replacement (by default, this file is "md2.ini").
-lights  <lights script file>:
		Choose a new script file for dynamic lighting definitions (by default, this file is "lights.ini").
-lvlspec <levels script file>:
		Choose a new script file for levels special effects (by default, this file is "levels.ini").
-nomd2:
		Remove MD2 support (save more than 30 Mb of memory with the last md2.ini).
-scale <scale factor> (100 default)
		Change the scale of the world.
-forceresolution:
		Force the engine to use resolution specified by the -width & - height parameters.

+++++++++++++++++++++++++++++++++++++++++++
New console commands:
+++++++++++++++++++++++++++++++++++++++++++
usecoronas 1 : Display coronas on "light sources" (torches, etc.)
g_bMD2 0 : Display sprites monsters.
       1 : Display MD2 monsters instead of sprites.
	   2 : Display MD2 monsters instead of sprites (interpolated animations).
g_bDynLight 0 : No lighting.
            1 : Vertices lighting.
			2 : Lightmap lighting method 1.
			3 : Lightmap lighting method 2 (no saturation, better lighting quality in dark areas).
g_bMD2Light 0 : No lighting on MD2 objects.
            1 : Positional lighting.(all the points have the same light level)
			2 : Vertices lighting.
			3 : Vertices 2 lighting mode.
g_iMaxNbMD2Light <Number>: Set the number of lights which affects a MD2 model.
g_iMD2VLightDist <Distance>: Set the distance beyond which the engine will use the positionnal MD2 lighting system.
g_cClipQuality	0 : the fastest solution (lots of polygons missing)
				1 : the default solution (some polygons missing).
				2 : the slowest solution (no polygon missing).
g_bSkyMethod 0 : Original Sky code
             1 : JHexen based sky code.
			 2 : MD2 sky.
g_iMaxImpacts <Number>: Maximum decals number.
g_bUseMipMap 0 : No mipmapping
             1 : Low quality mipmapping
			 2 : High quality mipmapping
g_iMaxMirrors <Number> : Maximum number of mirrors rendered in a scene.
g_bUseMapHack 1 : Needed if you want the automap with minigl drivers.
g_bFastSprClip 1 : Fast sprite clipping (but a little inaccurate).
               2 : Same as 1, but a little more accurate (and a little slower).
g_bUseMRM 1 : Enable MD2 LODs.
g_iMRMDist <Distance>:
Dist= the distance from the camera to the MD2:
   When g_iMRMDist > Dist, the 100% model will be displayed.
   When 2*g_iMRMDist > Dist > g_iMRMDist, the 75% model will be displayed.
   When 4*g_iMRMDist > Dist > 2*g_iMRMDist, the 50% model will be displayed.
   When Dist > 4*g_iMRMDist, the 25% model will be displayed.
g_bFloorLightFix 0 (default) / 1 : Try 1 if you have some problems with the floor lighting system.


Any comments, bug reports, etc. are welcome.

E-mail address: kokak@free.fr
Doom Page: http://www.doomworld.com/doomgl
Personal homepage: http://kokak.free.fr

	Michaël Ryssen.