U-Hexen & U-Hexen 2

Version: 
0.601 & 1.5.9r2
Release date: 
Monday, 21 June, 2004

License:

Interface:

U-Hexen is yet another port of Hexen, popular game from Raven Softrware to Simple Directmedia Layer (SDL) library.

This software is distributed as compressed package. You have to download and manually install it; if prerequisites are required, you will have to manually install them too.

Manual installation

Program is distributed as ZIP package: download to temporary directory and unpack to destination folder. See below for download link(s).

Following links are to additional programs, not mandatory but useful:

Following ones are the download links for manual installation:

U-Hexen 2 v. 1.5.2 (31/5/2018, O. Sezer) Readme/What's new
Hexen II: Hammer of Thyrion (uHexen2) - v1.5.9 ---------------------------------------------- 1. Installation 1.1 Getting Started 1.2 Software Requirements 1.3 Running the Game 1.4 Sound and Music 1.5 Networking/Multiplayer 1.6 Game Saves and Configuration files 1.7 Fullscreen/Windowed modes and mouse 1.8 Joystick (gamepad) support 2. Known Problems 2.1 Sound Problems 2.2 Lines on Screen 2.3 Fluxbox 3. General Info 3.1 Mods 3.2 Game Console 3.3 Hardware Acceleration 3.4 Thanks 3.5 Links 4. Appendix ---------------------------------------------------------------- 1. INSTALLATION --------------- 1.1 Getting Started ------------------- Hexen II source and the Hammer of Thyrion source port are free, but the game itself is not: You must have an original copy of the game released by Raven Software and Activision. If you don't, then download the demo version. Installing the demo version doesn't require any media and/or any extra effort: our demo packages contain all requirements. To install the retail version of the game, you need your original cdroms: the windows discs released by Raven and Activision back in 1997. The less common "Xplosive" cdrom published in UK is also supported. To install the "Portal of Praevus" mission pack, you need your original mission pack cdrom. To install the Matrox m3D bundled (oem) version of the game (also known as "Continent of Blackmarsh"), you need your M3D_2 cdrom. Download the base binary tarball (e.g., hexen2-1.5.9.i586.tgz) and extract it. Copy the two files pak0.pak and pak1.pak from your cdrom into the "data1" directory in your own installation. The pak file names should be lower-cased, if not already. To fix the permissions: chmod 644 data1/pak*.pak Hexen II requires its game data to be updated to version 1.11, too. To patch the pak files, run the included "h2patch" program. Here are the md5sums, just in case: c9675191e75dd25a3b9ed81ee7e05eff data1/pak0.pak c2ac5b0640773eed9ebe1cda2eca2ad0 data1/pak1.pak If you have the Portal of Praevus mission pack, copy the pak3.pak file from your cdrom into the "portals" directory in your own installation. To fix the permissions: chmod 644 portals/pak* The mission pack data doesn't need patching. Here is the md5sum of pak3.pak, just in case: 77ae298dd0dcd16ab12f4a68067ff2c3 portals/pak3.pak If you want to install HexenWorld, download the HexenWorld binary package (e.g., hexenworld-1.5.9.i586.tgz) and extract it in the same directory you extracted the base uhexen2 tarball. HexenWorld data doesn't need patching. Here are the game binaries' names: hexen2 - Hexen II (software rendering) glhexen2 - Hexen II (opengl rendering) h2ded - Hexen II Dedicated server hwcl - HexenWorld Client (software rendering) glhwcl - HexenWorld Client (opengl rendering) hwsv - HexenWorld Server hwmaster - HexenWorld Master Server 1.2 Software Requirements ------------------------- SDL (min.: 1.2.4) : Simple DirectMedia Layer libraries. 1.2.7 and newer highly recommended. If run on systems with SDL < 1.2.6, anti-aliasing support will be auto- matically disabled. To compile your own binaries, you'll need a standard unix build environment. See the file COMPILE for details. 1.3 Running the Game: ---------------------- You can run the game from a terminal window: "cd" into the installation directory and run the binary. For example: cd /home/myname/hexen2 ./glhexen2 [possible options] The game starts in windowed mode by default: use the "-f" command line switch to start in fullscreen. To play the Portals of Praevus mission pack, use the "-portals" or "-h2mp" command line switch. Important command-line switches: -portals | -h2mp Run with Portal of Praevus mission pack support (only for registered version of Hexen2.) -f | -fullscreen Start fullscreen (can also be set from the menu) -w | -window Start windowed (can also be set from the menu) -g | -gllibrary <lib> Override the OpenGL library to use -width N Select screen width (can also use the menu) -height N Optional. Must be used with -width -bpp N Color depth for GL fullscreen mode -conwidth N Enables a bigger hud display and readable fonts at high resolutions. Valid conwidth values are values equal or less than the scr width above: Smaller the number, bigger the text. 640 is the sanest. Can also be adjusted from the menu. -nomouse Disables mouse usage in game -nojoy Disables joystick (gamepad) probing and usage -heapsize N Heapsize (memory to allocate, in KB) -fsaa N Enable N sample anti-aliasing (N: 0,2,4) (can also be set from the menu) -sync | -vsync Enable syncing with monitor refresh (GL, Nvidia) -lm_4 Set lightmap format to RGBA, which is actually the default format. RGBA lightmaps are required for colored lights. Can be set from the menu. -lm_1 Set lightmap format to LUMINANCE. (this was the old format that hexen2 originally used and it is a little faster than RGBA lightmaps). Can be set from the menu. -paltex Enable 8 bit (palettized) textures: saves video memory on *very* old low-memory 3D accelerators if the proper GL extension is supported. (can be set from the menu.) -nomtex Disable multitexture detection/usage -no3dfxgamma Disable special gamma support for Voodoo1/2/Rush (if compiled with 3dfx gamma hacks support.) -sndoss Use OSS for audio (default) -sndalsa Use ALSA for audio -sndsdl Use SDL for audio -sndbsd Use sunaudio (for openbsd, netbsd, sun) -ossdev OSS Audio device to use (default: /dev/dsp) -alsadev ALSA Audio device to use (default is "default") -sndspeed N Sampling rate of sound playback (eg 22050,44100) -cddev CD Audio device to use (default is /dev/cdrom for linux, /dev/acd0 for FreeBSD.) For windows, use a single drive letter, like: glh2 -cddev E -nocdaudio Disable cdrom music -nomidi Disable MIDI driver -s | -nosound Run the game without sound -nolan Disable networking (incompatible with -listen) -listen N Enable multiplayer with maximum N players -protocol N Run the server using protocol version N, instead of the default. Valid values: 18 (the old hexen2 v1.11 protocol), 19 (default, h2mp protocol). -port <portnum> Change the default port. Default port is 26900 for hexen2, 26950 for hexenworld server, 26900 for hexenworld master server. hexenworld client always uses 26901. -localip <address> For Hexen2 only. Changes the ip address embedded in the response packets for the serverinfo and connect requests to use the cmdline-provided ip address. Server still binds to INADDR_ANY and it can see the broadcast requests. -ip <address> Enables the server admins to bind to a specific IP address on a multi-homed host. Note: using this option will prevent the us from receiving broadcast packets, therefore server discovery on the LAN will not work if the server is started this way. -bindip <address> Same as the -ip option -noifscan Hexen II only. Disables local address detection through network interface scan. -developer Enable developer mode early during init phase. -condebug | -debuglog Logs the console output. -devlog Enable full logging even when not in developer mode. -v | -version Display the game version -h | -help Display short help message If you wish to brighten the display, simply use the game's menu entry. In case that it doesn't work for you, you can use the "xgamma" utility: Here is the script I use for xgamma: xgamma -q -gamma 1.3; # brighten the display ./glhexen2 xgamma -q -gamma 1; # restore old brightness 3dfx Voodoo1 and Voodoo2 users can employ the -3dfxgamma command line switch to activate native 3dfx gamma controls (remember to enable that option in the Makefile when compiling). 1.4 Sound and Music ------------------- uHexen2 includes several choices of sound drivers for linux/unix users: SDL, OSS and ALSA. The engine tries them and uses the first one which successfully initializes. You can make the engine to use only a specific driver by command line arguments, too. a. SDL sound code ----------------- SDL audio isolates you from many compatibility issues and is usable on most Linux distributions. The "-sndsdl" command line switch tells the game engine to use SDL audio, but it isn't necessary because SDL audio is the default. ./glhexen2 -sndsdl [other possible arguments] If you want to force SDL to use a different driver backend than its default setting, you can export SDL_AUDIODRIVER=drv where "drv" may be alsa, dsp, pulse, esd or something similar depending on your own setup. (Note that SDL_AUDIODRIVER=esd can be laggy in my own experience.) b. OSS sound code ----------------- The OSS (Open Sound System) code is compatible with most of the Linux distributions and FreeBSD, but it is known not to work for a few people. The "-sndoss" command line switch tells the game engine to use OSS: ./glhexen2 -sndoss -sndspeed 44100 c. ALSA sound code ------------------ The ALSA driver is for Linux and is based on the ALSA 1.0.x libraries. Start the game with "-sndalsa" command line switch: ./glhexen2 -sndalsa -sndspeed 44100 If ALSA gives you trouble, try using "plughw:0" or "hw:0,0" instead of the default device. A lot of ALSA installations have a misconfigured default device. Example: ./glhexen2 -sndalsa -alsadev plughw:0 -sndspeed 44100 d. BSD/SUN sound code --------------------- The sunaudio driver can be used in combination with our experimental OpenBSD and NetBSD support. The "-sndbsd" command line switch tells the game engine to use sunaudio. If you can't get sound working, the "-nosound" option will disable it, send a bug report on the project page. 1.4.1 Midi and Music support ---------------------------- On linux/unix, midi background music is implemented using timidity, so, you'll need GUS-compatible instrument patch files along with a properly configured timidity.cfg. You can get a complete set of GUS patches by downloading the timidity_patches.tar.gz from our site. Extract it into your uHexen2 installation directory and midi should be ready to play: http://sourceforge.net/project/downloading.php?group_id=124987&filename=timidity_patches.tar.gz Note to the curious: Configuration file timidity.cfg is searched first under the user directory, i.e.: ~/.hexen2, then under the installation directory, then under the common system locations /etc, /etc/timidity, /usr/share/timidity, /usr/local/share/timidity, /usr/local/lib/timidity in this order. Full absolute path of timidity.cfg can be specified by setting the TIMIDITY_CFG environment variable as an override too, e.g.: export TIMIDITY_CFG=/usr/local/share/timidity/timidity.cfg Hammer of Thyrion supports OGG, MP3 and WAV external music files to be played instead of the original midi files, so you can enjoy the hexen2 music in good quality like they are from the hexen2 cdrom audio tracks. Ogg playback requires libogg and libvorbis, mp3 playback requires libmad or libmpg123 depending on your compile-time decision (see the Makefile). See README.music for more information. 1.5 Networking / Multiplayer ---------------------------- Since version 1.4.2 (engine version 1.19), Hammer of Thyrion binaries are fully compatible Raven's Windows Hexen II-1.11 binaries. When run as a client, it can connect to Raven-1.11 servers and play just fine. It can playback the demos created with 1.11 version, as well. On the other hand if a 1.11 client wants to connect to a uhexen2 server, the server must be started with "-protocol 18" command line argument. There is no network compatibility with Hexen II protocols older than 18. Mission pack is, of course, fully network-compatible across platforms. As for the other Hexen II ports, uHexen2 is compatible with them, too. 1.6 Game Saves and Configuration files -------------------------------------- Your game saves and configuration files are stored under .hexen2 in your home folder: ~/.hexen2 (for demo version, it's ~/.hexen2demo) Saves and configs for Hexen2 are stored under ~/.hexen2/data1 For the Mission Pack, they are stored under ~/.hexen2/portals 1.7 Fullscreen/Windowed modes and mouse --------------------------------------- While playing the game, you can switch between fullscreen and windowed modes by pressing ALT + Enter combination. Alternatively, you can use the relevant menu option. The last setting will be saved to the config and will be remembered by the game. You can also change the resolution from the menu system. Again, the last setting will be saved to the config and will be remembered by the game. The menu option "Use Mouse" enables/disables mouse usage on the fly. While in windowed mode, disabling the mouse ungrabs the mouse pointer, so that you can easily use your desktop. You can also ungrab/regrab the mouse pointer by pressing the CTRL + G key combination whenever you want. 1.8 Joystick (gamepad) support ------------------------------ Hammer of Thyrion supports joysticks (gamepads) through SDL. The feature can be enabled or disabled on the fly by setting joystick to 1 or 0 from the console. It is disabled by default. On the other hand, the -nojoy command line switch disables all joystick probing and usage. The "joy_index" cvar defines which joystick to use if more than one are attached to the computer. The default value of joy_index is 0, i.e. the first one. You can setup which axis to query for which movement or look by using the following cvars from the console. -1 means 'none', i.e. if you set any of them to -1, then the corresponding movement or look will not be queried on the joystick: joy_axisside Axis for left/right movement 0 joy_axisforward Axis for forward/backward movement 1 joy_axisyaw Axis for looking left/right 2 joy_axispitch Axis for looking up/down 3 joy_axisup Axis for up/down movement. -1 (none) The following cvars the axis deadzone tolerance values for the above, all defaulting to 0. suggested values range between 0 to 0.01: joy_deadzoneside, joy_deadzoneforward, joy_deadzoneyaw, joy_deadzonepitch, joy_deadzoneup The following cvars are the axis movement multiplier (sensitivity) for the above, all defaulting to 1: joy_sensitivityside, joy_sensitivityforward, joy_sensitivityyaw, joy_sensitivitypitch, joy_sensitivityup ---------------------------------------------------------------- 2. KNOWN PROBLEMS ----------------- 2.1 Sound Problems ------------------ First, we recommend using 44100 or 48000 as the sampling rate with recent sound chipsets: use a command line argument like "-sndspeed 44100". If you have problems making sound to work correctly, using the arts sound server may help you: artsd & ; artsdsp -m glhexen2 -sndoss You may notice some lag in sound but if all fails this may be a good enough workaround. We have reports that some i8x0 sound chips not working correctly with hexen2, and this is overcome either by using alsa driver of hexen2 at 48000 sampling rate, or by the arts workaround mentioned above. The ALSA driver may complain about a non-power-of-two buffer size and unsatisfactory sound may result. The following was once reported for an onboard VIA82xx audiocard: ALSA: Using device: default ALSA: 14867 bytes buffer with mmap interleaved access ALSA: WARNING: non-power of 2 buffer size. sound may be unsatisfactory. Recommend using either the plughw or hw devices or adjusting dmix to have a power of 2 buf size ALSA Audio initialized (16 bit, stereo, 44100 Hz) You may resolve this by using a .asoundrc like the following, pcm.alsa_fixh2 { type dmix ipc_key 2048 slave { pcm "hw:0" rate 48000 period_time 0 period_size 1024 buffer_size 16384 channels 4 } } and starting uhexen2 with: $ glhexen2 -sndalsa -alsadev alsa_fixh2 -sndspeed 48000 (Notice the -sndalsa -alsadev alsa_fixh2 parameters. Tested and documented by Davide Cendron.) 2.2 Lines on Screen ------------------- A common problem, especially with 3dfx cards, is flickering lines across the screen caused by a GL hack which isn't supported today. To fix this, bring down the console and enter 'gl_ztrick 0'. With fresh installations of uhexen2, this option is disabled by default. 2.3 Fluxbox ----------- Though it's a great window manager, older versions of fluxbox have issues with some games in fullscreen mode. If this is the case, hit "ALT + Enter" twice to switch into windowed mode and then back into fullscreen mode. ---------------------------------------------------------------- 3. GENERAL INFO --------------- 3.1 Mods -------- Running a Hexen II mod is the same as running a Quake mod: You need to specify its directory name after a -game argument on the command line. For example, in order to run Fortress of Four Doors: ./glhexen2 -game fo4d If you want to run some mod with mission pack support enabled, use a command line with -portals argument included. For example: ./glhexen2 -portals -game somemod Fortress of Four Doors is one of the few large mods for Hexen II. It has a confusing level near the middle, but is otherwise great. Look around the web for the file fo4d.zip or fo4d.tgz (also available on our downloads page.) Also, make sure to check out the botmatch mod "hcbots" available at our project page. Rino recently made his two mods available: mpbyrino and mpbyrino2. The former works fine with Hexen II, whereas the latter needs the Portal of Praevus expansion pack. Rino's mods are at: https://www.facebook.com/pages/RINO/265889100246732 The "Game of Tomes" mod by peewee_rota (aka ThePunKing) is another new hexen2 mod: https://github.com/cabbruzzese/gameoftomes/wiki And then, there is the somewhat incomplete Project Peanut: Developed by Shanjaq, Project Peanut introduces RPG elements, such as a massive array of spells, in a very interesting way. Its homepage is at: http://www.geocities.ws/shanjaq/index.html Demo note: You need the full retail version of the game in order to play modified games: mods are not supported in the demo version. 3.2 Game Console ---------------- Games based on the Quake engine have an in game console - toggled by the '~' key or by the Shift-Escape key combination - from which variables can be changed. Some of these affect performance, others enable features. A brief list follows but for more info see: http://www.quakewiki.net/archives/console/commands/quake.html variable valid values -------- ------------ fov_adapt 0 or 1 : Disable/enable Hor+ style field of view (FOV) scaling. Default is enabled: your fov will be scaled automatically according to the screen resolution, so that manual fov changing isn't needed. Opengl and software renderers both supported. _snd_mixahead 0.1-0.9 : 0.1 = less latency, 0.9 = better performance. Don't play with the default 0.1 value unless you really need to. snow_active 0 - 255 : 0 = none, 1 = normal amount designated by the map. Higher acts as a multiplier, very high values may cause massive performance loss in opengl. 3.2.1 Some opengl options ------------------------------- gl_multitexture 0 or 1 : Disable/enable multitexture support. 0 is default. Faster performance if the hardware supports it. Menu can be used to change the setting (Video Modes -> Multitexturing.) gl_texture_NPOT 0 or 1 : Disable/enable non-power-of-two textures. If the hardware supports it, it'd make a better job with textures, most noticibly with the 2D elements. 0 is default. Menu can be used to change the setting (Video -> NPOT textures.) NOTE: Some old graphic cards, such as R300 to R500 class ATI Radeons or NVIDIA GeForce FX, may lie about fully supporting this feature: enabling this on such hardware may result in an unplayable slowdown. gl_texturemode : GL_NEAREST (Point sample, least quality) GL_LINEAR (Bilinear, no mipmaps) GL_NEAREST_MIPMAP_NEAREST GL_NEAREST_MIPMAP_LINEAR GL_LINEAR_MIPMAP_NEAREST (Bilinear: default) GL_LINEAR_MIPMAP_LINEAR (Trilinear: best) Also adjustable from the menu. Bilinear is recommended. If you don't have an ancient graphics card, you should have no trouble running with the trilinear filtering. gl_texturemode_anisotropy: 1 is the minimum value with no anisotropic filtering. Values >= 2 will take effect if the hardware has support for it. gl_constretch 0 or 1 : Disable/enable console background eye candy. 3.2.2 Software renderer options ------------------------------- sbtrans 0, 1, 2 : HUD (status bar) transparency. 0: none (solid, default setting), 1: slightly transparent, 2: very transparent. dmtrans 0, 1, 2 : Same as the sbtrans above, but used for the small deathmatch overlay in multiplayer. contrans 0, 1, 2 : Same as the sbtrans above, but used for the console background transparency. 3.2.3 Other OpenGL options ------------------------------- gl_coloredlight 0, 1, 2: Static colored lights. 0 is the white light that hexen2 traditionally uses. Mode 1 is colored lighting. Mode 2 is experimental, which combines white and colored lighting (if available), and can give better results then just colored lighting sometimes. It is also slightly brighter. 0 is the default mode. Can be adjusted from the menu system. Changing this option requires the level to be reloaded. Colored lighting requires RGBA lightmaps (also selectable from the menu.) gl_colored_dynamic_lights 0 or 1: Disable/enable colored dynamic lights. 0 is the default. Also adjustable from the menu. gl_extra_dynamic_lights 0 or 1: Disable/enable extra dynamic lights. 0 is the default. Also adjustable from the menu. gl_purge_maptex 0 or 1: Purge opengl textures upon map changes. The textures won't keep accumulating from map to map, but the levels will load slower. Default is 1. Adjustable from the menu. 3.2.4 Nvidia tweaks ------------------------------- These are only valid for supported hardware (Geforce and better) with Nvidia's proprietary linux video drivers installed. The -sync or -vsync command line switch forces GL redraws to sync with the monitor refresh for a more stable image. This is equivalent to setting the environment variable __GL_SYNC_TO_VBLANK to 1. You can override our -fsaa switch if you set Nvidia-specific environment variable __GL_FSAA_MODE to an appropriate value. The details for this can usually be found in Nvidia's readme file. Briefly: Geforce 1 and 2 use mode 3 or 4, others 1, 2, 4 or 5. 3.3 Hardware Acceleration ------------------------- Setting up hardware OpenGL acceleration under Linux used to be a big deal in the past. Modern linux distros do this automatically now. Nvidia's drivers for all of their modern video cards are not open source, and because of this many distributions do not include them. If your Nvidia card is running slowly, this is probably the cause, you should visit Nvidia.com to download the linux installer. In my experience these drivers are great, but not all versions work 100% with all cards. If you have a misbehaving Nvidia video card, try a different driver version. Linux kernel 2.6.8 / Nvidia driver version 6111 /TnT card and possibly other cards and kernels have issues with the GL game: upgrade to 7167 to fix these problems. If you don't want to change your nvidia driver and the game seems to halt, try using the alt-enter key combination to switch to windowed mode and redraw the screen. Behavior is the same for glquake. 3dfx Voodoo1/2 and Voodoo Rush are no longer hardware accelerated under XFree-4.x and X.org releases. You need Glide, and Mesa compiled against glide. For some more detailed info, consult the document README.3dfx. 3.4 Thanks ---------- Thanks to ID Software, Raven Games and Activision for a great game and for supporting open source software, to Dan Olson and Clément Bourdarias for the initial Linux port, and to sourceforge.net for hosting us. Many thanks to all of our contributors: see the AUTHORS file for a complete list of them. 3.5 Links --------- 3.5.1 Hammer of Thyrion pages: ------------------------------- Home page : http://uhexen2.sourceforge.net/ Project page : http://sourceforge.net/projects/uhexen2/ SVN Repository : http://sourceforge.net/p/uhexen2/code/ 3.5.2 Hammer of Thyrion ports: ------------------------------- AmigaOS4 port: http://os4depot.net/?function=showfile&file=game/roleplaying/uhexen2.lha Pandora (GP2X) port: http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,66 PalmOS port: http://www.metaviewsoft.de/ RISC OS port: http://www.riscository.com/2012/hexen-ii-port-released/ http://www.iconbar.com/forums/viewthread.php?threadid=8455&page=1#120298 3.5.3 Hammer of Thyrion packages / builds: ------------------------------------------- FreeBSD packages: http://www.freshports.org/games/uhexen2/ Arch Linux packages: https://aur.archlinux.org/packages/hexen2/ Gentoo ebuilds: http://bugs.gentoo.org/show_bug.cgi?id=105780 3.5.4 Other Hexen II ports: ---------------------------- Hexen II PSP port: http://jurajstyk.host.sk/ JLQuake, a Quake1/2/3 and H2/HW engine: http://sourceforge.net/projects/vquake/ FTEQW, a Q1/QW engine with H2 support: http://sourceforge.net/projects/fteqw/ Korax's UQE Hexen II: http://www.jacqueskrige.com/ 3.5.5 Older, currently inactive Hexen II ports: ------------------------------------------------ Hexen II Mac port : http://macglquake.sourceforge.net/ Hexen II Dreamcast: http://dcquake.sourceforge.net/ JSHexen II : http://jurajstyk.host.sk/ Pa3PyX's Hexen II : http://pa3pyx.dnsalias.org/ Kiero's old MorphOS port of Hammer of Thyrion: http://www.binaryriot.org/users/kiero/ 3.5.6 Other links: ------------------- Hexen II resources at gamers.org: http://www.gamers.org/pub/idgames2/hexen2/ http://www.gamers.org/pub/idgames2/planetquake/hexenworld/ Rino's Hexen II mods: https://www.facebook.com/pages/RINO/265889100246732 Game of Tomes mod by peewee_rota (aka ThePunKing): https://github.com/cabbruzzese/gameoftomes/wiki DarkRavager's Hexen II resources: http://pages.citenet.net/users/danielm/hexen/hexen.html Linux Quake HOWTO: http://tldp.org/HOWTO/Quake-HOWTO.html id Software : http://www.idsoftware.com/ Raven Software: http://www.ravensoft.com/ SDL homepage : http://www.libsdl.org/ ALSA homepage : http://www.alsa-project.org/ --------------------------------- APPENDIX A. Some Legacy Options --------------------------------- If, while running around, the screen occasionally twitches up and down, then disable lookspring by typing "lookspring 0" in the game console. Lookspring, lookstrafe and keyboard look (+klook) are legacy options from DOS times for systems without a mouse, which we didn't kill only for historical reasons. They are pretty much of no use today and we recommend disabling them if they aren't already. Those options and/or key bindings are removed from the menu system of Hammer of Thyrion. For reference, here are what they are meant to do, as written in the old manuals: lookspring: 0 or 1. Returns your view immediately to straight ahead when you release the look up / down key. Otherwise, you must move forward for a step or two before your view snaps back. lookstrafe: 0 or 1. If you are using the look up / down key, then this option causes you to sidestep instead of turn when you try to move left or right. keyboard look: If +klook is bound to a key, press that key to use your movement keys to look up or down. mouse look: If +mlook is bound to a key, press that key to allow your mouse to look up or down (by sliding it forward and back), and to remain looking up or down even if you move forward. And here are some legacy opengl options: gl_picmip (0, 1, 2): 0 is default. 1 and 2 scale down the textures (low quality), but the help screens and some small fonts become unreadable and ugly. Was useful with old hardware with low memory back at the time. Keep it as 0. gl_playermip: similar to gl_picmip, but was for player skins. gl_ztrick (0 or 1): 3% performance hack mostly unsupported today. (See: http://forums.insideqc.com/viewtopic.php?p=36082#p36082) Keep it as 0. ================================================================ Hexen II: Hammer of Thyrion Development Progress : --------------------------- 2016-01-10 (SVN): * zone.c: fix padding in memblock_t struct to work as intended. the previous layout was probably harmless but wasted a few bytes. (from quakespasm svn r1275, patch by Eric Wasylishen.) * DOS: experimental support for several pci sound cards. * bump version date stamp to 2016-01-10. ================================================================ Hammer of Thyrion (uHexen2) release notes: ======================================================================== Changes in v1.5.9: (May 31, 2018.) ======================================================================== This is a minor bug fix and maintenance release: - OS/2 support using SDL (should work on eComStation and ArcaOS too.) - Updated third-party libraries (music codecs, SDL, etc.) - Support for Watcom compiler targeting OS/2 and Windows. - Support for libxmp for tracker music decoding (disabled by default.) - AHI audio no longer fails if the library returns 32 bit format (e.g. in AROS v0 nightly builds.) - New AmigaOS MIDI driver using CAMD library. - Several optimized assembler sources for m68k-amigaos. - gcc is now supported to target m68k-amigaos. - Software renderer: Reduced some 2D overdraw. Faster model lighting. - Recursion optimizations to server world query procedures. - New 'viewpos' command to display client's position and angles (based on FitzQuake version.) - config.cfg is no longer written in case of a Sys_Error. - Utils, windows: Change threads creation to use _beginthreadex(). - All platforms, gameplay: Necromancer soul devour no longer prints a stray number (bug #65.) - Other minor fixes, tidy-ups, and protability tweaks. ======================================================================== Changes in v1.5.8a (Aug. 28, 2016) ======================================================================== This is a post-release patch against v1.5.8 fixing a few Amiga issues: - Amiga sound (AHI backend): fix sample rates lower than 11025 Hz. - Amiga sound (AHI backend): fix bad sound with sample rates which are not a multiple of 11025. - Amiga input: limit lowlevel.library joystick ports to 0-3. - AmigaOS3, MiniGL: smart and automatic locking support. New cvar: gl_lockmode, valid values: "manual" (default), "auto", and "smart". ======================================================================== Changes in v1.5.8: (Aug. 12, 2016.) ======================================================================== This is a minor bug fix and maintenance release: - Software renderer: Fixed a reported crash if the engine is compiled with certain Visual Studio versions (bug #62.) - Software renderer: Fixed sky scaling issues, thanks to Szilard Biro. (fix found in 'ToChriS' quake source.) - Software renderer: Fixed scaling console backgrounds whose dimensions are not the default 320x200. One such example is the "Game of Tomes" mod which has a 1024x768 conback.lmp. - Hexenworld server: Added "-protocol x" command line option to force the server to use a specific protocol (25 or 26), if so required. - Amiga: Video fixes. On AROS, the game does not 'freeze' in fullscreen mode anymore if the 'Timidity:' assign is not present. - Amiga: m68k-amigaos support. (Use VBCC as the compiler, gcc has code generation issues.) - Windows: Visual Studio builds no longer require yasm or nasm. Tested compilation using VS2015-update/2. - DOS, PCI sound driver: Updates, more Intel HDA chipsets recognized. - DOS, 3dfx opengl: Macronix (MX86251) variants of Voodoo Rush boards are now functional. - DOS, 3dfx opengl: Further updates/fixes to opengl and glide drivers. Updates to DXE exports so that more opengl driver builds would work without requiring an engine recompile. - All platforms, gameplay: Fixed an issue with the rider bosses Death, Pestilence and War in coop mode. (as reported by Spike and Korax.) - Other minor fixes/tidy-ups elsewhere in the source. ======================================================================== Changes in v1.5.7: (Jan. 10, 2016.) ======================================================================== - All platforms, gameplay, mission pack: fixed an hcode bug which would make the spiders seemingly invincible for a difficulty-depending time. - All platforms, gameplay: Crusader partial heal at certain experience thresholds now starts at level 3 to be consistent with the manual. - All platforms, gameplay: Many small HexenC fixes and clean-ups. - All platforms, hexen2: Better cross-map demo playback support. - OpenGL: fix screenshots when screen width isn't a multiple of 4. - OpenGL: minor gamma updates. - Windows: fixed DPI scaling issues. - Windows, CD audio: fixed the "-cddev" command line option. - Music: Support for FLAC codec and tracker (MOD) music including unreal umx files. (edit the makefiles to enable when compiling.) - Utils, hcc: Added a command line option "-os" to compact the strings heap by eliminating duplicates. some minor revisions. - Utils, jsh2color: ignore minlight values from the -light command line switch: eliminates the majority of the ugly black patches from eidolon and rider2c maps. bumped its version to 1.2.6. - All platforms: External wal texture loading is now a compile time option, disabled by default. - HexenWorld: Support for a new protocol 26: if the client sends '*cap' userinfo with a 'c', the server returns protocol 26 instead of 25 and sends the sound and model lists in small chunks like quakeworld does. Old clients versus new servers and new clients versus old servers are not affected and run using the original protocol 25 as they used to. The new protocol 26 connection sequence avoids packet fragmentation. - DOS: HexenWorld is now supported on DOS. requires uhexen2 v1.5.7 or newer hexenworld servers to connect. (see above for hw protocol 26.) - DOS: OpenGL support on 3Dfx Voodoo cards. - DOS: Experimental support for several PCI sound cards (see README.dos) - Several small fixes, tidy-ups, safeguards elsewhere in the sources. - Added a shell script to run different versions of the game which can be useful for system-wide installations. (see scripts/hexen2-run.sh) - Removed the gtk launcher. - Updated third-party libraries (music codecs and SDL). ======================================================================== Changes in v1.5.6: (Mar. 15, 2013.) ======================================================================== - Screen: implemented Hor+ style field of view (FOV) scaling, useful for widescreen resolutions. configured by new cvar fov_adapt: set it to 1 and your fov will be scaled automatically according to the resolution. enabled by default. opengl and software renderers both supported. - Screen: viewsize greater than 120 now disables the hud (use the screen size slider in the options menu.) - Progs VM: Fixed a corner case thinko in version6 progs execution. - Server: changelevel failures, e.g. in case of non-existent maps, are now considered as error, so that the clients do not get stuck in the connected state anymore. - Server: accept maplist.txt only if it is from the same game directory as progs.dat itself or from a searchpath with a higher priority. - Timidity (Unix MIDI): Multiple fixes, including memory errors found by valgrind. - Mac OS X: A new icon. - Music: Support for Opus codec. (edit the makefiles to enable it when compiling.) - Software renderer: fixed color shifts from area contents or power-up items usage staying persistent after a disconnect. - OpenGL: worked around weird mods, e.g.: project peanut, where certain models are sometimes drawn "white" because the mod's hcode initializes those entities with non-existant skins. - OpenGL: gamma fixes for several platforms. - HexenWorld: opengl fixes for the shownames feature, other gl updates. - Hexenworld, gamecode: hw and siege map cycling setup is done using the localinfo variables just like in quakeworld, strings.txt abusing is no more. See docs/README.hwsv for brief instructions. - Verified correct compilation by upcoming gcc-4.8 and by clang-3.2. - Fixed several other minor bugs, some found by valgrind. Incremented engine versions for hexen2 to 1.28, hexenworld to 0.28, and gamecode version to 1.28. ======================================================================== Changes in v1.5.5: (Jan. 02, 2013.) ======================================================================== - Utils (light, vis, jsh2color): Added unix pthreads support for running multi-threaded. Enabled windows multi-threads on all platforms instead of alpha-only. Default is single-threaded. Use "-threads #" to specify the required number of threads. (max: 32. -1 tries to autodetect.) - Utils, qbsp: Added a command line option "-oldhullsize" to replicate the old h2utils/qbsp behavior of using the original hexen2 sizes for hulls #5 and #6, not H2MP ones, if so needed. - Utils, hcc: Added a command line option "-old" to replicate old hcc versions' behavior of allowing the STR_ constants be saved globals and letting precache_file() calls go into progs.dat, if so needed. - Utils, dcc: Some small fixes. Added new command line options -fields, -functions, -globaldefs, -prglobals, -statements and -strings, which dump the related information. - Utils, all: Some fixes/improvements to command line options handling. - Support for the rarely used progs version 7 spec with 32 bit offsets instead of 16 bit of the original version 6: The engine can run both with v6 as well as with v7 progs. The hcc and dhcc tools are changed to compile the progs as v6 whenever possible for compatibility, or as v7 otherwise. they can also be made to compile specifically v6 or v7 progs by the new command line options -v6, -v7, or -version <n>. The dhcc tool can now decompile both v6 and v7 progs. - Fixed a respawn-after-death issue which sometimes rendered the player unable to move backwards, or unable to use certain inventory items, or several other weird effects (bug #2176023.) The bug was there since the original hexen2 source release. - New quake2-style noclip movement. (from Fitzquake; configured by new cvar sv_altnoclip, enabled by default.) - Client: Fixed a demo playback failure when certain conditions are met. - Client: Fixed a minor and rare intermission glitch. - Client: unbindall before loading stored bindings (configurable by new cvar cfg_unbindall, enabled by default.) - SDL, keyboard input: Fixed control-character handling in unicode mode. - All, keyboard input: Several tweaks. - Software renderer: Disabled progress bars drawing, as it was reported to cause excessively long load times on some systems. Disabled the rotating skull drawing during file i/o. - Software renderer: Fixed occasional crash when sprites rendered very close to the camera origin, such as the teleportation puff. (used to happen mostly in 64 bit builds. bug #3562290.) - OpenGL: Fixed a crash in texture resampling code with 3d hardware max texture size greater than 1024 and wide-enough textures. - Windows: Removed hooks for QHOST, which is (was) a proprietery server administation tool. - Mac OS X: packages now have ogg/vorbis and mp3 music playback support. - Mac OS X: New MIDI driver. - Mac OS X: Support for text paste from OS clipboard to console. Support for the Apple (Command) key. - Mac OS X: Support for building using the makefiles and cross-compiling from Linux. - MorphOS builds: added missing -noixemul to the compiler flags. - MorphOS, AROS, Amiga: Support text paste from OS clipboard to console. - All platforms, gameplay: fixed bug in original hexen2 hcode which used to cause weapon switching to get stuck if several weapons were picked up too fast. fixed a minor bug in assassin's fourth weapon in powered mode. cleaned up weapon cycling code, minor fixes/clean-ups in weapon selection. fixed cube of force, so that it doesn't attack the player's own summoned imp anymore. several other hcode cleanups. - All platforms, hexenworld: pak4.pak from the ancient beta 0.11 version is now recognized properly. - All platforms, h2patch: Simplifications. - Windows: support for Visual Studio 2012. - All: Incremented versions for hexen2 engine to 1.27, hexenworld engine to 0.27, and gamecode version to 1.27. ======================================================================== Changes in v1.5.4: (July 01, 2012.) ======================================================================== - 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. ======================================================================== Changes in v1.5.3: (Apr. 10, 2012.) ======================================================================== - OpenGL: Made non-power-of-two textures support configurable by a cvar, gl_texture_NPOT, disabled by default: Fixes serious slowdown on some old graphics hardware, such as R300 to R500 class Radeons on Mac OS X, which the driver is lying about its capability. Added a menu entry to enable/disable the feature (OpenGL features -> NPOT textures.) - Sound: The client no longer tries updating the ambient sounds when not connected, ie. when no map is active. - Several updates to the documentation. ======================================================================== Changes in v1.5.2: (Apr. 04, 2012.) ======================================================================== - All platforms: Incremented versions for the hexen2 engine to 1.25, hexenworld engine to 0.25, gamecode to 1.25 and the gtk-launcher to 1.0.7. - Verified correct compilation by clang (using v3.0) and by the new gcc version 4.7.x. - All platforms, gamecode: Fixed occasional crashes in the original hexen2 game with the Paladin's axe. - All platforms, hexen2 net play: fixed connection getting stuck sometimes after displaying the "Connection accepted" message. - All platforms: Ported server model code optimizations and cleanups from h2ded to hwsv (hexenworld server). - All platforms: Added support for transparent console in the software renderer, controlled by new cvar "contrans". The valid values for contrans are 0 (solid), 1 (transparent) and 2 (very transparent). - All platforms, software renderer: Fixed wrong transparency issue with certain models when not using the x86 assembler drawing routines. - All platforms: Added on-screen fps counter to hexen2 (do "showfps 1" from the console). Updated existing showfps code of hexenworld. - All platforms, OpenGL: Added anisotropic texture filtering support (gl_texture_anisotropy). Revised existing texture filters. The texture filtering options now saved to the config. - All platforms, OpenGL: Added support for non-power-of-two-textures extension. - All platforms: Implemented fov in opengl hexen2, useful for widescreen resolutions. Revised the implementations in hexenworld, as well as the software renderer. - All platforms, OpenGL: Fixed shadows spot which was broken back in 2007 during v1.4.2 development. - All platforms, input: Discard mouse/joystick motion when in camera mode. Discard the accumulated mouse motion when starting a game or when loading a saved game to prevent any unintended viewangle changes. - Windows input: Disabled GDI mouse acceleration flags for better behavior on XP and newer versions. - SDL / Unix: Revised SDL unicode and dead keys support. - SDL / Mac OS X: Fixed console and message mode backspace key (bug #2688151.) - Unix / SVGAlib mouse: Fixed missing camera mode and ideal roll handling. - Unix / SVGAlib video: Fixed planar modes when using the svgalib_helper kernel module. Removed the need for x86 assembly for compilation and the linux-only limitation. - Unix / SVGAlib video: Fixed messed up colors upon coming back from a vt switching. - Unix: Fixed compilation on GNU/kFreeBSD (Debian, #657793) - Unix, MIDI: Several updates to the Timidity backend. - Timidity, Windows MIDI: Support for Microsoft RMID format. - Windows MIDI: Fixed broken tempo with certain midi files (problem was introduced in version 1.5.1) - Windows software renderer: Fixed restoring of the saved video mode on startup (problem was introduced in v1.4.4.) - Windows software renderer: Disabled MGL DirectDraw support by default (causes more trouble than it's actually worth.) Can be enabled by -useddraw or -usedirectdraw command line switches, if required. - All platforms: Revised the cross-episode demo recording and playback behavior, allowing the intermission screens to be displayed. - All platforms: Removed code that prevented deathmatch and coop cvars to be set at the same time, which was reported for possibility of causing compatibility issues with mods. - All platforms: Majorly revised the support mechanism for different versions of progs. Added old v1.03 progs support to hexen2, added old v0.11 and v0.14 progs support to hw. - All platforms, h2ded: Removed error when neither coop nor deathmatch is set and rely on server admin. - All platforms, hexenworld client: Fixed a crash in the credits display when one waited long enough to see all the text to be printed. - Unix / gtk-launcher: Added support for gtk3. Several bug fixes and code cleanups. - Mac OS X: Fixed compilation failure due to a typo in MIDI code introduced in v1.5.1. - DOS: Added WatTCP (WATT-32) networking support for hexen2 internet play. - DOS: Added experimental DOS support for hexenworld using the WatTCP library. (doesn't work yet due to WatTCP bugs.) - DOS: Added "-nogus" command line option so that UltraSound initializa- tion can be skipped by the user if necessary. - Miscellaneous source code cleanups. ======================================================================== Changes in v1.5.1: (Nov. 21, 2011.) ======================================================================== - All platforms: Fixed an inventory icon scrolling bug. - All platforms: Removed a needless limitation on config and save names. - Linux (Unix/SDL): Fixed SDL software renderer bug that the image was not stretched to fill the screen. - Linux: Fixed the gtk-launcher crash with new glibc. - Windows: Updates to the midi playback code. - DOS: Fixed failure on computers with more than 2GB memory. - DOS: Fixed a stack corruption bug in VESA initialization. - DOS: Added support for the -cddev command line arguments. - Unix: Added some paranoid checks for string buffer sizes. - Linux/Unix: Provided cd-rip scripts for less common game media, i.e. the Xplosiv re-release and the Matrox m3D oem versions. - All platforms: Fixed logic in the hwmquery tool that would cause less number of servers to be displayed than what had been received from hwmaster. - Bumped versions for the hexen2 engine to 1.24, hexenworld to 0.24, hwmaster, hwrcon and hwterm to 1.2.7, hwmquery to 0.2.3 and the gtk launcher to 1.0.6. - Build system updates and source code cleanups. ======================================================================== Changes in v1.5.0: (Sep. 15, 2011.) ======================================================================== - bumped 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 and dropped the 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 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 didnt 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 value of sys_throttle 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 6th 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 application) 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 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 issue 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 the cvar external_ents: default value is 1 (enabled). setting it 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 v1.4.3 mostly during the unreleased 1.4.4-beta cycle: - fixed 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 new command line option -cddev 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 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. - 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. - other minor fixes. ================================ There is a test version of U-Hexen2 released on 2025.08.06: Follow www.os2world.com forum threads for feedback and more infos.
 sourceforge.net/project/downloading.php?group_id=124987&filename=hexen2-1.5.9-os2.zip(link is external)
U-Hexen & U-Hexen 2 v. 0.601 (22/12/2004, Doodle)
 www.os2site.com/sw/games/sdl/uhexen-0.601_.zip(link is external)
U-Hexen & U-Hexen 2 v. 0.601 (21/6/2004, Doodle)
 www.os2site.com/sw/games/sdl/uhexen-0.601.zip(link is external)
Record updated last time on: 08/08/2025 - 19:52

Translate to...

Add new comment