Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Hammer of Thyrion (uHexen2) 1.5.0 is released

At long last, version 1.5.0 of Hexen II: Hammer of Thyrion (uHexen2) is released after more than three years of development. This is a major update after the previous stable release with many contributions and help from the community as well.

Uploaded the full sources, as well as win32, win64, dos, linux-x86, linux-x86_64 and Mac OS X binary packages. See here:
http://sourceforge.net/projects/uhexen2/files/Hammer%20of%20Thyrion/1.5.0/
We'd also like to have linux-ppc rpms or tarballs if anyone can prepare them for us.

The changes between the previous release candidate and this final release are as follows:
* added a better "music type" menu entry.
* fixed a bug in multiple zones management, which wasn't easy to hit but was deadly when it was hit.
* fixed software renderer segmentation fault at high resolutions with r_waterwarp enabled.
* fixed h2ded (hexen2 dedicated server) bug that the swords on the weapon racks in the demo2 and the village1 levels would be placed incorrectly (bug #3344613).
* hexenworld server: fixed segmentation fault in case of bad pointers in NUM_FOR_EDICT().
* added support for Tremor (libvorbisidec) as integer-only libvorbisfile alternative for ogg/vorbis decoding.
* added compile time option so that ogg/vorbis and libmad decoders can allocate memory on the zone instead of system, which may be useful for ports to memory-tight platforms.
* windows joystick: added support for sixth joystick axis for up movement controlled by joyupthreshold and joyupsensitivity.
* dos port: added ogg music playback support.
* dos port: added support for h2ded (hexen2 dedicated server application)
* fixed many of the -Wsign-compare warnings.
* a lot of tweaks at many places of the source code.

The full log of changes since the previous 1.4.3 release:

* bumped the hexen2 engine version to 1.23, and hexenworld engine version to 0.23. bumped the gamecode version to 1.20.
* added support for ogg, mp3 and wav external music files to be played instead of the original midi files.
* added interface for music streams to the sound layer, dropped SDL_mixer dependency. many changes in sound and midi layer. imported libtimidity into the source tree and applied several fixes.
* sound: changed internal driver interface to provide a better chance of engine startup with sound, especially for linux (unix) users.
* unix midi: reimplemented through the new music streams interface using timidity.
* windows midi: ignore midi hardware volume adjustment capability under windows vista/7 which fixes music volume control messing with the main volume.
* fixed a bug in multiple zones management, which wasn't easy to hit but was deadly when it was hit.
* fixed an old obscure game load/save corruption bug.
* fixed an old load bug where items dropped by monsters not being visible or getting lost upon saving and loading the game.
* fixed an old load bug where prize artifacts in the Temple of Mars not being visible or getting lost upon saving and loading the game or by changing the level and reentering.
* fixed an old load bug where killed monsters didn't respawn in nightmare difficulty in the mission pack upon saving and loading the game or by changing the level and reentering.
* software renderer (C-only): fixed a segmentation fault with Crusader's ice mace.
* software renderer: fixed crashes at high resolutions with r_waterwarp enabled.
* added new cvar sys_throttle in order to throttle the game loop just a little bit and run cooler on new fast systems. the default sys_throttle value is 0.02, acceptable values are between 0 and 1. changing it to 0 disables throttling.
* opengl: fixed overlapping flickering textures, i.e. the infamous brush model Z-fighting. the fix is controlled by gl_zfix: default value is 1 (enabled). setting it to 0 disables the fix and brings back the old behaviour.
* opengl: always use GL_LINEAR as lightmap filter. made gl_texturemode command not affect lightmaps.
* opengl: fixed an issue in net games where joining players would appear untextured (bug #3288081).
* opengl: updated code to use glGenTextures().
* joystick windows: added support for sixth joystick axis for up movement controlled by joyupthreshold and joyupsensitivity.
* fixed hexenworld server issue which used to crash servers upon running the romeric5 (Temple of Mars) map, which now loads fine.
* fixed h2ded (hexen2 dedicated server) bug that the swords on the weapon racks in the demo2 and the village1 levels would be placed incorrectly (bug #3344613).
* hexenworld server: fixed segmentation fault in case of bad pointers in NUM_FOR_EDICT()
* fixed HexenC bug where, if there were a summoned imp around, a blinked away wizard wouldn't reappear even after imp went away (bug #3314808).
* fixed a HexenC bug where the summoned imp didn't pick the Egypt snake boss as an enemy (bug #3314810).
* improved soul spheres' HexenC code.
* fixed a HexenC where medusa's gaze attack sound would persist when she is dead.
* fixed an Eidolon/imp HexenC bug which used to render Eidolon idle.
* fixed a HexenC bug which would prevent a yakman from appearing during the 'Trial of Strength' in the 'Temple of Phurbu' (tibet7) level of the mission pack, rendering the level not completable (bug #1112533).
* fixed a mission pack HexenC bug where a pentacle monster in the tibet1 map became invulnerable when it got crushed by a door.
* fixed a wheel of ages message to report 360 degrees instead of 30 in the egypt2 map.
* fixed a HexenC bug which might prevent Eidolon to land.
* fixed an Eidolon HexenC bug which might prevent the finale screen to trigger.
* fixed a HexenC bug where werepanthers became "undead" when an assassin killed them by her bombs.
* fixed a mission pack HexenC bug which used to prevent the finale screen to trigger if Praevus were killed too quickly.
* handled several map quirks thanks to careful works by Thomas Freundt and Keith Rozett.
* fixed trigger_crosslevel problem with spawnflag 8 which used to prevent one of the prizes in Temple of Mars to appear.
* removed the ugly hack of reducing teleport push speed to 225 in order to overcome the problem of reaching the Cathedral's balcony and the holy cross, and added a modified entities file for the Cathedral map instead.
* added support for external entity file loading which makes it easy to handle map quirks. ent files are accepted only if they come from the same game directory as the map itself or from a searchpath with a higher priority. external entities loading is controlled by external_ents cvar: default value is 1 (enabled). setting to 0 disables external entities.
* revised lit file loading. lit files are now accepted only if they come from the same game directory as the map itself or from a searchpath with a higher priority.
* added new h2patch tool, an easy to use xdelta3-based standalone pak patch tool for purposes of updating to hexen2 v1.11 data files. updated the gtk-launcher's patch facility to use the same backend.
* utils, hcc: fixed broken switch statement compilation when there is an implicit break in the last case.
* utils, dcc: fixed a wrong decompilation of an "if" opcode into a "while"; some source code revision.
* utils, hcc: dropped support for the old version of hcc tool.
* tested compilation using Visual Studio 2010.
* source directory layout reworked, repository moved from cvs to svn.
* Changes since uhexen2-1.4.3 mostly during the unreleased 1.4.4-beta cycle:
* fixed the broken software renderer binaries from C++ compilers with x86 assembly enabled (do not use the bool keyword of C++).
* compilations using the new gcc-4.4, 4.5 and 4.6 versions are tested and supported.
* added support for 64 bit windows versions (x64).
* added support for mingw-w64 compilers.
* added support for Microsoft Visual Studio 2005 and Visual Studio 2008.
* filesystem: fixed an oversight with builds without user directories, where the "-basedir" command line argument failed to change the internal userdir variables.
* fixed stuffcmds so that arguments to commands can have '-' or '+' within their names. A command like "hexen2 +map mymap-01" works properly now.
* increased default zone memory size to 384kb.
* fixed a rare segmentation fault with certain command line arguments (bug was introduced sometime between version 1.3.0 and 1.4.0).
* fixed a problem in sound effects code where some teleportation sounds might have got lost.
* alsa audio: added workarouds for better behavior on some linux setups.
* hexen2 client: pause/resume midi (background music) along with cdaudio upon pause message.
* windows cdaudio: added -cddev as a new command line option for choosing the cdrom drive to use. syntax: -cddev E
* windows cdaudio: fixed MCI errors when resuming the last track of a cdrom.
* net: made the socket api usage compatible with windows especially with relation to 64 bit windows.
* net (hexen2): fixed BSD and Mac OS X socket api usage.
* opengl: reworked text and HUD scaling menu option.
* opengl: fixed an issue that changing resolution from within the game might crash on Windows Vista.
* software renderer: fixed a long standing stack corruption bug which used to cause alias models not to be drawn at all.
* stricter checking on the values pulled out of .wav file chunk headers.
* fixed a rare game crash when battling bosses with assassin class, using the tome of power and launching at the enemy a lot of projectiles.
* renamed model_t to qmodel_t in order to avoid conflicts on solaris.
* fixed the "mirrored prints" problem of hexen2 console at high resolutions.
* fixed the colored prints of hexenworld console.
* fixed 'array going out-of-bounds' (utils/map.c) and bogus 'maybe used uninitialized' warnings (sbar.c) from gcc-4.3.
* fixes to the SVGALib driver. it is functional now, both for hexen2 and for hexenworld clients.
* fixed bug #2176384: in windowed mode, when you save using the menus, the game used to quit the menu without grabbing the mouse properly.
* windows mouse: fixed behavior upon minimize/restore in windowed mode.
* slightly increased the buffersize for sdl audio. made it to print a little more detailed info at startup.
* fixed hexenworld client message parser so that midi and cdaudio don't play at the same time.
* launcher, patching: rewritten the inter-threads log printing and fixed the erratic crashes on smp systems. launcher version is 1.0.5 now.
* hexenworld master server: unknown packets are properly output as hexdump. hwmaster version is 1.2.6 now.
* other minor fixes.
* 3dfx gamma hacks are disabled by default at compile time (see the Makefile).
* killed compatibility with user directories from HoT-1.4.0 and earlier which didn't operate with a data1 subdirectory. they are ancient history now.
* added initial support for standalone free contents (mods) as an extra patch.
* utils, jsh2color: worked around a stack corruption resulting in crashes due to the code's way of dealing with TEX_SPECIAL cases.
* utils, lmp2pcx: Tweaked and documented palette file usage, allowed the embedded palette again.
* utils, qbsp: accept more than one wad file specified in the value of the "wad" key. the wad file names must be separated by a semicolon. spaces are allowed in the file names. quoted paths aren't allowed.
* utils, qbsp: the absolute paths in wad values are not touched, ie. the paths beginning with a '/' on unix or with a drive specifying string like "C:\foo\bar.wad" on windows. all other values with no path information or relative path information are prefixed with the project path. this fixes the issues reported for qbsp usage from within worldcraft.
* added back some unused code for future reference. removed some truly dead code.

Posted by Ozkan Sezer 2011-09-19