DD Mmm 17 - 1.49 chg: reduced CPU usage in the client add: color cvars for console customization con_colBG (default: "101013F6") - console and help panel background con_colBorder (default: "4778B2FF") - the console and help panel borders con_colArrow (default: "4778B2FF") - console backscroll arrows con_colShadow (default: "000000FF") - text shadows con_colHL (default: "303033FF") - auto-completion highlight (see con_completionStyle 1) con_colText (default: "E2E2E2") - normal text con_colCVar (default: "4778B2") - cvar names con_colCmd (default: "4FA7BD") - command names con_colValue (default: "E5BC39") - cvar values con_colHelp (default: "ABC1C6") - help text add: con_drawHelp (default: 1) controls the help panel displayed below the console 1 - enables the help panel 2 - draws the help panel even if the current cvar/cmd has no help text 4 - draws the list of modules the current cvar/cmd belongs to 8 - draws the list of attributes of the current cvar fix: console/messagemode input buffers would ignore the last off-screen color modifier when scrolled fix: console/messagemode input buffers would sometimes display the cursor at the wrong position chg: console/messagemode input buffers now display the "^" character of color codes fix: taking screenshots with a render width (r_width) that wasn't a multiple of 4 would either crash or produce bad screenshots fix: false positives of the "SCR_UpdateScreen: recursively called" fatal error repro: connect, get kicked, connect, get kicked fix: crash when the number of shader stages was wrong (would happen with the "brandon" player model) fix: the release of a key bound to "+vstr a b" would execute "b" even though the key press didn't execute "a" chg: r_brightness <0.25 to 32.0> (default: 2) replaces r_overBrightBits r_mapBrightness <0.25 to 32.0> (default: 2) replaces r_mapOverBrightBits the new cvars use floating-point values (more control) and a linear scale (more intuitive) to convert the old engine values to the new values: r_brightness = pow(2, r_overBrightBits) r_mapBrightness = pow(2, max(r_mapOverBrightBits - r_overBrightBits, 0)) chg: r_mode <0|1|2> (default: 0) selects the video mode r_mode 0 = no screen mode change, desktop resolution r_mode 1 = no screen mode change, custom resolution, custom upscale mode r_mode 2 = screen mode change, custom resolution (for the CRT users) Custom resolution means using r_width and r_height. Custom upscale mode means using r_blitMode. add: r_blitMode <0|1|2> (default: 0) selects the upscale mode used by r_mode 1 r_blitMode 0 = aspect-ratio preserving (black bars if necessary) r_blitMode 1 = no scaling, centered r_blitMode 2 = full-screen stretching (no black bars) add: cvar_trim command to remove all user-created cvars add: with compatible mods, drop and disconnect errors will be displayed in the UI add: s_autoMute <0|1|2> (default: 1) selects when the audio output should be disabled s_autoMute 0 = never mute s_autoMute 1 = mute when the window doesn't have input focus s_autoMute 2 = mute when the window is minimized add: cl_matchAlerts (default: 7) lets you know when a match is starting 1 - when unfocused (otherwise only when minimized) 2 - flash the task bar (Windows only) 4 - beep once (Windows only) 8 - unmute (temporarily overrides s_autoMute) add: new commands to take screenshots with the console hidden screenshotnc for TARGA (.tga) images screenshotncJPEG for JPEG (.jpg) images they will be used for end-game screenshots by CPMA 1.50+ with compatible engines add: in_noGrab <0|1> (default: 0) disables input grabbing add: bindkeylist command to print all bindable key names add: uptime command that prints uptimes for the process, the current map and the parent process add: keys F13 to F24 are now bindable add: new cvar type and range extension for compatible mods like CPMA 1.50 add: new help commands for commands and cvars of the engine and compatible mods like CPMA 1.50 help|man to display the help of a cvar or command searchhelp to list all cvars and commands whose help or name matches the pattern fix: /bind was treating single-character key names in a case sensitive manner add: new CNQ3 download system that uses checksums to get the right pak files the CNQ3 download system will use the WorldSpawn map server for inexact queries (when loading demos or using /dlmap) when the CNQ3 map server doesn't have the file system | speed | cases | source(s) | file availability | server requirements -------|-------|---------------------|---------------|-------------------|-------------------- CNQ3 | fast | pure servers, demos | map server(s) | not guaranteed | none id | slow | pure servers only | the Q3 server | guaranteed | sv_allowDownload 1 chg: cl_allowDownload <-1|0|1> (default: 1) can be used to select the download system cl_allowDownload -1 = id's original download system cl_allowDownload 0 = downloads disabled cl_allowDownload 1 = CNQ3 download system add: new commands for manually initiating and canceling fast downloads: dlpak to download a pak by its checksum if the pak doesn't exist locally dlmap to download a map by name if no map with such a name exists locally dlmapf to force download a map by name dlstop to cancel the download in progress, if any fix: r_fullbright is no longer latched and actually does its job fix: r_lightmap is now archived and actually does its job add: r_greyscale <0.0 to 1.0> (default: 0) to control how monochromatic the final image looks r_greyscale 0 = full color (nothing done) r_greyscale 1 = completely monochrome add: con_completionStyle <0|1> (default: 0) to select the auto-completion style con_completionStyle 0 = always print all results con_completionStyle 1 = print once, then cycle results like Enemy Territory's console chg: cvars and commands are alphabetically sorted fix: commands registered by cgame no longer auto-complete after the cgame qvm has shut down chg: removed r_stencilbits, r_depthbits, r_colorbits, r_texturebits and r_ext_compressed_textures chg: using stb_image to load png and tga images fix: libjpeg errors no longer shut down the engine add: m_accelStyle <0|1> (default: 0) to control the mouse accel style m_accelStyle 0 = legacy CNQ3 accel style m_accelStyle 1 = new accel style, similar to quake3e's cl_mouseAccelStyle 1 add: m_accelOffset <0.001 to 5000> (default: 5) to control the power offset with m_accelStyle 1 add: sv_minRestartDelay <2 to 48> (default: 2) the min. amount of hours to wait for before restarting the server a scheduled restart won't happen until there are no more human players connected fix: broken rendering when the 2nd stage of a collapsed shader stage pair had non-white colors fix: shader stages using "wave" were not animated when the server time was too large add: con_scaleMode <0|1|2> (default: 0) specifies the console text scaling mode con_scaleMode 0 = text size scales with con_scale but not the resolution con_scaleMode 1 = text size scales with con_scale and the resolution con_scaleMode 2 = text size is always 8x12 chg: con_scale <0.25 to 10.0> (default: 1.2) specifies the console text scaling factor and nothing else fix: the pukka3tourney2 slime wasn't green with r_vertexLight 1 fix: the ct3ctf1 grate near quad was getting picmipped when it wasn't supposed to be fix: improved the player name look-up behavior for these commands: kick, banUser, dumpuser if 2 players had the same name, it would just pick the first one (lowest client number) fix: multi-view mouse input sensitivity is now the same as in the UI for CPMA 1.50 chg: replaced monitor gamma by a post-process gamma shader and removed r_ignorehwgamma chg: removed stereo rendering chg: anti-aliasing sample count is set with r_msaa on all platforms (on Windows, it was r_ext_multisample) chg: file system start-up will now verify the presence and integrity of baseq3/pak0-8.pk3 instead of only pak0 add: command history saving with con_history (default: 1) chg: replaced id's Huffman codec code with something both simpler and much faster add: r_monitor <0 to monitor count> (default: 0) to select the monitor to display the game on r_monitor is the 1-based index of the monitor to use r_monitor 0 = use the primary monitor r_monitor N = use monitor number N fix: fixed the start-up console window staying visible when starting in full-screen add: crash handlers with crash report generation chg: tweaked console scrolling speeds, fixed backtip insertion on Windows chg: improved level load times add: improved auto-completion with support for map names, bind key names, etc chg: sound fall-off is linear instead of using a power function add: 64-bit support chg: switch from libjpeg 6 to libjpeg-turbo chg: remove the byzantine r_mode usage added in 1.47 Windows: fix: disabled DPI scaling on the client add: in_minimize registers a hotkey to minimize/restore the client key names must be separated by white space and there can be at most 2 modifier keys add: auto-completion and command history in the dedicated server console window add: new bindable key: BACKSLASH (the key to the right of the left shift button) fix: the crash handler will reset the system timer resolution fix: if requesting a resolution too high for the display, the image would be offset vertically chg: updated mouse input for better grab (de-)activation and fixed window dragging not working chg: reduced raw mouse input latency and added cl_drawMouseLag fix: in raw mouse input mode, keeping any button pressed while focusing the window would keep the cursor visible even after releasing all buttons Linux: chg: the client requires SDL 2 - the following things are handled by it: window, GL context, video modes, audio, kb and mouse input, monitor list, clipboard add: m_relative <0|1> (default: 1) enables SDL's relative mouse mode you might want to set it to 0 if you have a messed up input driver add: in_focusDelay <0 to 100> (default: 5) is the time in ms keypresses are ignored after the window gets the focus add: minimize command to minimize the client's window add: automatic dedicated server process restarts for crashes and timed reboots (sv_minRebootDelayMins) this means 2 CNQ3 processes run per server: a parent (fixed pid) and a child (new pid after each restart) this behavior can be disabled by passing "nohardreboot" as a command-line argument the new command sv_restartProcess can be used to shut down the child process and start a new one fix: color codes (e.g. "^1") don't get printed to the terminal anymore fix: tty handling of the leading "]" character fix: dedicated servers no longer insert a leading backslash when running auto-completion fix: the crash handler will reset tty input mode correctly chg: tty input behavior matches in-game behavior when cgame is running and fixed the truncated tty input 17 Sep 11 - 1.47 add: backported another bunch of dlight stuff from the pmx branch adds support for bmodel entities (doors, plats, etc) add: back directInput mouse (in_mouse 2) add: back flare support add: disable/enable windows keyboard shortcuts add: cnq3 windows can minimize/restore add: dynamic light by GLSL shaders add: r_maplightBrightness (from 0 to 8) and r_maplightSaturation(0-4). to use this parameters set r_maplightColorMode 1. add: r_maplightColorMode to configure lightmaps add: r_mode can be set resolution and frequency display. For example, r_mode "640x480@100" fix: in_mouse -1 kept relocating the system cursor even if not focused fix: implement the sound change from 1.45 *correctly* :P fix: default build does not create option r_smp. To assemble the build with the option r_smp need to use preprocessor USE_R_SMP fix: small fixes to CVA rendering code fix: fix opStack and rename targets for unix fix: GTV/spectator can't change POV after map changed fix: render shader time overflow (fix splashdamage bug). fix: mouse event queue 24 Nov 09 - 1.46 add: hopefully worked around some vistajoke mousewheel issues add: m_limit (default: 0 = off), the maximum post-accel speed to use chg: sensitivity renamed to m_speed chg: rewrote pretty much all the mouse code chg: removed the DI code in favor of "raw" mouse input this means only mouse1-mouse5 are supported on windows, sigh MS... chg: updated freetype from 2.3.5 to 2.3.11 05 Nov 09 - 1.45 note: this release REQUIRES arb shader support if your card doesn't have it, use an older version add: hw gamma should work on Vista add: r_measureoverdraw is actually useful add: r_speeds is far more useful now chg: sound attenuation is biased i.e. distant sounds are much louder than in 1.43 since it's still more correctly spatialised than pre-1.43, this is the best compromise i can come up with chg: r_fullbright works in vertexlight mode (only) instead of lightmap only, where it just wasted bandwidth and vram chg: r_customwidth, r_customheight renamed to r_width, r_height chg: hardcoded r_mode garbage and modelist removed: r_mode 0 (default) = current desktop resolution, depth, hz, etc r_mode 1 = custom resolution etc note: r_mode 1 WILL NOT tolerate invalid r_displayRefresh values any more chg: require opengl 1.4 or higher removed r_allowExtensions, r_primitives, r_ext_compiled_vertex_array, r_ext_multitexture, r_ext_texture_env_add chg: removed a bunch of useless/obsolete cvars: r_logfile, r_showcluster, r_facePlaneCull, r_ignoreFastPath, r_drawSun, r_simpleMipMaps, r_offsetFactor, r_offsetUnits chg: don't tablist cheatvar noise if cheats are off chg: removed the last bits of legacy altivec cruft chg: rewrote pretty much all the dlight stuff not only does it actually work reliably now but it's also massively improved in terms of quality fix: ignorehwgamma 1 would fail to apply sw gamma to some images fix: roqs failed to apply sw gamma fix: sv_floodprotect could block all commands indefinitely 12 Aug 09 - 1.44 (server only) fix: unbannable player exploit (stanway/auriemma) 08 Aug 08 - 1.43 fixed sfx0 using a real sound and thus "hiding" it corrected sv_pure back to CVAR_ROM added the correct "fastsky!=0 == disable portals" test, ffs me :P removed long-obsoleted r_lastValidRenderer removed long-obsoleted r_ext_gamma_control removed pointless cl_forceavidemo removed r_rail* and marked the never-used RT_BEAM etc as such removed RAVENMD4 completely r_fullbright is not a cheat var fixed a bug with CVAR_CHEAT fixed another bug in \video (hopefully) fixed distance culling on dlit patch seams changed r_ext_max_anisotropy default to 16 added con_scale for console font scaling 0 = Q3 style, always 8x12 pixels regardless of screen rez 1 = Q4 style, scales with screen rez !0 = scale with screen rez and a custom multiplier straightened out the con cvar mess: cl_noprint -> con_noprint scr_conspeed -> con_speed and correctly CVAR_ARCHIVE con_notifytime correctly CVAR_ARCHIVE removed cl_conXOffset since it basically doesn't work sleep correctly if an unfocused client (win32-only) don't sleep INcorrectly if a dedicated server (win32-only) fixed a (huge) memory leak in the vm fixed sv_pure 1 problems on listen servers another overhaul of the sound code: spatialisation is now correct, which has two huge impacts: you can "place" sounds MUCH more accurately than before, but as a result, distant sounds are MUCH quieter removed s_doppler, it's almost right but it just sounds like shit most of the s_mixprestep hackery has been removed, and you can probably set it to 0 if your sound drivers work properly OAL support has been dropped completely and indefinitely it's crap and i'm tired of it poisoning the codebase Mar 08 - 1.42 bots are no longer kicked by devmap legacy cack like joystick/midi support only pollutes configs if enabled fixed a memory leak in the sound code fixed even more (hopefully all) dropped sound issues in snd_dma made com_soundmegs SLIGHTLY less broken: now only 2x instead of 3x :P note that "soundmegs" are taken FROM THE HUNK now to fix the leak so you need to increase com_hunkmegs by 2x your com_soundmegs removed the explicit and incorrect "fastsky==1 == disable portals" test r_noportals is not a cheat var hyperspace is a bit less annoying purged the unused (never finished) idMD4 model code fixed some bugs in referencedpak list generation fixed roqs ignoring s_volume fixed widescreen modes crashing on listen servers fixed downloads not completing properly 18 Feb 08 - 1.41 removed all bs references to GT_SINGLE_PLAYER and ui_singlePlayerActive (except from the bot code, which has bigger problems) added sv_singleplayer improved TTF overhead a lot: now as fast as crappy bitmap fonts :D removed the stupidity of every key aborting demo playback: now ESC only only play the id logo cin the FIRST time, not every fkn time removed the broken stencil/projection shadow code avis produced by \video actually work (bug+fix both from ioq3) fixed some ABSURD buffer overruns and broken code in snd_dma which caused random dropped sounds for no reason it's a miracle it doesn't segfault any real OS also dumped the unused-since-TA adpcm/mulaw/etc cruft fixed a TA-era (surprise, surprise) bug that broke loopsound behavior loop (ie ambient) sounds are now 75% volume q3config is NEVER autowritten just because of bind/cvar changes it sucks if you're playing and it sucks even more if you're on GTV UI/SP code should write it EXPLICITLY if they want to save something 19 Dec 07 - 1.40 the code now requires a C++ compiler MASSIVE cleanups of the codebase, tho still plenty of bits left screenshot filename is YYYY_MM_DD-HH_MM_SS-TTT this means they'll never collide *; moviemakers won't run out; and the engine DOESN'T STAT 10,000 FILES EVERY FRAME (* except at 2am on an autumn night if you're amazingly unlucky :P) demo filename is YYYY_MM_DD-HH_MM_SS fixed demos to be MAX_OSPATH instead of MAX_QPATH, ie 256 chars now renamed cl_mouseAccel to m_accel removed ioq3 "qkey" rubbish removed support for BMP and PCX removed fs_cdpath, fs_copyfiles, touchfile, fs_restrict removed support for IPX removed in_logitechbug updated cpu detection added TTF support fixed a bunch of stuff in ScanAndLoadShaderFiles, but it's still crap fixed the patch collision epsilon bugs of 1.34 reverted to id's tab-completion since ioq3's is so hated i've semi-merged them atm, will fix up when i get time interpreted vm is never used on platforms that support compiled vm clampmaps and nomip images use GL_CLAMP_TO_EDGE rather than GL_CLAMP disabled curl until it's brought up to standard merged platform-specific *_net.* into qcommon/net_ip.cpp, <3 timbo :) fixed USERINFO vars not being sent properly during connect remove some network stuff (buffer sizes and TOS) http://support.microsoft.com/kb/248611 12 Sep 07 - released as 1.34, since it was about time we did :P increased default MAX_POLYS to 8K and MAX_POLYVERTS to 32K Aug 07 fixed a bug in the skybox code that tried to use a 0-length CVA which makes recent nvidia drivers go into spaz mode changed r_ext_multisample default to 0 to stop ix nagging :P July 07 added support for curl improved some network stuff (buffer sizes and TOS) added support for mouse5-mouse8 1 May 07 remove broken useless cl_freezeDemo and make demo pausing work just use timescale 0 27 Apr 07 ripped out all support for legacy substandard hw/drivers (ie Voodoo etc) and r_maskMinidriver uncorrected mode 8 back to 1280x1024 18 Jul 06 update various cvar defaults r_stencilbits: 0 r_picmip: 0 r_roundImagesDown: 0 r_simpleMipMaps: 0 s_useOpenAL: 0 default fs_game to cpma 30 Jun 06 - initial build from ioq3 svn v810 mode 8 corrected to 1280x960 undefined USE_OPENAL removed GetUserName call removed stupid+broken r_dlightbacks created dlight texture correctly fixed the dlight code removed the explicit and incorrect "vertexlight==1 == disable dlights" test removed redundant r_ext_texture_filter_anisotropic removed retarded cl_consoleHistory removed redundant cl_autoRecordDemo shader spew made developer 1 gl extensions spew made developer 1 pak list made fs_debug 1 removed the TA cvars that were hacked into the engine reordered demo_protocols to reduce spew