
Win/GLQuake Mapper Version
==========================

BACKGROUND

There are a lot of Quake1 engines available now. Most of them have mainly focussed on adding
features and new graphic gizmos and nearly all of them have several limitations that are a problem
for mappers and players. A few engines, mainly FitzQuake and TyrQuake, have tried to improve the
basic functionality, increase stability, capacity and speed while still maintaining the original
look and feel of Quake.

This Win/GLQuake version is *not* meant for general play, although it should suffice at least for
SP. It's meant to be a stable, high-capacity version of the original Win/GLQuake with some minor
features added for convenience. Its main purpose is to be used when other engines fail to load a
bsp.

This makes it ideal for mappers who at one time or another experience problems with their maps;
there are leaks, entity overflow or other issues that prevent the map from loading in a normal
engine. These problems should of course be fixed so the map can be loaded in any engine, but
during development this engine can be used to help finding and fixing the problems.

==================================================================================================
NOTES

There is a difference in the gamma (brightness) handling in the older GLQuake 0.97 version and the
1.00 that this version is derived from. If your graphics card supports hardware gamma handling,
you can change gamma via cvar gamma (or slider in options menu) in-game. This is the recommended
mode.

If hardware gamma is unsupported or undesired, add the option "-gamma #" to the command line,
where # could be e.g. 1.1 or some other float value that looks good. Note that in this mode,
GLQuake only sets the gamma at startup so it doesn't help to change it in-game.

Some extensions may have broken compatibility, especially regarding net play.

==================================================================================================
TIP

Adding option "-condebug +developer 1" to the engine command line is recommended to see and log to
file extra warning messages from the engine that might indicate problems in the map, e.g. missing
model skins. The log is written to qconsole.log in the game directory and is overwritten each time
the engine is started.

==================================================================================================
CHANGES

The changes are as follows :

Win/GLQuake 1.26 (Jan 4 2005)

1. GL: Added skybox support (tga/pcx) from console or worldspawn via command/key "sky" (like
   FitzQuake). New cvar r_oldsky toggles between skybox and standard animated sky.
2. GL: Improved texture usage to reduce memory footprint. As a result, MAX_GLTEXTURES has been
   restored to 1k.
3. Fixed bug that caused the signon buffer size warning to appear too often.
4. GL: Added hack for more fullbright flame/candle/lantern models.
5. GL: Changed default value for cvar gl_keeptjunctions to 1.
6. Increased buffer size (cmd_text) for commands and scripts from 8k to 64k.
7. Fixed rare crash bug when loading leafs lump with invalid data.
8. Fixed rare crash bug when loading clipnodes with invalid data.
9. Fixed rare bug that allowed deletion of worldspawn via spawnflags.
10.Improved handling when correcting missing NUL in entity lump.
11.Fixed bug that prevented some strings from being logged to file.
12.Optimized console log file handling.
13.Fixed bugs that prevented saved games from loading if '}' or EOF (0x1A) existed in an entity
   string.
14.Added warnings for missing/invalid models when loading saved games.
15.Fixed bug when saving games with newlines/EOF in map title.
16.Fixed status bar updating when using "give" command.
17.Fixed bugs and added more info in progs.dat stacktrace handling.
18.Added more info to some parse related messages.


Win/GLQuake 1.25 (Nov 21 2004)

1. Increased clipnode capacity from 32k to almost 64k.
2. Added warning for excessive server signon buffer size. If it appears, the map might have
   problems loading in a normal engine.
3. GL: Fixed slowdown when having r_fullbright enabled while restarting map.
4. Fixed long titles covering secrets info in status bar.
5. GL: Fixed large models (shamblers, shub) disappearing near edge of screen.
6. Fixed a crash bug in multiplay when map was missing on client.
7. Slowed down printout for "SV_StartSound: ... not precached" warning and added more info.
8. GL: Increased MAX_GLTEXTURES from 1k to 2k.
9. Added autorepeat for cursor up/down.


Win/GLQuake 1.24 (Oct 13 2004)

1. Increased MAX_MODELS from 256 to 1k and added warning when exceeding normal limit.
2. Changed warning for excessive # faces from 64k to 32k when loading map. If it appears, the map
   might have problems loading in a normal engine.
3. Fixed loading of saved games with newlines in the map title.
4. Fixed annoying screen stutter while moving vertically when lightning events occurred.
5. Added new cvar con_logcenterprint which enables logging of centerprint messages to console
   (default 1). If 2, logging will also occur in DM (same logic as FitzQuake).
6. Strengthened check for excessive edicts, now printed also while playing or loading saved games.
7. Added new command "mapname" which displays the filename of current map (same as FitzQuake).
8. Fixed some crash bugs in multiplay client and dedicated modes.
9. Fixed a bug when loading saved games after switching singleplay/deathmatch/coop mode.
10.Added more information when loading invalid saved games.
11.Increased # lines to print from console from 4 to 5.
12.Slowed down printout for "Unstuck" warning.


Win/GLQuake 1.23 (Sep 13 2004)

1. GL: Added hardware gamma handling and enabled modification via cvar gamma (similar to
   FitzQuake). If option "-gamma #" is used, hardware gamma is disabled and the old behaviour is
   restored.
2. Added several warnings for excessive # objects when loading map. If they appear, the map might
   have problems loading in a normal engine.
3. GL: Worked around a problem when having excessive # vertexes might cause the engine to abort
   with "AllocBlock: full".
4. Changed the "... too many nodes ..." error into a warning and attempted to load as much of the
   crippled bsp tree as possible. The map will most likely look incomplete in-game.
5. GL: Changed the "cache mismatch" error into a warning and added texture name.
6. GL: Reduced loading time for bsps with many lightmaps.
7. GL: Fixed missing texture (checkerboard pattern) bug if all textures were missing.
8. Increased MAX_CHANNELS from 128 to 516 and MAX_DYNAMIC_CHANNELS from 8 to 128. This seems to
   cure most disappearing sound issues in big maps.
9. Added new cvar r_particles which enables particles (default 1).
10.Fixed a bug that could cause an abort with error message "SOLID_BSP with a non bsp model". The
   abort can also occur when there are entities with missing bmodels in the map (e.g. a
   func_button without a brush). All related error messages have now additional information.
11.Fixed a bug that could cause an abort with error message "Trigger in clipping list" and added
   more information to the message. A warning will still be printed in some cases.
12.Increased MAX_EFRAGS from 640 to 2048 and added extra info when exceeding the limit.
13.Added more information to the "... unexpected unlink of trigger ..." (e2m2 easy skill) warning.
14.Increased MAX_STACK_DEPTH from 32 to 256 and runaway loop from 100000 to 300000 to avoid some
   rare Host_Errors.


Win/GLQuake 1.22 (Aug 18 2004)

1. Increased MAX_MSGLEN from 16000 to 32k, MAX_DATAGRAM from 1k to 32k and NET_MAXMESSAGE from 16k
   to 64k. This seems to cure most "packet overflow" issues in big maps.
2. Increased MAX_VISEDICTS from 256 to 4k and MAX_TEMP_ENTITIES from 64 to 256. This seems to
   prevent entities from disappearing in big maps. Also added warning when the limits are
   exceeded.
3. Increased MAX_EDICTS from 2k to 4k.
4. Fixed several bugs in console background handling. Now the engine version text is printed at
   the bottom right of the console.
5. Added more info to and slowed down some more missing frame/skin/sprite warnings.
6. GL: Fixed repaint of skins when r_fullbright is toggled.
7. GL: Added support for GL_ARB multitexture (some newer cards/drivers require this). GL_SGIS is
   used if no GL_ARB extensions can be found or option "-nomtexarb" is enabled.
8. Changed so setting cvar r_novis to 2 will completely disregard vis information in bsp. This
   means that all entities will also come into view which can have a large impact on r_speeds.
9. Win: Added cvar r_novis with same functionality as in GLQuake.
10.GL: Added new cvar r_flatlightstyles which disables animated (styled) lights (e.g. torches).
   This can significantly improve r_speeds in big unvised maps with many torches.
11.GL: Added new cvar r_waterwarp which enables underwater warping (default 1, same as WinQuake).
12.GL: Added new cvar r_clearcolor to control void colour (default 251 = bright red).
13.Added new cvar sv_altnoclip which enables Q2 style noclip (default 0).
14.Win: Fixed a bug that could mask the original error.
15.Win: Restored the max surface extents warning to 256. It can still be exceeded but will
   probably generate another error later.
16.Changed so abort error message will also be written to console log if enabled.
17.Slowed down printout for "backup past 0" warning.
18.Win: Tried to improve palette change behaviour.


Win/GLQuake 1.21 (Jul 22 2004)

1. Win: Same enhancements as for GLQuake 1.20 (where applicable).
2. GL: Fixed a memory leak bug in OpenGL texture loading and added check for excessive amounts.
3. Win: Replaced the windowed 800x600 vid_mode 2 with 1024x768 and changed the default screen
   stretching for this and the 640x480 mode. You must probably also edit the config.cfg
   (vid_config_x 1024, vid_config_y 768 and vid_stretch_by_2 0) to access the 1024x768 mode.
4. Win: Increased default values for r_maxsurfs and r_maxedges to 100000.
5. GL: Added warning and replacement for missing skins.
6. Win: Slowed down printout for "R_AliasSetupSkin: no such skin ..." warning.
7. Win: Worked around a bug that could cause strange palette changes in other applications when
   exiting.
8. Fixed a bug that could cause unpredictable behaviour when a script file was missing a final
   newline ("\n") character.
9. Corrected error message "MOVETYPE_PUSH with a non bsp model".
10.Fixed (changed to a controlled abort) a rare crash bug regarding efrags.


GLQuake 1.20 (Jul 1 2004)

1. Fixed a bug that could prevent map loading if sky texture names in bsp were uppercase
   (e.g. "SKY4").
2. Advanced version number to avoid mixup with existing engines (specifically GLQuake 1.13).


GLQuake 1.11 (Jun 7 2004)

1. Fixed a crash bug that could occur if there were missing sky/liquid textures in bsp.
2. Fixed a rare crash bug regarding triggered entities (e2m2 easy skill crash).
3. Added check for too many models (256) in bsp.
4. Increased speed of console printout when there are many items.
5. Slowed down printout for "too many efrags!" and "total channels == max_channels" warnings.


GLQuake 1.10 (May 5 2004)

1. Increased MAX_LIGHTMAPS from 64 to 512. This hopefully fixes the "AllocBlock: full" error.
2. Increased MAX_MAP_LEAFS from 8k to 32k, a major engine abort cause.
3. Added several warnings for invalid or excessive # objects when loading map. If they appear, the
   map might have problems loading in a normal engine.
4. Added printout of # missing textures when loading map.
5. Changed the "Bad surface extents" error into a warning with more info.
6. Fixed bug that prevented maps with > 32767 marksurfaces to load and function properly.
7. Increased MAX_STATIC_ENTITIES from 128 to 256.
8. Increased NET_MAXMESSAGE from 8k to 16k, MAX_MSGLEN from 8000 to 16000 and server signon_buf
   size from 8k to 16k, common causes to the "SZ_GetSpace: ..." overflow errors.
9. Increased MAX_EDICTS from 600 to 2k.
10.Fixed bug that prevented maps with dashes '-' in their name (e.g. outpost-alpha) from loading
   from command line.
11.Increased far clipping distance from 4096 to 16384.
12.Fixed missing texture (checkerboard pattern) bug.
13.Fixed repaint of status bar when gl_clear is enabled.
14.Fixed repaint of screen when r_fullbright is toggled.
15.Increased console buffer from 16k to 256k.
16.Increased speed of console printout when there are many items, typically when the wrong
   progs.dat is used.
17.Fixed several bugs in console printout handling.
18.Improved console key handling; adding autorepeat and Home/End keys for paging up/down.
19.Slowed down printout for "packet overflow" and "player stuck" warnings.
20.Fixed some player stuck situations.
21.Disabled engine abort for some errors, e.g. touching a teleporter that has no destination.
22.Increased default amount of hunk memory (heapsize) allocated from 16MB to 32MB.
23.Increased MAX_HANDLES from 10 to 100.


==================================================================================================

Original Win/GLQuake source code by John Carmack,        http://www.idsoftware.com
Many modifications inspired by Metlslime's FitzQuake,    http://www.celephais.net/fitzquake
Tyrann's TyrQuake,                                       http://www.planetquake.com/tyrann
QIP Quake,                                               http://www.inside3d.com/qip
Lord Havoc's DarkPlaces                                  http://icculus.org/twilight/darkplaces

