Raven Software has released the source code to their class based shooter game Hexen II and its multiplayer extension HexenWorld.
Hammer of Thyrion is a cross-platform port of Raven's Hexen II source. It is based on an older linux port, Anvil of Thyrion. HoT includes many bug fixes, improved sound and video modes, opengl improvements and documentation among many others.
Here are some key features of "Hexen II: Hammer of Thyrion":
· Support for Hexen II, Hexen II demo, Portal of Praevus mission pack and HexenWorld.
· Cross-platform code: Tested on Linux, FreeBSD, OpenBSD, Mac OS X and Windows. Also reported to build and run fine on QNX and Nokia N770, N800 and N810. Other unices should also work. Even DOS is supported for nostalgic purposes. There are seperate ports to MorphOS, AmigaOS4, PalmOS, GP2X and Pandora.
· Tested on 32 bit and 64 bit platforms.
· In-game resolution changing for both opengl and software renderers. Instant fullscreen/windowed toggling on X11 (unix).
· OpenGL enhancements including multitexturing, glow effects, working brightness control, text and hud size changing on the fly, translucent console background, console background stretching, colored lights and support for external lit files, fixes for texture cache and model mesh cache mismatches.
· Fully network-compatible with Raven's 1.11 windows version as well as with other Hexen II ports. Can load and play games saved with Raven's 1.11 windows version.
· The same binary handles both original hexen2 and the mission pack.
· The same hexen2 binary transparently handles both v1.11 (hexen2) and v1.12 (mission pack) style progs.dat files.
· Fullscreen intermissions and help dialogs.
· MouseWheel support.
· Improvements and fixes to the HexenC game code.
· Improved sound support: A selection of three different sound drivers (ALSA, OSS and SDL) for Linux. FreeBSD is supported with OSS and SDL, OpenBSD and NetBSD are experimentally supported with sunaudio and SDL.
· Support for ogg, mp3 and wav external music files to be played instead of the original midi files.
· Working music volume controls and on the fly selection of CD or MIDI music.
· Full user directories support under unix: all users have their own configuration files and game saves.
· Improved console functionality (inline editing and tab completion), and a maplist command.
· Ability to delete saved games from within the game.
· Several hexen2 utilities (hcc: the hexenc compiler, and other mapping tools) are maintained and are being kept up to date.
· Several hexenworld utilities (hwmaster: hexenworld master server, hwmquery: tool for querying hw master servers, hwrcon and hwterm: rcon tools) are maintained and are being kept up to date.
· Many bug fixes, security fixes and other improvements.
· Hexen II
What's New in This Release: [ read full changelog ]
· OpenGL: Fixed screen flickering resulting from progress bars drawing with some drivers (bug #3519666.) uHexen2 no longer draws the loading progress bars during level load in opengl mode.
· OpenGL (Windows): Fixed a bug which would prevent running on Windows8 consumer preview versions, unless 32 bit color depth was specified on the command line. Works just fine now.
· Music playback: Made sure that the file's channels count is supported.
· Unix MIDI (Timidity): Configuration file timidity.cfg is now searched first under the user directory and the installation directory before the common system locations. Full absolute path of timidity.cfg can be specified by setting the TIMIDITY_CFG environment variable, too.
· Client, all: Revised the intermissions setup code.
· Client, all: Fixed a few effect abslight and scale flags, which were another bunch of original hexen2source bugs.
· All platforms: Majorly revised path name handling and filesystem code.
· Support for Solaris. Support for Amiga, AROS, MorphOS. Added missing RISCOS defines.
· Keyboard input: Made the keypad keys to send separate key events in game mode. (for Windows and SDL-using builds, e.g. Linux/Unix, OSX.)
· Joystick: Added joystick (gamepad) support for all SDL-using builds, e.g. Linux/Unix, MacOSX. The new cvars are documented in the README. - Mouse (DOS): Wheel is now detected and used by default. Use "-nowheel" command line switch to disable it.
· Mouse (DOS): Pausing the game, moving the mouse and then unpausing it, doesn't change the view angle anymore.
· All platforms, gameplay: Fixed a rare crash in the ambient fish hcode.
· All platforms, h2patch: More detailed output and better reporting in case of incompatible or corrupted pak files. Same with the pak-patch functionality of the gtk-launcher application.
· Utils, dcc (progs decompiler): Fixed an infinite recursion issue when decompiling the hcbots progs.dat. Fixed decompiling of rival kingdoms progs. Changed decompiler memory usage. Made -src command line option of dhcc to behave the same as it does with hcc. Added -name command line option either for specifying a name other than progs.src for the compiler like hcc itself or for specifying a name other than progs.dat for the decompiler.
· Utils, hcc (HexenC compiler): Cleaned up the -src command line option handling.
· All: Incremented versions for the hexen2 engine to 1.26 and hexenworld engine to 0.26. Incremented gamecode version to 1.26.
· Several source code cleanups and documentation updates.