Hexen II: Hammer of Thyrion Release Notes for version 1.4.1 =============================== Changes since HoT-1.4.0 : General: -------- - Added support for QNX. - Added support for Mac OS X. - A few MorphOS fixes (some of which are probably correct for Amiga, as well.) - Added a hexen2 dedicated server application (h2ded). - The data1 subdirectory is now used in the user directories. Users' data from older versions are automatically updated. - Made console and menu to disappear for playdemo like it does in timedemo. - Fixed demos freezing upon changing maps. - Fixed demo recording and playback covering multiple episodes: Intermissions are now skipped while recording demos across multiple levels, and recording is stopped at ending scenes. - Made background music to stop upon disconnect. - Disabled the forced centerview (pitch drifting) when flying in hexen2. The behavior now matches that of hexenworld. - Removed unintended viewmodel movement upon setting viewsize to maximum. - Fixed client segmentation faults in heterogenous client/server situations, such as pure hexen2 client vs. mission pack server: we now Host_Error upon missing models when connecting to a server. - Added network compatibility support for Korax's UQE-Hexen2 v1.13 - No erroring out if we can't bind to a network interface at init phase. - Made the alias command to display the value of the given alias instead of clearing its value. - Added new console commands: unalias, which deletes the given alias command, and unaliasall, which deletes all aliases. - Unbinding a key now frees its memory. - Disabled the sys_memory, sys_cache and sys_stats console commands for server-only binaries except for debug builds. - Disabled the VCR facility by default. After all, it is not an ordinary demo recording but a server only feature for debugging server bugs. - Fixed and improved parsing of maplist.txt and config.cfg. - Engine version is now 1.16 for Hexen II, and 0.18 for HexenWorld. Gameplay: --------- - Gamecode is now at version 1.16. - Fixed a long-standing hexenc bug in mezzo_reflect_trig_touch which used to crash the game with an additional message about fangel/deflect.wav when changing levels. - Disabled impulse 11 which was a developer-only command but could be issued from any client and might clobber the server. - Cleaned up and tweaked hexenworld and siege map cycling. - Fixed hexen2 and hexenworld server crashes upon deathmatch level change in cases of a custom map being run and there is no map cycling. mission pack actually didn't used to crash but it always failed changing into a new level. it is now fixed, as well. Video: ------ - Enabled fullscreen/windowed switching through the menu system in cases where instant SDL toggling doesn't work. - Added procedures to re-initialize the draw subsystem upon game directory changes. Hexenworld already uses it. Hexen II can use it in future versions. OpenGL Renderer: ---------------- - Made scaling of the text and hud size adjustable from the menu system. - Fixed the light level being incorrectly set when the game is run with rgba lightmaps: it used to prevent the cloaking ability of the assasin. - Fixed endianness issues. - Added console background stretching (cvar: gl_constretch, 0 or 1). Sound: ------ - Added mute, volumeup and volumedown console commands. - OSS driver: Endianness fixes. - OSS driver: GETOSPACE ioctl must be issued after setting the parameters. - Added 48000, 24000, and 16000 Hz to the array of sampling rates. Should help 48khz AC97 chips. - Added an experimental SUN audio driver for native audio in openbsd, netbsd and sun. CDAudio: -------- - The case when the user changes track without using the "cd" command should now be handled correctly on linux and bsd. - Added -cddev commandline argument support to sdl cd driver. - Merged a better sdl cdaudio driver which doesn't cause slowdowns. HexenWorld: ----------- - Fixed a buffer overflow vulnerability in Huffman packet decompression. - Fixed wrong charset and conback display problem upon gamedir changes. - Cleaned-up hexenworld master server. Added the "clear" console command to clear the list of registered servers. - Added a tiny utility for querying hexenworld master servers (hwmquery). - Fixed hexenworld gamecode so that it can be played using the demo version with crusader and necromancer classes. Utilities: ---------- - Added big-endian support (byte swapping) to the hcc (the hexenc compiler) dcc (dhcc: progs decompiler) and jsh2color (the litfile generator). - Do the name search in a case insensitive way in the bsp compiler: some wad files doesn't have the texture name in expected case. - Several fixes to dhcc including a workaround for bad gcc-4.x compilations and a fix for bad decompilation of the mission pack progs. Launcher: ---------- - Fixed finding of actual command path. - Fixed broken display of launcher binary name when run using a symlink. - Updated for engine-side changes, version 0.8.0. Other: ---------------------- - Ensured that string operations are safe regarding their buffer size in many places. - Added support for yasm (v0.5.0) as an alternative assembler - Fixes and improvements in the build system - Many compile and linkage fixes. - Many other bug fixes, non-user-visable clean-ups and small improvements.