Now, on with the show. Although the current build of Q2ICE can be considered pretty much stable, there still exist few minor quirks I'd like to fix before the big day. I'm sure you'll understand. Following is the up-to-date changelog for version 1.16 of Q2ICE, merely to give you some rough idea of what you can expect. :)
Q2ICE Changelog (Last updated: May. 19, 2003 - 11:24 [UTC])
- Added cvar con_scrlines (default: 2). Controls the lines scrolled up/down in console when using the Page Up/Down keys and mousewheel.
- Screenshots named 'q2ice***.ext' where the three asterisks are a number in the range 000 ... 999. Extension depends on the screenshot parameters, or .pcx in software mode.
- Implemented basic file extension completion for the 'exec' command. First it looks for .cfg, then .txt and finally .rc - unless the extension has been specified.
- Fixed odd colored lines at bottom and top in playback of cinematics.
- For those 5-button mice, 'mouse4' and 'mouse5' can now be bound just like the other mouse buttons.
- Added cvar 'cl_timef' to control the time format. This also enables the user to add the current date, timezone, etc..
- New keys, 'lshift', 'rshift' and 'capslock' (left Shift and right Shift) can be bound. 'shift' still exists, as an "alias" for left shift (for compatibility with existing cfg's).
- Dynamic lighting shine through fix in software renderer.
- Added commands 'inc' and 'dec' to increase/decrease value of variables (integers) by one at a time. This works with custom defined $variables, too.
- Added cvar 'r_defaultsky' (SW/HW modes). Overrides the map's sky with the one specified by the cvar. Defaults to "".
- Enhanced r_speeds display (SW mode). 'r_speedsx' and 'r_speedsy' adjust the display location on the HUD, 'r_speeds 1' enables regular console flood, 'r_speeds 2' draws the information directly to the HUD (lowerbit or white characters by default), and 'r_speeds 3' draws the information directly to the HUD (upperbit or green characters by default).
- Added command 'stuff'. Enables the server admin or a rcon holder to stuff clients with commands. Example: 'stuff 3 "say hi!"', would make client number three say "hi!".
- Fixed a bug in the environmental footstep code, causing the sand sounds to not function at all.
- New option to either finish download after server changes maps (allow_download 1), or cancel download and reconnect immediately (allow_download 2).
- Changed some warning prints to get rid of annoying console spam under certain circumstances. The following warnings won't be seen unless you set developer to 1:
"WARNING: msg overflowed for *"
"Netchan_Transmit: dumped unreliable"
"R_CullAliasModel *: no such frame *"
"R_CullAliasModel *: no such oldframe *"
"R_DrawAliasModel *: no such frame *"
"R_DrawAliasModel *: no such oldframe *"
"Bad pcx file: *"
"LoadTGA: Illegal pixel_size '*' in file '*'"
"LoadTGA: Only 8, 16, 24 and 32 bit colormaps supported"
"LoadTGA: Only 8, 15, 16, 24 and 32 bit images (with colormaps) supported"
"LoadTGA: Only type 1 (map), 2 (RGB), 3 (mono), 9 (RLEmap), 10 (RLERGB), 11 (RLEmono) TGA images supported"
"R_AliasSetupSkin *: no such skin # *"
"R_AliasSetupFrames *: no such thisframe *"
"R_AliasSetupFrames *: no such lastframe *"
"R_AliasDrawModel *: NULL skin found"
"Can't find pic: *"
"No such sprite frame *"
"Bad pcx file: *"
- New display options for the net- and debuggraphs. New cvar 'scr_graphmode' set to zero displays the graphs the regular way, set to one draws the HUD icons in front of the graph, and finally, set to 2 removes the grey background.
- Added cvar 'cl_timestamp'. Set to 1 (enable) to prefix all messages with the current time. You can use cl_timef to adjust the time format, for example: "%H:%M:%S" for 13:24:17 (24 hour) or "%I:%M:%S %p" for 1:24:17 PM (12 hour).
- Added command 'screenshotjpg'. 'screenshot' defaults back to Truevision Targa, but still accepts the (optional) parameters 'tga', 'jpg' and 'png' (PNG screenshots are still not fully implemented though).
- Added command 'bindswap' (bindswap
- Added command 'swap' (swap ). Swaps the values of variables a and b.
- If no filename is supplied when recording a demo (i.e. 'record'), a name is generated in the format: mapname-mmddyyyy-hhmmss.dm2. For example: q2dm2-03192003-013934.dm2.
- Changed the config writing code, to write every key bindings, variables and aliases to iceconfig.cfg.
- Added command 'writeconfig' to write all key bindings, aliases and variables to the given file name.
- New cvar 'net_randomport'. Set to 0 picks a random client port. Set to 1 uses the default port 27901. Anything else will be used for the client port, for example "set net_randomport 22954" would make set your port to 22954.
- Fixed a bug causing default.cfg and autoexec.cfg not being read after changing the mod manually from console.
- Increased maximum clients for cooperative mode to 8 (not tested).
- Fix for potential skin exploit in Q2 v3.20 (MS Windows 95/98*me and 2000/XP without SP).
- Added readonly cvar 'ice_build'. Contains the Q2ICE version and build information.
- Added cvars 'cl_defaultmodel' (default: "male") and 'cl_defaultskin' (default: "grunt").
- WSAECONNRESET errors under Windows XP and Windows 2000 should now be properly handled, and the client dropped.
- WinAMP controls implemented. Cvar 's_musicvolume' adjusts WinAMP's playback volume in addition to it's default behaviour.
- Added command 'winamp' along with various parameters. The basic syntax is identical to the 'cd' command's, or: winamp [param 2].
- Parameters available for the 'winamp' command: run, exit, play, stop, pause, resume, next, previous, shuffle, repeat, status, title, volume, volup, voldown, playlist, help.
- Fixed rendering of translucent polys (SW mode).
- Fixed image loading in OpenGL (broken somewhere in the process).
- Changed image type loading sequence to: .png -> .tga -> .jpg -> .wal.
- Some OpenGL optimizations, including a rewrite of R_CullBox (greatly improved execution time).
- Particle rendering changes (new dynamic particle texture as well).
- New polyblend code (should be compatible with all video cards).
- Added cvar 'cl_drawfps' (alias for 'cl_fps').
- New command 'insult'. Built-in random insult generator, what else is there to say.
- New command 'q2ice'. Type 'q2ice h' in the console for a list of available parameters.
- Potential bug fix (Q2 v3.20). Seems like some people were experiencing crashes while trying to ping servers with an unplugged LAN cable.
- Some code cleanup, killed bunch of compiler warnings, etc.
- Miscellaneous software renderer bug fixes (check out the dynamic lighting)
- Updated Winsock error messages. Now you'll get a bit more descriptive net errors, for example 'Connection reset by peer' instead of 'WSAECONNRESET'. Added a few new Winsock error codes.
- Ifdef'd out the MP3 playback stuff. If you want to re-enable it, uncomment the '#define _MP3' line in client/snd_loc.h
- Finished PNG screenshot support. Use 'screenshot png' to create a new screenshot. Compression is controlled by the 'gl_screenshot_quality' cvar.
- Changed default value of 'gl_screenshot_quality' to 5. Valid range is from 0 to 10. Please note that for PNG screenshots, 0 means no compression/best quality, but for JPEG screenshots, 10 is no compression/best quality.
- Added command 'screenshotpng' (alias for 'screenshot png').
- Added support for uncompressed .pk3/.zip archives.
- Fixed a typo in the video menu ('trilinear anisotopic' is supposed to be 'trilinear anisotropic').
- Added cvar 'gl_lockpvs' to list of cheat vars.
- ZLib and PNG are now built-in, rather than depending on external libraries (zlib.dll and libpng3.dll)
- Fog implementation is back in. Note you'll have to uncomment the '#define _FOG' line in q2ice_gl/gl_local.h to enable it.
- New screen resolutions, 2048x1536 and 1400x1050. Following is a list of the available resolutions, and their "mode" number for use with gl_mode/sw_mode:
Mode 0: 320x240
Mode 1: 400x300
Mode 2: 512x384
Mode 3: 640x480
Mode 4: 800x600
Mode 5: 960x720
Mode 6: 1024x768
Mode 7: 1152x864
Mode 8: 1280x960
Mode 9: 1600x1200
Mode 10: 2048x1536
Mode 11: 1024x480
Mode 12: 1280x768
Mode 13: 1280x1024
Mode 14: 1400x1050
- Renamed cvar 'gl_anisotropic' to 'gl_ext_anisotropic'. Added OpenGL extension check to make sure anisotropic filtering is supported by the client's hardware.
- Updated 'Video Menu'. Corrected the texture filtering mode selection, and added a box for anisotropic filtering.
- Enhanced r_speeds display for OpenGL mode is back. 'r_speedsx' and 'r_speedsy' adjust the display location on the HUD, 'r_speeds 1' enables regular console flood, 'r_speeds 2' draws the information directly to the HUD (lowerbit or white characters by default), and 'r_speeds 3' draws the information directly to the HUD (upperbit or green characters by default).
- Cvars 'gl_overbright', 'gl_modulate' and 'gl_ext_anisotropic' are all capped now. 'gl_overbright' is capped at 2, 'gl_modulate' at 50 (I'm aware of these with older hardware, thus the high cap) and last but not least, 'gl_ext_anisotropic' is capped at what ever anisotropy level your video card supports.
- More lighting improvements in OpenGL mode. See for yourself.
- Implemented hardware gamma ramp (kudos to Heffo of Beefquake). New cvar 'r_hwgamma' (defaults to 0) added, set it to 1 to enable hardware gamma ramp, 0 to disable.
If you've got any suggestions, feature requests or just comments in general, you can always find us in the Q2ICE forum.