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 meant to be a stable, fast and high-capacity version of the original Win/GLQuake with many features added. Its main advantage is that it can load and play maps/mods that other engines fail. 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. The engine has also many features that will help modders troubleshoot QC or other game contents issues. ================================================================================================== FEATURES * Very large capacity and robustness; all known bsps are loadable and playable. * Very high limits (e.g. edicts) and almost no engine choking (e.g. packet overflow). * Fast loading of bsps. * Low memory requirements, especially when loading many bsps in sequence. * Low system requirements; most systems should be able to use any of the engines. * Low CPU load. * GL: Enhanced brightness (gamma) handling. * GL: Enhanced texture quality. * Enhanced sound quality; almost eliminated sound drop out or stuttering. * GL: Standard skybox and fog support. * GL: Support for external bsp/mdl/spr textures in three commonly used engine styles. * GL: Smooth model interpolation. * GL: Support for transparent entities bsp/mdl. * GL: Enhanced shadows. * Enhanced console handling and warning/error messages. * Many gameplay issues fixed. * Rudimentary Nehahra support. * Enhanced QC (progs) validation. * Enhanced log file handling. ================================================================================================== 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 have broken compatibility. The engine is using a custom network protocol that is different from the standard protocol 15 and this affects both multiplay and demos. This means that when using the engine as a server, you must normally have the same engine as a client. However, the engine can act as a client to any standard server. See also cvar sv_protocol below. Demos recorded with this engine can't be played back directly in a standard engine, but using the ConvDem utility, you can convert them to standard format. Any standard demo can of course be played back using this engine. ================================================================================================== 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.33 (Aug 7 2007) 1. GL: External bsp textures will now first be searched in subdir "textures/", e.g. "textures/e1m1" (logic similar to JoeQuake/DarkPlaces). This makes it possible to have different textures with the same name in different maps in a mod. 2. GL: Added new cvar gl_exttexworld (default 1) to disable external world textures. Bmodels (e.g. ammo boxes), models and sprites are not affected by this. 3. Added support for Quoth add-ons with new option "-quoth", similar to "-hipnotic" and "-rogue". 4. GL: Added option "-freemdl" which enables freeing of mdls at map load time. This is primarily intended for testing external skins, but may be used also to reduce memory footprint at the expense of much slower map loading times. When using this option, OpenGL memory for sprites will also be freed at map load time (otherwise avoided for performance reasons). 5. GL: Fixed bug that caused external textures to be loaded in dedicated mode if gl_exttex > 0. 6. Changed so chasecam view is kept mostly inside map, except when in noclip. Set chase_active 2 to always maintain chase_back distance. 7. GL: Fixed bug that prevented r_waterwarp from working properly when using "-nomtex" option. 8. Added support for automatic renaming of missing bsp textures if external textures are enabled (same as JoeQuake/DarkPlaces). If developer > 2, a warning is printed. 9. Win: Fixed a crash bug on some platforms by reducing MAXALIASVERTS to 3984. Bug was introduced in 1.31. 10.Reduced view instability when playing back some demos (sds). 11.Added new cvar v_gunkick (default 1) that controls gun kickback (same as JoeQuake). This can also help view stability in some recammed demos (e4m8c226). 12.Extended detection and with lower tolerance of excessive mdl/snd caching. 13.Changed so missing animated texture frames won't cause an engine abort, only a warning. 14.Improved so savegame files with EOF in e.g. player name won't cause load failure. 15.Improved error messages when loading savegame files. 16.GL: Added to look for skyboxes also in env directory after gfx/env. 17.GL: Added workaround to load pcx files with some odd data (transfusion). 18.GL: Fixed bug that caused some textures to generate fuzzy mipmaps when using gl_texquality 2. 19.Improved printout for mcache/soundlist to include sizes with better formats. 20.Improved fix to avoid chasecam view sometimes being straight down (transfusion). 21.Fixed bug in timerefresh command that made it very slow. It still doesn't show proper fps, but now it can be compared with older engines. It now also shows the rotation visually. 22.GL: Optimized lightmap handling and reduced its memory usage typically by 75%. 23.Fixed bugs in estimation for packet overflows that especially could cause problems when using sv_protocol 15. 24.Added protection against removing client entities or making them static from QC (rumble2). 25.GL: Added possibility to have 0-sized textures, but a developer warning is printed (sds). 26.Fixed bug that could cause edicts to be reused too quickly when using edict_reuse 0. Also added warning when excessive reusage (shorter than 0.5s) occurs. 27.Win: Fixed some crash bugs when loading some corrupt mdls (cleanq1). 28.Win: Added a hack to avoid unhandled FPU exceptions on non-NT platforms. 29.Fixed a bug that prevented loading saved games properly when coop/deathmatch/teamplay wasn't 0. Now a warning is printed if saved game mode is different. Bug was introduced in 1.24. 30.GL: Fixed a bug that prevented some brush models from being rendered when there were missing models. 31.Fixed a crash bug when trying to profile when a demo is running. 22.Fixed a crash bug when loading some corrupt progs. 33.Added printout of resource path when developer > 2. 34.Optimized file searches in pak files, this is most noticeable when using external textures. 35.Minor optimization of pak file loading when using options "-hipnotic" or "-rogue". 36.GL: Fixed a crash bug if gl_max_size was set < 2. 37.Fixed bug that sometimes caused ambient sounds to be played after disconnected (e.g. e2m2). 38.Fixed bug that prevented sound channels from being reset in a joined demo if no disconnect appeared inbetween (sm82_omg). 39.Increased speed of some console printouts. 40.Win: Prevented some unwanted console printouts. Win/GLQuake 1.32 (Jan 12 2007) 1. GL: Added support for external model/sprite textures (tga/pcx). Cvar gl_exttex controls handling as before and new cvars gl_exttexdp/gl_exttextq controls how and where the textures are loaded from. Set the cvars in autoexec.cfg. Default, textures will use JoeQuake style; texture file name translation is e.g. model.mdl -> model_0.tga in subdirectory "textures/models" ("textures/sprites" for sprites) or "textures", in that order. If gl_exttexdp is enabled, DarkPlaces style is used; translation is e.g. model.mdl -> model.mdl_0.tga in same directory. If gl_exttextq is enabled, TomazQuake style is used; translation is e.g. model.mdl -> model_0.tga in same directory. 2. GL: Improved rendering of shadows via cvar r_shadows significantly. Shadows are now fully interpolated, height blended and many of the earlier strange artifacts are gone. You can now also specify shadow darkness with the cvar; 0 = no shadows (default), 1 = 0.5 for compatibility (recommended) or any other float value between 0 and 1. 3. GL: Added support for transparent entities (bsp/mdl) (same as NehQuake). 4. Improved server speed in physics intensive maps (with many entities and complex QC). 5. GL: Fixed bug that caused some (almost mono-coloured) skins to become black. 6. GL: Fixed a bug in Nehahra 32-bit sprite loading which prevented subsequent frames to be loaded. If the old spr32 look is preferred, you can revert by setting new cvar gl_oldspr32 1. 7. GL: Added a hack to improve rendering of sprites, making them more transparent. If the old sprite look is preferred, you can revert by setting new cvar gl_oldspr 1. 8. GL: Added automatic generation of alpha channels in external tga/pcx images for sprites if there is no alpha channel already. New cvar gl_alphablend controls behaviour (default 1). 9. GL: Added hack to make Nehahra wraiths interpolated. 10.GL: Fixed bug that sometimes prevented objects from being interpolated, e.g. with MOVETYPE_BOUNCE (lunk7). 11.GL: Fixed bug that could cause strange interpolation anomalies due to not handling negative time intervals (chapter_kell). 12.Improved Nehahra compatibility by adding MOVETYPE_FOLLOW support and added transparency fields in the server so a full Neh client can use them. 13.GL: Added cvar r_skytq that will rotate the skybox to match TomazQuake. If current map is Invein from Nehahra, the skybox will automatically be rotated. 14.GL: Added cvar cl_altlerp that can improve model interpolation when playing back demos; 0 = disabled (default), 1 = mixed/automatic mode, 2 = fully enabled. This is a hack until a better solution is found. 15.Changed so cvar host_sleep 2 will revert temporarily to 1 while handling demos. 16.GL: Fixed a crash bug when loading sky boxes with different dimensions on different images. If any image was smaller than the last one (down), the engine would crash. 17.Fixed a rare crash bug when loading sounds with corrupt/specific data and added warning (conquest). 18.Fixed model pitch bug in chasecam view when aiming up/down. 19.Fixed bug that in big maps could cause chasecam view to be off (marcher beneath the bell). 20.GL: Added hack to prevent jerky interpolation of chasecam player during demo playback. 21.Added more info to the warning for accessing free edicts in progs. Now the edict number, classname, and/or model of the freed edict is also printed along with the time since the edict was freed. There's also info where the edict was removed in QC. 22.Added new cvar edict_reuse which controls how edicts are reused. The main purpose is to make the warning for accessing free edicts more efficient if the edicts stay free for a longer period before being reused. 1 (default) means classic policy; reuse after 0.5s except during the first 2 seconds after map load. 0 means reuse sequentially in a loop, utilizing the entire edict range. This will typically delay reusage until absolutely necessary. 23.Added more info to the various edict printouts; now there's also info where the edict was spawned in QC. 24.Added detection and warning of excessive mdl caching, which usually results in very choppy gameplay. 25.Added more logged QC statements for some Host Errors or when developer > 2. 26.Added validation when loading bsps with corrupt vis data. 27.Added protection against modifying or removing the world entity from QC (target). 28.Added more info to the abort error when discovering a NULL think/touch/etc QC function. 29.Added more info to the QC warnings for bad client or write destinations. 30.GL: Fixed a rare memory trashing bug when loading wad pics with sizes < 20 (dbq). 31.GL: Changed so having an odd sized texture won't cause an engine abort, only a warning. 32.GL: Changed so loading a pcx without proper palette id won't cause an engine abort, only a warning (tribal). 33.Changed some of the QC functions (e.g. stuffcmd) so they won't cause an engine abort if the client destination is unavailable, only print a warning. 34.Fixed a bug that prevented stuffcmd called from PutClientInServer in QC from working. 35.Changed unknown temp entity abort to a warning and added silent parsing of it. This may work in some cases. 36.Increased MAX_LBM_HEIGHT (max skin height) from 480 to 1024 and added warning. 37.Added detection of missing disconnects when playing back demos (swatteam). 38.Disabled the disk icon when playing back demos. 39.GL: Fixed a bug that left the conback image on the hunk unnecessarily. 40.Added more info to NaN velocity/origin warnings. 41.Changed some "NULL touch function" QC aborts into warnings and added more info to edict debug printouts. 42.Added more info to some hull validation errors. 43.Added coordinates to the "backup past 0" warning and moved it to developer > 2. 44.Minor optimization of pak file loading when using option "-game nehahra". 45.Improved printout while profiling QC. 46.Fixed a potential bug when approaching the 64k clipnode limit. 47.Fixed a potential bug when approaching the 8k max edict limit in the protocol. 48.Fixed a potential bug in console logging when calling va() repeatedly. 49.Fixed a memory trashing bug in COM_FileBase function. 50.Strengthened pak file validation. 51.Minor improvement of host_speeds printout. Win/GLQuake 1.31 (May 25 2006) 1. GL: Added more texture quality options with new cvar gl_texquality; 0 = GLQuake compatibility, 1 = default, better resampling and reduced blurring of console graphics, 2 = same as 1, but reduced blurring of all textures. Highest level requires much more memory and some slowdown when loading maps. Set the cvar in autoexec.cfg. 2. GL: Improved readability of console text font by smoothing it. New command gl_smoothfont (default 1) controls behaviour. This helps especially when using odd combinations of screen and console width. Also increased brightness of text slightly and removed distortion in-between lines. 3. Fixed bug in Nehahra mode that caused problems when reloading saved games. Note: cvar nospr32 must not be changed between saving and loading a game. This can happen e.g. when saving in Neh/GLQuake (with nospr32 default disabled) and then loading in WinQuake (with nospr32 default enabled) or vice versa. 4. Increased MAX_SFX from 2048 to 2560 to handle the entire Nehahra movie in one session. 5. Added possibility to run in a window that exactly matches the desktop resolution without any title or borders, effectively offering fullscreen operation. This may help some graphic cards that have problems switching to real fullscreen mode. It also offers the possibility to have other desktop apps on top of the game window, e.g. reminders. 6. Added fuzzy detection of solid entities without models, e.g. a func_door without a brush. This might otherwise cause e.g. engine abort "SOLID_BSP with a missing model". 7. Increased MAX_SCOREBOARD (max clients/bots) from 16 to 64 and adjusted the ranking list. 8. GL: Fixed HOM when crossing a liquid surface. 9. GL: Fixed particles z-buffer bug, especially noticeable when having gl_clear 1. 10.GL: Fixed bug that prevented external liquid textures from loading. 11.GL: Fixed bug that prevented textures with identical names but different contents to coexist in a bsp. As a result, removed the "cache mismatch" warning. 12.Fixed bug in detection of invalid models when loading saved games. Now the player model won't be checked as it may change validly. 13.GL: Fixed bug that prevented missing textures to be displayed properly under water. 14.GL: Fixed several bugs that caused bad results when using gl_picmip 1 or higher. 15.GL: Added possibility to select gl_texturemode numerically (1-6) and all modes are listed when specifying an invalid mode. 16.GL: Fixed player stuck bug in GoldCup (same fix as for QRally). Fix will now work regardless of mod directory name. 17.Added new command sv_protocol that sets server protocol (default 10002). Currently possible values are 15 (std Q1) and 10000-10002. This can be useful to increase compatibility with some mods or networked clients. When using protocol 15, server packet sizes will be limited to 1024 (the old limit). 18.Fixed another crash bug when loading sounds with corrupt data and added more info. 19.Fixed a crash bug in status bar paint when doing a timedemo, using viewsize 100 and e.g. having host_framerate 1. 20.Win: Fixed a crash bug that could happen when drawing sprites (e.g. timedemo bigass1 in fullscreen 1280x1024). Also added more protection and warnings. 21.GL: Fixed a crash bug when loading a model with more than 2048 triangles. Also increased capacity to 4096 and added more protection/warnings. 22.GL: Fixed a crash bug when loading a model that required more than 8192 commands while meshing. Also increased capacity to 16384 and added more protection/warnings. 23.Fixed crash bugs when centerprinting a long multi-line string at low screen resolution. 24.Fixed a rare memory trashing bug in model meshing and added warnings (q1a). 25.Fixed a rare bug that would throw the player out of the game when changing/restarting map. It seems to be a design flaw in the reconnect logic when playing a local game. The same issue occurs when entering reconnect in the console while playing; the console goes to fullscreen and the player can't interact with the game anymore (which continues) (q1a: aerowalk). 26.Added hack to load stereo sound samples. 27.Added more info when exceeding command buffer size (cmd_text). 28.Added protection against a rare engine freeze in SV_ClipToLinks (b1rocks). 29.Improved info for missing frame/skin warnings. 30.Improved info for missing precached sounds and added a QC stacktrace if developer is set to 2. 31.Added QC stack trace when exceeding max edicts. 32.Added a warning for excessive QC stack size requirements. If this happens, a normal engine will abort. 33.Fixed minor issues when demo playback terminates. 34.Changed so warning for exceeding 32k globals in progs only occurs once. 35.Fixed a minor memory trashing bug in hunk allocation routines. 36.Fixed a potential bug when approaching the 64k max message limit. 37.Increased usable range for cvar host_maxfps to 1-1000. 38.Added new mode 2 for cvar host_sleep which reduces CPU load even more at some performance cost. Useful e.g. when having CPU cooling problems or saving batteries. 39.Removed option "-freechk"; the printout is now enabled by setting developer to 2 instead. 40.GL: Increased MAXALIASVERTS from 2000 to 4096 and moved warning for exceeding old limit to developer 3. 41.Win: Increased MAXALIASVERTS from 2000 to 4016 and added warning (same as GLQuake). 42.GL: Removed warning for "Invalid player skin ..." as it doesn't seem relevant. 43.Win: Disabled warning for model skin width not being a multiple of 4 as it doesn't seem relevant. 44.Added one more player in the mini deathmatch scoreboard to the right in the status bar. 45.Increased default zone size from 256k to 320k. 46.Added some ProQuake network fixes, that e.g. can reduce connect time in some cases. Win/GLQuake 1.30 (Jan 21 2006) 1. GL: Added support for external bsp textures (tga/pcx) in subdirectory "textures" with the same name as the texture (similar to FitzQuake). New cvar gl_exttex controls handling; 0 = disabled (default for performance reasons), 1 = enabled, 2 = show external texes in white to ease identification. 2. GL: Added smooth model interpolation (default enabled, same as NehQuake). New persistent cvars r_interpolate_model_animation/r_interpolate_model_transform control behaviour. It is recommended to keep both cvars synchronized for best results and using the single menu option "Interpolation" will toggle both values. There is also another new persistent cvar r_interpolate_model_weapon that only affects weapon interpolation (default enabled). 3. GL: Improved lighting of models in bright light. Cvar gl_autobright controls behaviour; 0 = GLQuake compatibility, 1-2 = standard brightening, 3 = high intensity. 4. Win: Fixed bug that prevented fullscreen operation. Bug was introduced in 1.26. 5. Speed optimized build which makes it faster in maps with many monsters (physics intensive). 6. Added rudimentary Nehahra support. To play standard Nehahra, just add the "-game nehahra" and "-nehahra" options. To play another Nehahra mod, add "-game mod" and "-nehahra". 7. Fixed bug which caused sky textures with non-standard size (should be 256x128) to be improperly displayed and added a developer warning. 8. Added alias command completion. 9. Increased MAX_SOUNDS from 256 to 1k and added warning when exceeding normal limit. This breaks protocol/demo compatibility, new server protocol number is 10002. Client can still connect to or playback std protocol 15 or previous protocols 10000-. 10.Win: Fixed repaint of skins when r_fullbright is toggled. 11.GL: Fixed several serious bugs in pcx loading code. 12.GL: Fixed bug which caused RLE-compressed tga skyboxes to be improperly displayed. 13.Added total # known sounds to the soundlist command. Note that this is not the same as the total # sounds in the current map; it's only a summary of the sound list. 14.Added workaround to handle huge maps with >64k clipnodes. All entities will be stuck. 15.Added support for services for svc_skybox and svc_fog. WinQuake will just silently parse these services. 16.Fixed bug and increased tolerance in progs strings validation. 17.Added a large amount of validations and info to QC builtin functions and progs loading. 18.Added more protection against string overwrites. 19.Added cvar host_maxfps (default 72, usable range 10-1000), same as FitzQuake. 20.Win: Added cvar gl_polyblend which enables palette shift (default 1, same as in GLQuake). 21.Added cvar value host_speeds 2 which enables a slower averaging display. 22.Improved precision in ftos QC function which e.g. enables better fog control. 23.GL: Fixed player stuck bug in QRally. Make sure mod is installed in directory "rally". 24.Changed so invalid QC sound parameters only result in a warning. 25.Changed so killed monsters > total monsters warning is suppressed when playing a demo and developer cvar is 0. 26.Fixed a crash bug when loading sounds with corrupt data. 27.Changed so a break statement in QC doesn't result in an engine crash anymore. 28.Added support for 64k globals in progs. 29.Added developer printout of # statements/globals in progs. Normal globals limit is 32k and there's a warning when it's exceeded. 30.Added option "-freechk" which enables warnings for accessing already free edicts in progs. 31.Added option "-nocrash" which enables some extra performance sapping progs validations. 32.GL: Added option "-nofreetex" which disables freeing of bsp textures at map load time. This is primarily intended for 3dfx miniGL users, in which case it can significantly reduce memory footprint. Using standard OpenGL, this option will speed up repeated map loading at the expense of higher memory requirements. Increased MAX_GLTEXTURES from 1k to 2k again as a result. 33.GL: Minor improvement of skybox display (reduction of bilerp seam). 34.Fixed a bug which caused MAX_MOD_KNOWN limit to be exceeded when many files couldn't be found. 35.Increased # video modes from 128 to 600. 36.Fixed rare abort bug when loading savegames (atfe1m1). 37.Added more info to some parsing errors in client. 38.Added more info to some memory allocation errors. 39.Reduced heapsize requirements for maps with big light/visdata lumps. 40.Changed Sys_Error into a Host_Error when encountering a too large demo message or trying to load a non-existing model. 41.Fixed several invalid direct manipulations of cvar values in the engine. 42.Fixed minor fullscreen menu cursor issue. 43.Win: Reduced heapsize requirements when using large screen resolutions. 44.Win: Fixed a crash bug when specifying a screen height larger than 1024 (max allowed). 45.Minor speedup when r_fullbright is enabled. Win/GLQuake 1.29 (Sep 7 2005) 1. GL: Added cvar "gl_autobright" that affects light levels for some models. 0 is for GLQuake compatibility, 1 (default) means automatic brightening of some models (mainly flames, torches, keys etc), 2 adds more brightness to some models (typically bolts) and 3 increases brightness even more. 2. Added command "viewpos" which just prints current position and mangle for the player (same as FitzQuake). Useful e.g. when finding intermission spots. 3. GL: Fixed a crash bug when loading textures with invalid dimensions. 4. GL: Removed logic for cached model meshes and printouts. 5. Added more validations and info when loading textures with invalid dimensions. 6. Added many more validations and info when loading paks/progs/bsps/models/sprites with corrupt data. 7. Added warning when killed monsters > total monsters. 8. Improved memory allocation for temporary files to use memory outside the hunk if necessary. 9. Added warnings when exceeding some texture buffers. 10.Added more info to missing frame/skin warnings. 11.Added hack to avoid synchronized flame animations. 12.GL: Increased MAXALIASVERTS from 1024 to 2000, same as WinQuake. 13.Improved sound when having many particles and added check for excessive particles. 14.Disabled sound when displaying abort message box. 15.Reduced runaway loop from 10000000 to 5000000, added progress info and disabled sound while looping. 16.Increased MAX_SFX from 512 to 1024. 17.GL: Fixed a potential crash bug in R_TranslatePlayerSkin. Win/GLQuake 1.28 (Jun 6 2005) 1. Improved performance for dynamic lighting. 2. Improved sound when having many entities. 3. GL: Fixed a crash bug when loading a map with some models missing. 4. Increased tolerance when parsing entity keys to avoid some Host_Errors. 5. Fixed intermission camera when playing back demo. 6. Modified intermission display to handle 4-digit monster counts. 7. Win: Increased MAX_BMODEL_VERTS from 500 to 1000 and MAX_BMODEL_EDGES from 1000 to 3000. 8. Increased default zone size from 48k to 256k. 9. Strengthened client parsing and added more info to error messages. 10.Changed so pressing a key during demo playback doesn't bring up the menu anymore. 11.Improved error handling when reading/writing demofile. 12.GL: Fixed bug that enabled fog from worldspawn even if density was set to zero. Win/GLQuake 1.27 (Apr 9 2005) 1. Improved console key handling similar to FitzQuake; added console freeze while not at end of buffer, Ctrl-Home/End for begin/end of buffer, Ctrl-PgUp/PgDn for page up/down (same as Home/End). Also improved handling at low resolutions and bound the CapsLock key. 2. Fixed a lock-up bug regarding triggered entities (reproducible with Reaper bots on dm3) and rewritten handling to avoid similar problems. 3. Fixed rare crash bug in beam handling when having many shamblers attacking. 4. Added cvar scr_showedicts which displays current active and max edicts in the lower right corner of the screen (default 0). 5. GL: Added command "lightmaps" which just prints # lightmaps for current map. 6. Added command "staticents" which just prints # static entities for current map. 7. Added cvar con_logtime which sets # seconds between time stamps in log file (default 0 = disabled). 8. Reduced CPU load in low-stress situations. To disable this, set new cvar host_sleep to 0. 9. Added more edict info (classname etc) when finding invalid fields and fixed a bug when finding e.g. "light " or "angle " keys. 10.Fixed a bug in the signon buffer size warning. 11.Increased MAX_MSGLEN and MAX_DATAGRAM from 32k to 64k and made server signon_buf size dependant on MAX_MSGLEN. 12.Fixed a bug that caused stack corruption when finding invalid ev_vector values (requires three separated float values, e.g. "mangle" "1 2 3"). 13.Added more protection when parsing entity keys. 14.Added more info to some error messages when exceeding limits. 15.GL: Expanded video mode menu list. 16.GL: Changed default value for cvar gl_subdivide_size from 128 to 512 and set a lower limit of 32. 17.Changed default value for cvar scr_conspeed from 300 to 5000. 18.Added total # known models to the mcache command. Note that this is not the same as the total # models in the current map; it's only a summary of the mcache list. 19.Increased static client message size from 1k to 8k. 20.Increased capacity and added protection for some cmd buffer related operations. 21.Increased runaway loop again from 300000 to 10000000 to avoid some rare Host_Errors. 22.Added option "-nomsgbox" which just disables the abort message box. 23.Increased MAX_TEMP_ENTITIES again from 256 to 512 and MAX_BEAMS from 24 to 256. 24.Disabled beams when game is paused. 25.Win: Removed some hopefully unnecessary stack checks and dead code. 26.Fixed a potential bug in SZ_Print. Win/GLQuake 1.26 (Feb 18 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: Added fog support via new cvars gl_fogenable, gl_fogdensity, gl_fogred, gl_foggreen and gl_fogblue. Use cvars directly or command/key "fog" (similar to FitzQuake). 3. GL: Added cvar gl_skyclip (default 4608) to control far clip for sky in fog. 4. GL: Improved texture usage to reduce memory footprint. As a result, MAX_GLTEXTURES has been restored to 1k. 5. GL: Fixed bug that could cause memory corruption or crash if e.g. console background was too big. Also made memory allocation for texture scaling more flexible. 6. GL: Reduced virtual memory usage by typically 30MB by making the lightmaps array dynamic. As a result, up to 1k lightmaps can now be handled. 7. GL: Fixed bug that caused HOMs when using non-default fov (field of view, e.g. 110) values in some resolutions. 8. Improved sound handling when framerates are low due to big map with many entities. 9. GL: Added hack for more fullbright flame/candle/lantern models. 10.Win: Fixed several bugs regarding weapon display and chase camera. 11.Fixed annoying waterjump when in noclip mode. 12.Fixed bug that caused the signon buffer size warning to appear too often. 13.GL: Changed default value for cvar gl_keeptjunctions to 1. 14.GL: Removed support for 8-bit shared texture palette as it caused problems on some systems. This means that the engine behaves like the "-no8bit" option always is enabled. 15.Increased buffer size (cmd_text) for commands and scripts from 8k to 64k. 16.Fixed rare crash bug when loading leafs lump with invalid data. 17.Fixed rare crash bug when loading clipnodes with invalid data. 18.Fixed rare crash bug when loading edges or vertexes with invalid data. 19.Fixed rare bug that allowed deletion of worldspawn via spawnflags. 20.Improved handling when correcting missing NUL in entity lump. 21.Fixed bug that prevented some strings from being logged to file. 22.Fixed bug that prevented some startup developer messages from being printed or logged. 23.Optimized console log file handling. 24.Fixed bugs that prevented saved games from loading if '}' or EOF (0x1A) existed in an entity string. 25.Added warnings for missing/invalid models when loading saved games. 26.Fixed bug when saving games with newlines/EOF in map title. 27.Fixed status bar updating when using "give" command. 28.Fixed bugs and added more info in progs.dat stacktrace handling. 29.Added more info to some parse related messages. 30.Increased # video modes from 30 to 128. 31.GL: Removed printout of OpenGL extensions. 32.Added more info to the "SZ_GetSpace: ..." overflow errors. 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. This breaks protocol/demo compatibility, new server protocol number is 10000. Client can still connect to or playback std protocol 15. 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 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 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 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 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 cvar r_waterwarp which enables underwater warping (default 1, same as WinQuake). 12.GL: Added cvar r_clearcolor to control void colour (default 251 = bright red). 13.Added 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; added autorepeat and Home/End keys for page 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. ================================================================================================== NEW OR CHANGED COMMAND LINE OPTIONS -freemdl Enable freeing of mdls between maps (GL only). Useful when testing external skins or reducing memory footprint at the expense of much slower map loading times. When using this option, OpenGL memory for sprites will also be freed at map load time (otherwise avoided for performance reasons). -gamma x Set gamma to x and disable in-game hardware gamma (GL only). Use only if hardware gamma is not present or undesired. -nehahra Enable Nehahra support. To play standard Nehahra, just add the "-game nehahra" and "-nehahra" options. To play another Nehahra mod, add "-game mod" and "-nehahra". -no8bit Removed, the engine behaves like this option is always enabled (GL only). -nocrash Enable extra QC validations to avoid crashes, may slow down operation. Normally not needed. -nofreetex Disable freeing of OpenGL textures between maps (GL only). Useful to improve performance at the expense of higher memory consumption or to work around limitations in 3dfx's miniGL (can't free textures at all). -nomsgbox Disable message box when aborting with a system error, useful for automation. Error will still be written to log file. -nomtexarb Disable OpenGL ARB multitexture (if present, SGIS will be used instead, GL only). -quoth Enable Quoth support. To play standard Quoth, just add the "-game quoth" and "-quoth" options. To play another Quoth mod, add "-game mod" and "-quoth". -startwindowed Run game in a window (WinQ only). If window size (-width/-height) is same as the desktop resolution, title bar and borders are automatically removed, effectively offering fullscreen operation. This may help some graphic cards that have problems switching to real fullscreen mode. It also offers the possibility to have other desktop apps on top of the game window, e.g. reminders. -window Run game in a window (GL only). Same functionality as above. ================================================================================================== NEW OR CHANGED CVARS AND COMMANDS Graphics, textures ------------------ gl_alphablend 0/1 Enable automatic generation of alpha channels in external tga/pcx images for sprites if there is no alpha channel already (default 1). gl_autobright 0-3 Set automatic brightness handling for some models. 0 = disabled (GLQuake compatibility), 1 (default) = brightening of some models (mainly flames, torches, keys etc), 2 = more brightness to some models (typically bolts) and 3 = increase brightness even more overall. gl_exttex 0-2 Enable external textures (tga/pcx). 0 = disabled (default for performance reasons), 1 = enabled, 2 = show external texes in white to ease identification. Set the cvar in autoexec.cfg. Bsp textures must be put in subdirectory "textures/" or "textures", in that order and with the same name as the texture. Mdl/spr textures will default use JoeQuake style; texture file name translation is e.g. model.mdl -> model_0.tga in subdirectory "textures/models" ("textures/sprites" for sprites) or "textures", in that order. gl_exttexdp 0/1 Enable DarkPlaces style for mdl/spr textures; translation is e.g. model.mdl -> model.mdl_0.tga in same directory. Set the cvar in autoexec.cfg. gl_exttextq 0/1 Enable TomazQuake style for mdl/spr textures; translation is e.g. model.mdl -> model_0.tga in same directory. Set the cvar in autoexec.cfg. gl_exttexworld 0/1 Enable external world textures (default 1). If set to 0, world textures will always be loaded from bsp even if gl_exttex > 0. gl_oldspr 0/1 Enable old sprite handling (not recommended). gl_smoothfont 0/1 Enable improved readability of console text font by smoothing it (default 1). This helps especially when using odd combinations of screen and console width. gl_texquality 0-2 Set texture quality; 0 = GLQuake compatibility, 1 = better resampling and reduced blurring of console graphics (default), 2 = same as 1, but reduced blurring of all textures. Highest level requires much more memory and some slowdown when loading maps. Set the cvar in autoexec.cfg. gl_texturemode x Set new texture mode. Use one of the six identifiers or numerically 1-6. All modes are listed when specifying an invalid mode. Graphics, skybox/fog -------------------- fog d r g b Enable/disable/modify/show fog parameters density/red/green/blue, all values are floats, 0-1 (GL only). The command has several modes. Without parameters, it just shows current values. Specifying just density (one parameter), you can disable (set 0) or enable/modify density without affecting other values. By specifying density and common colour (two parameters) for all rgb channels, you can quickly tune main fog characteristics. Finally by using all four parameters, you control all values. gl_fogblue 0-1 Set blue component of fog. gl_fogdensity 0-1 Set density of fog. gl_fogdisable 0/1 Globally disable fog. This overrides gl_fogenable and can be used e.g. in Nehahra to disable fog independently of QC setting. gl_fogenable 0/1 Enable fog. This can be overridden with gl_fogdisable. gl_foggreen 0-1 Set green component of fog. gl_fogred 0-1 Set red component of fog. gl_skyclip x Set far clip distance for sky in fog (default 4608). This is a tradeoff between fog density and the ability to handle skyboxes in big maps. r_oldsky 0/1 Disable current skybox and use standard Q1 animated sky (GL only). r_skytq 0/1 Enable compatibility for maps with skyboxes in TomazQuake style (i.e. invalidly rotated 90 degrees to the left) (GL only). sky x Enable/set current skybox to x (GL only). The six skybox images (tga/pcx) must be in subdirectory gfx/env or env and have names like x_bk, x_dn, x_ft, x_lf, x_rt and x_up (for back/down/front/left/right/up), standard VRML style. Graphics, interpolation ----------------------- cl_altlerp 0-2 Enable improved model interpolation when playing back demos (GL only); 0 = disabled (default), 1 = mixed, automatic mode, 2 = fully enabled (recommended). r_interpolate_model_animation 0/1 Enable model animation (frame) interpolation (default 1, GL only). r_interpolate_model_transform 0/1 Enable model transformation (movement) interpolation (default 1, GL only). r_interpolate_model_weapon 0/1 Enable model animation (frame) interpolation for the weapon (GL only). This is default the same as r_interpolate_model_animation, but can be separately disabled for better weapon animation (recommended). Graphics, Nehahra ----------------- gl_oldspr32 0/1 Enable old and buggy Nehahra spr32 handling (not recommended). nospr32 0/1 Disable Nehahra spr32 handling (not recommended). Graphics, misc -------------- chase_active 0-2 Control chasecam view, 0 = disabled (default), 1 = enabled with view mostly kept inside map, 2 = enabled with fixed view distance controlled by std chase_back cvar. gl_polyblend 0/1 Enable palette shift (default 1, same in Win/GLQuake). r_clearcolor 0-255 Set void colour (default 251 = bright red). r_flatlightstyles 0/1 Disable animated (styled) lights (e.g. torches). This can significantly improve r_speeds in big unvised maps with many torches. r_novis 0-2 Disable use of world vis information in bsp. Setting it to 2 will disable all vis information in bsp and this means that all entities will also come into view, which can have a large impact on r_speeds. r_particles 0/1 Enable particles (default 1). r_shadows 0-1 Enable projected entity shadows (GL only). Shadows are fully interpolated, height blended and many of the earlier strange artifacts are gone. You can also specify shadow darkness; 0 = no shadows (default), 1 = 0.5 for compatibility (recommended) or any other float value 0-1. r_waterwarp 0/1 Enable underwater warping (default 1). v_gunkick 0/1 Enable gun kickback (default 1). Client/server, troubleshooting ------------------------------ developer 0-3 Enable more or more detailed warning/error messages. This is highly recommended and should be used with command line option "-condebug", which enables logging to file. 0 = disabled (default, not recommended), 1 = normal (recommended for players), 2 = high (recommended for mappers or modders), 3 = highest (only for specific troubleshooting). Set the cvar in autoexec.cfg. edict_reuse 0/1 Control edict reuse policy. The main purpose is to make the warning for accessing free edicts more efficient if the edicts stay free for a longer period before being reused. 1 = classic policy (default); reuse after 0.5s except during the first 2 seconds after map load. 0 = reuse sequentially in a loop, utilizing the entire edict range. This will typically delay reusage until absolutely necessary. host_speeds 0-2 Enable display of server/renderer speeds. 0 = disabled (default), 1 = enabled, 2 = enabled with slower, averaging display. lightmaps Show lightmaps requirement for the current map (GL only). mcache Show list of currently loaded models. Note that this is not the same as the total # models in the current map; it's only an accumulative snapshot. scr_showedicts 0/1 Enable continuous display of current active/peak edicts. soundlist Show list of currently loaded sounds. Note that this is not the same as the total # sounds in the current map; it's only an accumulative snapshot. staticents Show # static entities for the current map. sv_protocol x Set server protocol (default 10002). Currently possible values are 15 (std Q1) and 10000-10002. This can be useful to increase compatibility with some mods, networked clients or for recording std demos. When using protocol 15, server packet sizes will be limited to 1024 (the old limit). Also note that using protocol 15 only ensures structural protocol compatibility; the server is still using high limits internally, so its behaviour will still be different from limited engines. Limited clients can still abort due to e.g. edict overflow or other contents problems. Client/server, misc ------------------- host_maxfps 1-1000 Set max framerate (default 72). host_sleep 0-2 Enable brief sleeping for significantly lower CPU load. 0 = disabled, 1 = sleep when framerate is higher than host_maxfps (default), 2 = sleep more often with minor performance loss, useful e.g. when having CPU cooling problems or saving batteries. When recording/playing back demos, host_sleep will automatically be lowered to max 1 for smooth operation. mapname Show current name of bsp. sv_altnoclip 0/1 Enable alternative Q2-like noclip movement. viewpos Show current player position and mangle. Useful e.g. when finding intermission spots. Console ------- con_logcenterprint 0-2 Enable console logging of centerprint messages. 0 = disabled, 1 = enabled (default), 2 = logging will also occur in DM. con_logtime x Set # seconds between time stamps in log file (default 0 = disabled). ================================================================================================== RECOMMENDED SETTINGS Always use option "-condebug" and if your system can handle it, try the following: cl_altlerp 2 developer 2 gl_max_size 2048 gl_texquality 2 r_interpolate_model_weapon 0 r_shadows 1 scr_showedicts 1 Set the cvars in autoexec.cfg. ================================================================================================== PERFORMANCE/COMPATIBILITY TIPS Do not use an excessive heapsize, the default size is sufficient and fastest in most cases. If you have a lot of available RAM or you're using the old 3dfx miniGL, try adding the "-nofreetex" command line option to speed up repeated map loading. If you want to speed up renderer, try the following: gl_subdividesize 2048 // helps in outdoor areas gl_texquality 0 // helps loading times a little r_dynamic 0 // no dynamic lights r_flatlightstyles 1 // helps a lot when many torches r_fullbright 1 // if you're desperate for speed r_particles 0 // no particles r_shadows 0 // helps a lot when many entities If your machine seems to be choking on a small map for no obvious reason (e.g. no excessive disk activity), you may have exceeded the texture memory of your graphics card. Try the following: gl_max_size 512 // or even lower; 256 gl_picmip 1 // or even higher; 2,3,4 If you get client aborts in a certain mod, try using lower values for sv_protocol. If you prefer the original look of GLQuake, try the following: gl_autobright 0 gl_oldspr 1 gl_smoothfont 0 gl_texquality 0 r_interpolate_model_animation 0 r_interpolate_model_transform 0 In each case, set the cvars in autoexec.cfg and restart engine for max effect. ================================================================================================== CURRENT LIMITS (GL/Win) Bsp Normal limit Comment --- ------------ ------- Clipnodes ~64k 32k If >64k, all entities are stuck Faces 64k 32k Lightmaps 1024 64 Marksurfaces 64k 32k Nodes ~32-64k 32k Nodes+leafs < 64k Planes >32k 32k Static entities 256 128 Surface extents >512/256 512/256 Texinfo >32k 32k Visleafs 32k 8k Vis/light data 2048M heapsize Allocated outside Quake heap Mdl Normal limit Comment --- ------------ ------- Mesh commands 16384 8192 Mesh strips 256 128 Skin height 1024 480 Triangles 4096 2048 Vertices 4096/3984 1024/2000 Sounds Normal limit Comment ------ ------------ ------- Channels 516 128 Dynamic channels 128 8 Client/Server Normal limit Comment ------------- ------------ ------- Clients 64 16 Packet size ~64k 1k Progs globals 64k 32k Runaway loop, QC 5000000 100000 Signon buffer size ~64k ~8k Stack size, QC 256 32 Static client message 8192 1024 Graphics Normal limit Comment -------- ------------ ------- Beams 256 24 Console background 1024M 640x480/320x200 Upsampled 32-bit image < 1024M Far clip distance 16384 4096 GL textures 2048 1024 Bsp textures are default freed when changing map Temporary entities 512 64 Texture size 1024M 1200k Upsampled 32-bit image < 1024M Texture size, sky any =256x128 Odd sized sky tex will be resized to 256x128 Video modes 600 30 Visible edicts 4096 256 WinQ bmodel edges 3000 1000 WinQ bmodel vertices 1000 500 Misc Normal limit Comment ---- ------------ ------- Command/script buffer 64k 8k Console buffer size 256k 16k Edicts 4096 600 Efrags 2048 640 File handles 100 10 Models, precached 1024 256 Mods, unique 2048 512 Sounds, precached 1024 256 One sound service is unsupported with sv_protocol 10002 (default) Sounds, unique 2560 512 Temporary files 1024M heapsize May be allocated outside Quake heap Zone size, default 320k 48k ================================================================================================== Original Win/GLQuake source code by John Carmack, http://www.idsoftware.com Many modifications inspired by Metlslime's FitzQuake, http://www.celephais.net/fitzquake Ender/LordHavoc's NehQuake, http://www.planetquake.com/nehahra Tyrann's TyrQuake, http://disenchant.net QIP Quake, http://www.inside3d.com/qip LordHavoc's DarkPlaces, http://icculus.org/twilight/darkplaces ProQuake, http://www.planetquake.com/proquake JoeQuake http://joequake.quake1.net