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.

