Development Log:
An incremental history of the sources and various CVS snapshots can be found HERE .

1.3.0: Changes since HoT 1.2.4 (2005-08-29):
  • released as 1.3.0-final
  • update_h2.sh: updated the pakfile patch script to use OS specific versions of loki_patch binary.
  • hexen2.spec: updated according to the final loki_patch package
  • Makefile.unix: fixed static linking and explained the requirements for it
  • updated TODO list
  • README: added details for manual installation and patching
  • README, README.demo: added requirements info for glibc

2005-08-22/23:
  • cl_tent.c, (gl_)screen.c: killed some stupid 'may be used uninitialized' warnings
  • net_chan.c, sv_main.c: fixed two gcc4 warnings of type "pointer targets in passing argument N of 'X' differ in signedness"
  • (gl)screen.c, sbar.c, sbar.h: cleaned-up some of the mess part of which partially formed after the fullscreen intermissions merge: indentation and whitespace fixes, if 0'ed SB_IntermissionOverlay and SB_FinaleOverlay of H2W, killed Sbar_IntermissionOverlay, Sbar_FinaleOverlay and SCR_DrawLoading of H2W along with associated vars. Will probably need more clean-up and unification in future.
  • screen.c: fixed a silly nested extern declaration
  • screen.c: added the missing notes by ID to the H2 version
  • glwin32.h: fixed a typo
  • common.h, cmdlib.h, defs.h: cleaned up endianness macros
  • added ReleaseNotes to the docs folder
  • hexen2.spec: fixed and updateo the rpm spec file

2005-08-20 (CVS, 1.3.0-rc5c):
  • fixed temporary gip files not being removed and probably caused "bad" savegames on win32. removed unnecessary platform defines for directory path separators. favored unlink() over DeleteFile() on win32. removed a left-over CL_RemoveGIPFiles() from sys_win.c.
  • more finishing touches before 1.3.0-final:
  • added dummy files to some empty directories to avoid build failures
  • copied over endianness stuff from engine trees to the utils
  • utils: removed unnecessary -lm from dcc
  • killed unused dosisms.h header (win32/in_win.c)
  • utils: killed unused stuff in dcc
  • utils: some other minor cleanups
  • moved more unused files to 00_unused

2005-08-19 (CVS, 1.3.0-rc5b):
  • finishing touches before 1.3.0-final:
  • killed erroneous extra comma in snd_win.c
  • replaced Makefile.packaging with Makefile.unix, updated build scripts and rpm spec file, added hexenworld build_all scripts, added build_win32 scripts.
  • use the same exe names as Raven's versions for win32
  • unix style line endings for more gamecode files
  • replaced gnu.txt with a readable (line-wrapped) version from gnu.org for hwmaster

2005-08-18 (CVS, 1.3.0-rc5a):
  • moved music volume update back into frame update. it has its merits (such as correct bgmvolume on startup) this way..
  • fixed stupid cd music volume update bug
  • sync'ed h2 and h2w versions of cd_win.c

2005-08-17 (CVS, 1.3.0-rc5):
  • Fixed R_DrawViewModel to not return until it determines the light_level, otherwise the player will be considered invisible to the monsters.
  • Standardized SDL_mixer includes
  • Makefile fixes for hexenworld server
  • Updated win32 build instructions.
  • Updated the rpm spec file according to the names of the files to be released

2005-08-12 (CVS, 1.3.0-rc4a):
  • updated all build scripts for freebsd gmake problem (Steve)
  • updated sdl includes of midi for freebsd (from Steven)
  • removed malloc.h from hwmaster. doesn't seem necessary and bsd whines with it. (from Steven)
  • loosened SDL version restrictions depending on the SDL version on the build system. will issue a warning if less than 1.2.6

2005-08-11 (CVS, 1.3.0-rc4):
  • 1.3.0-rc4. Everything seem to work fine and this should be the last -rc before 1.3.0-final
  • performed small cleanups (killing zombie vars and cvars, statements with no effect, etc.)
  • const MODE_FULLSCREEN_DEFAULT have different meanings in mgl/win32 and others. fixed.
  • made OSS sound include <sys/soundcard.h> only. I'm afraid we may need taking care of <soundcard.h>, <linux/soundcard.h> and <machine/soundcard.h> someday.
  • removed the -O2 from win32 assembler flags to avoid miscompilation
  • added mgl headers and link libraries and enabled win32 builds of the software renderer version. The hexen2 version has Pa3PyX's bits merged into it whereas the hexenworld one is more true to its original (they need to be unified in future.) Original win32-software versions of both hexen2 and quake always used to crash on my box, but now works nicely with mgl-4.05. Only a few small quirks are present which can be fixed in future versions.

2005-08-09 (CVS, 1.3.0-rc3):
  • Prioritized a game directory over its pakfiles in the search order which is the behavior of HoT-1.2.4 and older. This bug, carried over from hexenworld, disallowed override files to be used. The ID guys probably had their concerns while doing this, which Raven did change in hexen2 but missed in hexenworld.
  • Added the missing part of Steven's CL_UpdateStreams crash patch
  • Disallowed cycling to a weapon without proper mana (from Steve)
  • Enabled impulse 34, (puzzle piece inventory list) (from Steve)
  • Added default.cfg override files according to the latest changes
  • Updated the gamecode README file

2005-08-08 (CVS, 1.3.0-rc2):
  • Fixed the longstanding StreamEntities crash bug: the compiler should have been picking up inappropriate nested loops. Steve, you are the man ;)
  • Updated cdaudio init messages
  • Killed the Sys_FileTime crap. now using the standart access() function

2005-08-05 (CVS, 1.3.0-rc1):
  • hcc: made main's return type int.
  • hcc: made progs.dat and progdefs.h filenames honor -src option.
  • hcc: no need to write source directory name (from -src option) into strings
  • updated the rpm spec file for 1.3.0

2005-08-04 (CVS, 1.3.0-rc1):
  • enough changes went in, therefore let's bump the HoT version to 1.3.0, hexen2 engine version to 1.14, hexenworld to 0.16
  • sound: fixed hexenworld not initializing sound on freebsd (from Steven.)
  • menu: removed some outdated stuff (lookspring and lookstrafe options and +mlook and +klook key bindings) from the menu
  • buildsystem: platform defines cleanup
  • buildsystem: debug defines clean-up
  • buildsystem: compiler flags for debug builds
  • buildsystem: added X11FLAGS for X11 includes. should help distros that doesn't have symlinked /usr/X11R6/include/GL as /usr/include/GL
  • vid: added support for window manager icon using xbm format data. stolen from the quake2 project at icculus, code probably by relnev (Steven Fuller)
  • hexenworld: tiny update for failure cases of NET_SendPacket and NET_GetPacket
  • hexenworld: disabled Raven/RJR privilege in rcon validation
  • hexenworld: disabled idmaster logging
  • hexenworld: disabled more Raven privileged stuff in SV_Say
  • hcode: map cycling: renamed map_name to a more intuitive map_next. cleaned up some dprint's.
  • hcode: killed unused hcode files, moved them to a separate directory for reference
  • hcode: minor clean-up in hw and siege
  • code clean-up: tidy up cl_tent.c of hexenworld (from Steve)
  • code clean-up: probably some other tiny clean-ups.
  • documentation: added draftish notes on porting. updated all dother documentation.

2005-07-24 (CVS, 1.2.5-pre11):
  • it seems like reducing the number of lightning streams to 8 is not a good enough workaround for hexenworld client crash: Updated docs/BUGS with a detailed description of the problem, put the variable StreamEntities[] back in for good binaries compiled with gcc3
  • hopefully fixed bsd cdrom compilation this time
  • fixed midi not playing when midifile exists in the searchpath but not in com_userdir/<mod_dir>/.midi
  • re-fixed sdl-midi for better handling of file size
  • unified the common functions for hexen2-hexenworld (big patch, so please be on watch for anything broken)
  • increased hexen2 minimum zone size to 256 KB to match that of hexenworld's in order to handle the new changes
  • added check for mkdir return code in userdir creation in hexenworld master server
  • made Sys_mkdir of the launcher use $HOME instead of the passwd struct
  • we may actually need a real Sys_mkdir in hwsv, so added one
  • merged com_sys stuff back into main.c in launcher
  • fixed gl_warp of hexenworld to give 3 args to COM_FOpenFile
  • hexenworld server seemed to have sent the wrong message for the cdtrack resulting in no cd music playing. fixed.
  • I seem to have missed one place for linux-only alsa sound conditionals which resulted in compile failure on bsd. fixed.
  • separate icons for hexen2 and hexen2mp
  • compile win32 resource as .o, not .res. makefile fixes for the new icon directory.
  • killed the unused visualc stuff
  • misc whitespace clean-ups

2005-07-20 (CVS, 1.2.5-pre10):
  • killed fastfabs, not worthy of keeping anymore
  • made vid_initialized static
  • allowed mini-status when sbar transparency is set, for now
  • added transparent sbar of hexenworld to hexen2 for software mode. style fixes in draw.c, draw.h, sbar.c, sbar.h.
  • added the gl_texels console cmd to hexenworld as well. added some H2MP and H2W define conditionals.
  • partial fix for hexenwold crosshair 2: send the texture to GL_LoadTexture in non-rgba mode. it still won't show up unless the game is started with a proper conwidth value.
  • added crosshair 2 support of hexenworld to hexen2.
  • added 32x32 alpha pixmap support from darkplaces project which "fixes" the crosshair 2 support. chances are that things maybe incomplete here, but I don't care much. (this actually is hiding our actual bug where 8-bit upload somehow clobbered the crosshair texture.)
  • added crosshair color from quake. performed some small cleanup. I hope I won't have to bother with this thing anymore.
  • the crosshair we have here is actually the QuakeWorld crosshair which Raven didn't bother changing. it is possible to make class- based crosshairs. our crosshair is now 32x32, but we're drawing in 16x16 to have a smaller pic. if, in the pixmap, the pixels are not drawn in doubles, the final image on the screen may have some of the pixels missing. sigh...

2005-07-15 (CVS, 1.2.5-pre9):
  • fixed typo in cd_unix.c for freebsd
  • added a makefile hack to prevent hwsv or hwcl build failures when either of them is built first and then the other is attempted to be built without doing a make clean
  • documented the modified/unmodified detection
  • updated README.3dfx (the -3dfxgamma argument requires HoT-1.2.5 and newer)
  • updated BUGS (insignificant typos, etc.)

2005-07-09 (CVS, 1.2.5-pre8):
  • fixed some string length oversights in zone.c.
  • macroized the repetitive console+file printing routines for sys_* console commands.
  • added hexen2 version of zone.c to hexenworld.
  • changed all Hunk_Alloc() usage to Hunk_AllocName() for easier memory usage tracing (adapted from Pa3PyX).
  • we now allocate on the hunk (or zone) and don't malloc system memory unless necessary.
  • increased hexen2 minimum zone size to 128 kb.
  • put back Q_log2() to mathlib, hunk allocation changes to snd_win requires that.
  • tiny fixes/clean-ups in win32 sound which now honors user's sampling rate and bps requests.
  • similar cleanups in win32 midi.
  • copied hexen2 version of snd_win to hexenworld.
  • fixed win32-hexenworld clipboard pasting code compilation.
  • added win32 clipboard pasting to hexen2 (from hexenworld).
  • SDL version checking and refusal shall not happen for dedicated servers.
  • tiny clean-ups in sys_unix.c.
  • moved local unix version of strlwr to zone.c, its only user.
  • added defines for min, max and default heap and zone sizes in the launcher.
  • increased minimun zonesize to 128 in the launcher, as well.

2005-07-05/06 (CVS, 1.2.5-pre7):
  • Updated oss driver (added PROT_READ to mmap mode)
  • Updated sdl sound (added soundinfo to init, various insignificant things)
  • Updated alsa driver (various insignificant things)
  • Removed traces of alsa ancient versions support
  • style/whitespace changes and removal of weird alien stuff in zone.{c|h}

2005-07-02 (CVS, 1.2.5-pre7):
  • Minor cosmetic clean-up in S_Update_() for S_SYS_SDL
  • Added device selection support (-ossdev) to OSS sound. Cleaned-up OSS warning/error messages.
  • Updated documentation for -cddev, -alsadev and -ossdev arguments
  • commands.txt and edicts.txt will be saved into com_userdir
  • Cleaned-up file saving in zone.c

2005-07-01 (CVS, 1.2.5-pre6):
  • speed key now acts as slow key when "always run" is chosen

2005-06-28 (CVS, 1.2.5-pre6):
  • Added warning messages to snd_sdl for endianness-format mismatches
  • Updated documentation about mouse not being initialized in fullscreen games when using fluxbox window manager
  • Updated the demo version's README
  • Tiny cosmetic clean-up in snd_sdl.c

2005-06-26 (CVS, 1.2.5-pre6):
  • Added hexen2's glow code to hexenworld without any changes. Not that bad at all considering the changes in hexenworld. I won't bother anymore with this myself. If anyone has any fixes and/or improvements for it, send it this way. If it broke anything, umm, tell that as well ;)
  • Changed those pointless glow style const ints to defines.
  • Added the intermissionScreen CacheFree code to software vid. I have ignored this fragment for a long time due to the fact we removed video mode switching, but here it is for possible future use.

2005-06-25 (CVS, 1.2.5-pre6):
  • added the lib3dfxgamma sources.
  • added lib3dfxgamma (native 3dfx gamma) support to the gl versions, activated for voodoo1 and voodoo2 when -3dfxgamma argument is used.
  • Bumped the teleport-push speed to a highest safe value of 225 (250 is still safe, but just in case) and restricted that to the Cathedral map when not in deathmatch. Otherwise, Raven's original value (300) is used.

2005-06-22/23 (CVS, 1.2.5-pre5):
  • several typo/spelling fixes
  • added -O2 -Wall flags to utilities' complilation
  • many warning fixes in utilities, it should be gcc4-ready now

2005-06-21 (CVS, 1.2.5-pre5):
  • fixed launcher for gcc2 compilation

2005-06-20 (CVS, 1.2.5-pre5):
  • added -conwidth info to the documentation
  • launcher v0.6.1: added conwidth support, included 1600 in the resolution list, other tiny clean-ups
  • killed a few ugly win32 warnings
  • killed a leftover Q_strncasecmp function in utils
  • added a replacement stpcpy for non-__GLIBC__ cases
  • added MSYS/MinGW makefiles and build scripts for utilities
  • added _GNU_SOURCE define to dhcc compilation

2005-06-19 (CVS, 1.2.5-pre4):
  • added the -conwidth (and -conheight) commandline switches enabling a bigger hud display and readable fonts at high resolutions. the fonts will be somewhat distorted, though. valid conwidth values are values equal or less than the window width, 640 is the sanest.
  • synced h2 and h2w versions of GL_Init_Fuctions()
  • win32 stuff: added wheelmouse support and conwidth support to hexen2. changed hexenworld's default behavior of default 640 conwidth to main width unless specified otherwise by the user. disabled startup splash screens for now. compile the icons in. sycned hexen2 and hexnworld's GL_Init_Functions(). disabled InitCommonControls() in gl_vidnt. moved RegisterWindowMessage for uMSG_MOUSEWHEEL to in_win where it belongs. bumped MAXIMUM_WIN_MEMORY to 32 MB. killed useless Sys_ConsoleInput in hwcl. several other sycning and clean-up.

2005-06-17 (CVS, 1.2.5-pre4):
  • many fixes/clean-ups to the Makefiles
  • several gamma clean-ups, spelling fixes
  • inline fixes in mathlib.h
  • moved gl_max_size and is_3dfx to gl_vidsdl, others will use it as externs
  • fifth (succubus) model in hexen2 is for the mission pack only and we've been out of bounds in four places for ages, fixed it
  • killed the glfunc struct for opengl funtion pointers
  • added a cleaner com_userdir solution for hwsv in SV_Gamedir_f()
  • more endianness detection fixes
  • properly ifdef'd unix-only sound things
  • strlwr extern in zone.c is for unix only
  • made Sys_mkdir int for win32 as well
  • restored the game's old userdir behavior on win32
  • fixed many win32 compile failures and warnings
  • restored opengl version's compilability on win32 using MinGW under MSYS

2005-06-12 (CVS, 1.2.5-pre3):
  • cleaned-up includes and hopefully fixed endianness detection
  • enabled alsa only on linux platforms
  • updated all makefiles and build scripts. now I can happily do make CC=xxx ..., make/gmake issue should also be fixed.
  • updated cd_linux
  • added cd_unix as a wrapper and a cd_null
  • updated known bugs
  • added a version of cd_bsd: hopefully correct, cannot test its functionality right now. it is not used directly but intended to be included automagically into cd_unix.c at compile time. not enabled right now but be trivially done so by editing the makefiles
  • changed all strcasecmp to Q_strcasecmp in unix cdrom code for consistency
  • open the cdrom device with O_NONBLOCK in order to prevent CDAudio_Init failing when there is no disc in drive
  • added SDL cdaudio code (from SDLquake with fixes & adaptation)
  • enabled the use of cd_unix.c which includes the correct cdraudio code: If USE_SDLCD is set to yes in the makefiles cd_sdl.c will be used; otherwise cd_linux.c for linux, cd_bsd.c for freebsd or cd_sdl.c for any others.
  • misc cdaudio spelling fixes.

2005-06-10 (CVS, 1.2.5-pre2):
  • Cleaned up and redesigned the launcher, Version 0.6.0:
    - The "More" mode uses tabs on the right for more bloat
    - Removed -sndmono option
    - Added support for --gllibrary, -3dfxgamma, -fsaa, -vsync, -paltex, -nomtex, -nomouse, -heapsize, -zone, -condebug
    - Maybe I add a space for custom arguments one day

2005-06-09 (CVS, 1.2.5-pre2):
  • [launcher] fixed a truely silly typo which is responsible for the longstanding "Gtk-CRITICAL **: file gtkwidget.c: line 6502 (gtk_widget_unref): assertion `GTK_IS_WIDGET (widget)' failed" error message upon exitting.

2005-06-08 (CVS, 1.2.5-pre2):
  • Help messages drawn fullscreen for software version, as well
  • Added texture cheksumming (from Pa3PyX) for verification in GL_LoadTexture. Die white textures, die die die ;)
  • Ported fullscreen intermissions code to hexenworld.
  • Some more hexen2/hexenworld code syncing.

2005-06-07 (CVS, 1.2.5-pre2):
  • Moved flush_textures decision to svmain.c:SV_SpawnServer() again, this time fixing it by not clearing the server struct in Host_ShutdownServer(). In fact this logic is still slightly flawed, because flush_textures isn't set on map changes in client-to-remote server map-change situations.
  • Ported gl texture purge and model recycling code to hexenworld. Textures are purged regardless of mapname change (we can't detect it early enough), but servers normally wouldn't repeat a map anyway.
  • Removed my incorrect paranoia alert in cache mismatch code: No paranoia, because gl_purge_maptex may well be false, and flush_textures doesn't work for map changes in client-to remote server connections.
  • Fixed crosshair texture ("crosshair 2") not shown in hexenworld (was a typo while porting GL_LoadTexture changes)
  • Removed a lot of unnecessary/obsoleted files
  • Updated documentation to the state of 1.2.5-pre2 / 2005-06-07

2005-06-06 (CVS, 1.2.5-pre2):
  • fixed alsa minimum required version detection
  • put some notes on decision behavior for -sndspeed argument
  • put my usual requested/obtained sndrate mismatch warning in snd_sdl, as well
  • ChaseCam clipping and pitch fixes from quakeforge and quakesrc.org (FrikaC). Still not perfect, but much better than what we previously had.
  • mlook and lookspring fixes by J.Krige
    ( http://www.quakesrc.org/tutorials/old/1 )
  • considered as 1.2.5-pre2

2005-06-05 (CVS, 1.2.5-pre1):
  • patches I've been forgetting for quite some time:
  • use GL_LoadTexture for player, particle and sky textures,
  • prevent Z fighting in shadows,
  • increase MAX_MOD_KNOWN for sofwware version as well,
  • enable the irritating water-warp only by a cvar and add water-ripple code of Jacques Krige.

2005-06-03 (CVS, 1.2.5-pre1):
  • Latest mouse fixes and clean-ups
  • Updated gamma stuff. Enabled gl-gamma trick to work if all else fail (such as in cases of Voodoo1/2). IMO, the gl-gamma trick looks very ugly and causes a 5 fps slowdown in 1x brightening and 10-12 fps in 2x brightening on my Voodoo2 box. We'll see..

2005-06-01 (CVS, 1.2.5-pre1):
  • SDL version >= 1.2.6 is now required. Updated the READMEs and added a version check at startup.
  • removed win32-only net function prototypes from linquake.h and updated linux_inc.h. also moved win32-only ipx netcode (this should fix the silly compile errors on bsd.)
  • updated a comment in Client/cl_main.c

2005-05-31 (CVS, 1.2.5-pre1):
  • ported player menu-texture handling, GL_LoadTexture and gl-filter changes from hexen2 to hexenworld.

2005-05-30 (CVS, 1.2.5-pre1):
  • updated commandline help display
  • removed obsoleted mkdir from hexenworld's Host_Init
  • added version and help strings to hwmaster
  • lowered the upper heapsize to 64 Mb for hwsv
  • version and help strings for hwsv (not much in help, but...)
  • moved hexenworld HOT_VERSION defines to bothdefs.h
  • consider this as 1.2.5-pre1

2005-05-29 (CVS):
  • Merged skyalpha of hexen2 to hexenworld
  • Added 2-tmu multitexture support (extracted from jshexen2): Doesn't work well with fxMesa (Voodoo2): "Unexpected dual texture mode encountered" all the time: Voodoo driver doesn't support many mtex modes (same goes for 3dfx DRI drivers). The particular problem we have is GL_MODULATE/GL_BLEND mode not being supported. GL_MODULATE/GL_DECAL is also missing which the patch uses for sky
  • Ported texture scale/upload and 8-bit extension functions of hexenworld to hexen2. This cures some corrupted textures while using paletted textures in hexen2
  • Killed gl_texsort (thus, R_DrawSequentailPoly & co) which was fairly broken
  • Reverted AoT changes to hexenworld's gl_rsurf
  • Synced some function and define names between h2 and h2w
  • A lot of whitespace clean-ups

2005-05-26 (CVS):
  • enabled mouse in whole of the options menu group
  • added basic multisampling support (GL_ARB_multisample), activated with -fsaa N. That D_ShowLoadingSize doesn't display anything with this on is the only issue
  • moved Mesa environment variable handling to gl_vidsdl where they belong
  • added a cmdline switch to enable vsync for nvidia users
  • made gl_vidsdl report stencil size as well
  • updated command-line help display
  • updated README for cmdline switches and tweaks
  • fixed small typos in README.3dfx

2005-05-23 (CVS):
  • search the mesh cache directly under com_userdir/glhexen, not in search_path. fixes the crazy polygons in mods bug.
  • added 3dfx documentation, updated BUGS.

2005-05-22 (CVS):
  • applied sbar fixes to hexenworld
  • changed default viewsize to 110
  • temporary fix for multiplayer episode selection. next time we should get rid of these H2MP defines and decide in runtime (com_portals from H2W?)
  • killed cvar sys_quake2 (I dont think anyone uses it)
  • conproc.* is for win32 only, moved them

2005-05-21 (CVS):
  • disabled the rotating skull annoyance in GL mode (used to cause problems with voodoo1/mesa6 when using gamma tricks)
  • Big mouse fix and clean-up:
    - revived -nomouse that "disables mouse no matter what"
    - renamed _windowed_mouse to _enable_mouse which is our intention, that is, dynamically disabling/enabling mouse while in game
    - old code had many oversights/leftovers that prevented mouse being really disabled in fullscreen mode. fixed and cleaned-up here
    - even in windowed mode, when mouse was disabled, mouse buttons and the wheel got processed. fixed it here.
    - mouse cursor is never shown while the game is alive, regardless of mouse being enabled/disabled (I never liked an ugly pointer around while playing) Its only intention would be to be able to use the desktop, and for that see, the grab notes below
    - if mouse is disabled, it is un-grabbed in windowed mode. Note: One can always use the keyboard shortcut CTRL-G for grabbing-ungrabbing the mouse regardless of mouse being enabled/disabled.
    - ToggleFullScreenSA() used to update vid_mode but always forgot modestate. It now updates modestate as well.
    - Now that IN_ActivateMouse() and IN_DeactivateMouse() are fixed, IN_ActivateMouseSA() and IN_DeactivateMouseSA() are redundant and are removed. BTW, I added a new qboolean mousestate_sa (hi Steve) which keeps track of whether we intentionally disabled the mouse.
    - mouse disabling in fullscreen mode (in the absence of -nomouse arg) is not allowed in this patch, but this is done by a if 1/if 0 conditional compilation. Next patch will change all those if 1 to if 0, and voila!, we can fully disable/enable mouse in fullscreen.
    - moved modestate enums/defines to vid.h so that they can be used by other code properly.
  • enabled mouse when in console
  • re-enabled complete disabling/enabling of mousa in fullscreen mode (only replaced a bunch of if 1's to if 0's)
  • MINIMUM_MEMORY_LEVELPAK was never used, switched to MINIMUM_MEMORY
  • don't Sys_Error on bad -port cmdline argument
  • removed net_serial which has been dead for ages
  • synced wm caption code
  • more syncing of h2/hw vid_sdl and gl_vidsdl
  • fixed vid.h for VID_SetMode for win32

2005-05-20 (CVS):
  • Makefiles clean-up
  • synced h2 and hw versions of sound.h, moved two defines to protocol.h where they belong
  • synced h2 and hw versions of cd_linux.c (use the new H2W define)
  • synced h2 and hw versions of snd_dma.c (use the new H2W define)
  • synced h2 and hw versions of crc.c and crc.h
  • synced h2 and hw versions of midi stuff
  • save cache.txt and stats.txt into com_userdir
  • removed all unused IDGODS code
  • removed all unused (never used) non-RJNET and non-QUAKE2RJ code
  • removed all unused (never used) RJNETa and RJNET2 code
  • killed client->privileged (was only available to IDGODS)
  • initial syncing of common.c between h2 and hw: a lot of whitespace clean-up, removal of activision secure stuff, removal of -path, -proghack, -savedir and -cachedir support, better registered version detection and crc checks, etc
  • removed some windows left-overs from sys_unix
  • separated winquake.h into winquake.h and linquake.h changed all occurances of winquake.h to quakeinc.h, which includes the correct header
  • keep ID style in declerations (less diff between h2/h2w...)
  • initial slight gl syncing: stripped the platform spesific stuff out from glquake.h into glxunix.h and glwin32.h
  • killed unused c_sky_polys in h2

2005-05-18 (CVS):
  • (Re-)added the parms.userdir to all sys_win.c. The platform conditionals around some of the com_userdir code of late are now unnecessary.
  • separated sys_unix.c and sys_win.c of hwsv to avoid many confusing conditionals
  • hopefully restored utils' compilability on win32: platform conditionals for includes; Q_strXcasecmp is now only for non __GNUC__, otherwise strXcasecmp is used.
  • updated mathlib.* of the utilities (removed underscored versions of the functions. dhcc doesnt even use the mathlib, updated its makefile...)
  • cleanup of "stricmp, strcmpi, strnicmp, Q_strcasecmp, Q_strncasecmp" mess: Q_strXcasecmp will now be used throughout the code which are implementation dependant defines for __GNUC__ (strXcasecmp) and _WIN32 (strXicmp)

2005-05-17 (CVS):
  • removed underscored versions of string comparison functions
  • removed unused underscored versions of math funcs
  • Q_strXXXXX is now only for !PLATFORM_UNIX
  • macroized some math functions (from Pa3PyX)
  • synced h2 and hw versions of mathlib.* (h2 now has some math functions inlined)
  • updated linux_inc.h for the changes above
  • removed unused backingbuf from vid_sdl.c (was a windows leftover)
  • removed some dead platform conditionals
  • reorganized x86 assembly files placement (shuffle practice ;)
  • initial cosmetic cleanups in menu.c and in_sdl.c
  • more obsoleted and/or win32 files clean-up

2005-05-07 (CVS):
  • Backed-out my silly mistake of removing light_level code in R_DrawViewModel
  • SV_StartSound should set SND_OVERFLOW, not SND_ATTENUATION. sound_num should be incremented/decremented by 256, not 255. (ran into this in quakesrc.org tutorials, by Kor Skarn, iirc)
  • Display platform in console background
  • [Hexenworld] Don't refuse to connect upon client/server VERSION mismatches. Such things should rely on PROTOCOL_VERSION not simply VERSION

2005-05-05 (CVS):
  • [hexenworld] save downloaded files to com_userdir
  • [h2/hw] profile save cleanup (and another MAX_OSPATH fix)
  • [opengl] report both requested and set video modes (matters for bpp)

2005-05-04 (CVS):
  • [Launcher] Cleaned-up the i++ mess (thanks Steve) and bumped the version slightly (v0.5.1)

2005-04-30 (CVS):
  • Always set the MESA_GLX_FX FX_DONT_FAKE_MULTITEX environment variables
  • "Fixed" (in fact, worked-around) Succubus' lightning weapon crashing the client if gcc4 compiled client is used, and/or the unused StreamEntities[MAX_STREAM_ENTITIES] is removed. Weird case..
  • Fixed hexenworld master server compile failure with gcc4
  • Socket length args of recvfrom and getsocklen should be of type socklen_t, not int (thanks go to gcc4)
  • Fixed two instances of the warning "dereferencing type-punned pointer will break strict-aliasing rules". Playing loose with pointers may not be safe
  • Fixed a statement with no effect in cl_tent.c of hwclient
  • Fixed an obscure demo playback bug which caused a fake freeze- like appearance when no next demos were found
  • Re-enabled fadescreen for fxMesa driver
  • Fixed a lot of gcc4 warnings about signedness mismatches
  • Silenced many instances of shadowed declaration warnings
  • Removed a bunch of code from R_DrawViewModel(). R_DrawAliasModel() already does those things.
  • Removed int texture_mode which seemed to serve nothing
  • Changed texnum member of gltexture_t to be of unsigned int type rather than int (fixes a gcc4 warning)
  • Removed unnecessary global decl. of starttime in sys_unix.c
  • Switched to GL_EXT_shared_texture_palette and enabled paletted textures in hexen2. For paletted textures to work, the -paltex cmdline must be specified for both hexen2 and hexenworld.
  • Applied a big video cleanup patch:
  • Removed a lot of windoze left-overs, unused variables/cvars, functions using those vars/cvars serving no purpose (esp. those window_rect and window_center stuff, and more). There still are things in vid_sdl.c that need to be fully understood, they are there, for now.
  • The -window and -w cmdline args are now now removed: They did nothing, unless someone did some silly thing like using both -w and -f on the same cmdline.
  • The two mode-setting functions (windowed and f/s) are merged
  • The -height arg now is functional only if used in combination with -height. Since we only do normal modes, the width switch is replaced with the calculation height = 3*width/4. Issue: We need some sanity check in case of both -width and -height args are specified
  • -bpp wasn't written into modenum[x].bpp, I did it here. As a side note, bpp doesn't affect anything, anyway.
  • The vidmode reporting code now displays the actual bpp value being set by SDL.
  • The code used to call VID_SetPalette() very multiple times in gl_vidsdl.c, they are now unified in VID_Init: After VID_SetMode, VID_SetPalette is called first, and then 8-bit palette if -paltex is specified. Note: Didn't touch vid_sdl.c in this manner, but DDOI (one of the guys during Dan's porting, perpahs) has a comment on a VID_SetPalette call being "Useless?"...
  • Updated gamma stuff: We don't use gamma ramps (in fact we can, we have SDL_SetGammaRamp), therefore eliminated V_CheckGamma & friends from V_UpdatePalette for PLATFORM_UNIX. Also killed unused function WarpPalette.

2005-04-15 (CVS):
  • Added working console input (from hexenworld server) Disabled console input in non-dedicated mode.
  • No dedicated server possible in hexenworld client.
  • Save memory.txt into com_userdir for sys_memory cmd.
  • Cure warning: cl_main.c: warning: `return' with no value, in function returning non-void
  • Shut up the compiler: gl_rsurf.c, gl_draw.c: warning: control reaches end of non-void function

2005-04-14 (CVS):
  • no need to announce MIDI_Cleanup if we'll never do it..
  • -? arg is back (Steve likes it ;)

2005-04-13 (CVS):
  • Removed useless -minmemory cmdline argument
  • Removed useless parms->memsize < minimum_memory check in Host_Init()
  • Added lower/upper boundaries (8mb/96mb) for -heapsize arg.
  • Added lower (48kb for hexen2, 256kb for hexenworld)/upper (1mb) boundaries for -zone argument (DYNAMIC_SIZE defs and zonesize requirements are different for hexen2 and hw.)
  • We won't die if no size is specified after -zone, but will ignore the arg.
  • Added null string terminations to hexen2 zone.c, so as to prevent garbage on sys_memory console command (found this in Pa3PyX)
  • tiny clean-up in COM_InitFilesystem (hexen2)
  • GAMENAME doesn't depend on QUAKE2 definition (hexen2)
  • made GL_Bind a macro (from Pa3PyX)

2005-04-10 (CVS):
  • Various MAX_OSPATH fixes
  • Added version string to hwmaster initialization display
  • Added user directory support to hwmaster. filters.ini will now be processed in ~/.hwmaster as ~/.hwmaster/filters.ini
  • Added FreeBSD to VERSION_PLATFORM
  • Bumped the version to 1.2.5 for a new future release, updated the specfile

2005-04-09 (CVS):
  • Removed scankey[] and MapKey(), unused for SDL/PLATFORM_UNIX
  • More unused/cosmetic clean-ups in vid_sdl

2005-04-08 (CVS):
  • added Pa3PyX' fire delay bits for paladin's setstaff (gamedata-1.14)
  • removed useless is_PowerVR and isPermedia and unused vertex array extension checking from hexenworld
  • 3dfx stuff initial clean-up
  • whitespace cosmetics in gl_vidsdl.c
  • Merged a new R_PolyBlend code (from jshexen2). Also added the GL_DoGamma function (to be called from R_PolyBlend) which brightens the display. Commented out for now. This little gem can be used to adjust gamma for Voodoo1/2/Rush.
  • Enable 8-bit gl extensions only if explicitly required by the user (-paltex cmdline arg.) Otherwise, fxMesa is rendering borked, at least with Mesa-3.4.2 on RH-7.3 in my experience.
  • Added -old3dfx cmdline check. For now, I use it to set the MESA_GLX_FX environment variable to "f" and to disable fxMesa fake multitexturing. Further future uses possible.

2005-04-06 (CVS):
  • hexenworld/opengl: fixed non-dlsymmed use of some gl functions. also fixed a truely silly copy+paste error

2005-04-05 (CVS):
  • dropped the -march=i386 -mcpu=i686 flag: causes problems at least on old pentiums with old distros. going with plain -march=i586
  • we dlsym the gl functions and still use -lGL -lGLU ?!! bad.. bad....
  • cleaned-up endianness which is now decided at compile time
  • fadescreen ripple effect may stop help/quit screens from appearing on 3dfx with Mesa Glide. (from Steve)
  • 3dfx voodoo detection when using Mesa Glide (from Steve)
  • quakeized and added a comment to ToggleFullScreenSA
  • removed my previous restrictions about adding userpaths to the searchpath (was added in 1.2.3)
  • Save recorded demos, progs profiles, console debug logs and all server logs, etc to com_userdir, not com_gamedir. Otherwise these operations shall fail on a system-wide installation unless the user is super user.
  • dwarf class was never enabled in hexenworld/siege menu system, because com_gamedir is not only a naked dirname but a full pathname
  • removed a few quake1 leftovers from hexenworld
  • imported the hexenworld master server 1.2 sources (by Marc Allaire, aka. Kor Skarn) into the cvs
  • fixed gcc2 compilation of hwmaster
  • merged a stdin code for hwmaster that doesn't eat 100% of the cpu (adapted from quakeforge)
  • added compile instructions for the gamecode
  • updated the specfile for our new loki_patch package

2005-03-24 (CVS):
  • simplified window title creation in launcher
  • fixed a harmless typo in launcher for correctness' sake

2005-03-19 (CVS):
  • added back the md5sum data for the data1/pak?.pak files to the README
  • imported the utility sources to the CVS. how I forgot doing that for months is a mystery
  • merged an H2MP 1.12-1.12a axtail patch to the gamecode which has been missing in the CVS somehow

2005-03-14 (CVS):
  • small sbar resizing fix in software mode (from Steven)
  • added back console video mode reporting. also removed the non-functional findbpp
  • updated the build_all scripts
  • documentation update

2005-03-08 (CVS):
  • fixed an oversight in reinit_music which resulted in a
    needless restart of midi music upon pressing Esc twice

1.2.4: Changes since HoT 1.2.3 (2005-03-06):
  • Release 1.2.4-final.
  • Added bsd includes to snd_oss.c
  • Added net sanity checks (from Steven)
  • Moved reinit_music to menu.c where it belongs
  • Fixed reinit_music so that it works for the F4 key as well
  • Don't mess with music volume on every frame update, it's just silly

2005-03-05 (CVS, 1.2.4-rc5):
  • OSS (and ALSA): Try to use what frequency is actually set: I first naively thought that requested-provided frequency mismatches wouldn't happen, but I got one weird oss report which includes this case. Let's see what this does now...
  • OSS: if failures are hit after mmaping shm->buffer, munmap it before quitting

2005-03-03 (CVS, 1.2.4-rc4):
  • really final rc for 1.2.4 ;)
  • fixed and activated munmap of shm->buffer for snd_oss.c
  • commented-out shm->gamealive thing which serves nothing
  • exact syncing between hexen2 and hw versions of snd_dma.c
  • sys_unix.c cleanup: remove dead and/or win32 code
  • removed unreached return from main (it should have been 0, btw. from Steve)
  • increased MAX_OSPATH to 256 (from Steve)
  • Sys_Mkdir is now int. Its return code should be checked in other places too in future versions (from Steve).
  • Sys_GetUserdir now uses $HOME instead of the passwd struct (from Steve)
  • removed h2mp dependency from length check in Sys_GetUserdir, seems to serve no purpose (from Steve)
  • fixed hexenworld window caption for the software version
  • launcher: default option for sampling rate should be "default"
  • updated the rpm spec file for 1.2.4

2005-02-23 (CVS, 1.2.4-rc3):
  • final rc for 1.2.4.
  • killed hexenworld/cl_tent.c warning "statement with no effect". at last we decided that this guy intended |=, not &=
  • merged a bunch of hcode (gameplay) fixes/adjustments from Pa3PyX' sources which brings the gamecode version to 1.12g (see gamecode/README in the CVS for details.)

2005-02-20 (CVS, 1.2.4-rc2):
  • H2MP: Old mission option is now always enabled, removed my cmdline thing, killed the cvar m_oldmission; completely disabled the demoness for the old mission, killed my cvar m_demoness.
  • Sound: Now processing all command line options in snd_dma.c, S_Startup only, targets will do to its bidding first; don't die immediately, try setting alternative hw parameters; (fwiw, snd_oss.c now applies all hardware settings before mmaping the buffer); added a check for requested and set rate mismatches which fails S_Startup if found (found it in alsa examples, is it necessary at all? commented out for now.)
  • OpenGL: Added comments on gl_picmip scale-down and ugly help screens (Steven)
  • H2/HW: Added the new sound options to the help messages
  • Documents: Updated the README files
  • Launcher: New version 0.5.0: added all sound cmdline options (sampling rate, format, stereo); removed "disable joystick" option (not functional in the engine for ages); removed the "old mission" thing (already made always-enabled in the engine); changed Mission Pack checkbox into a radio button grouped with the others; added Hexen2 bot mods as extra game types similar to hexenworld game types; redesigned the interface: default is basic mode which displays the basic options necessary only, a new "More" button expands the interface to show more things; replaced the resolution slider with a combo; gtk-2 is default now, to build for gtk-1.2 type make GTK1=yes.

2005-02-15 (CVS, gamecode-1.12f)
  • hexenworld hcode updates:
  • gamecode-1.12f
  • added stubs for the hexenworld missing boss-map functions. hwsv no longer crashes on maps rider1a, rider2c, romeric6, meso9 and eidolon.
  • updated the hexenworld boss files according to h2mp. although coop is broken as of now, maybe someone messes with these one day...
  • added a separate patch file which allows compiling boss maps into hwprogs.dat. this is not of much use, because coop seems broken...

2005-02-14 (CVS, 1.2.4-rc1):
  • preparing for 1.2.4
  • added ability to disable ALSA support at compile time
  • oss sound improvements (from the quakeforge project):
    - retry 3 times opening /dev/dsp
    - open O_NONBLOCK
    - check pagesize when mmaping
    - reset /dev/dsp when closing it (from the twilight project)
  • alsa sound improvements:
    - more error checking and detailed error reporting
    - replicate the order in quakeforge as much as possible
  • fixed mouse not being activated after connecting to a server in windowed mode for hexenworld (from Steve).

2005-02-12 (CVS):
  • added paranoid sound driver checks.
  • added 48000 to the alsa rate switch.
  • opengl cleanup: we can never reach CheckTextureExtensions(), we'll give up in GL_Init_Functions() if we don't like the gl_library.
  • added missing scrolltitle in the software version of VID_MenuDraw()

2005-02-11 (CVS):
  • kill sound/music messing in vid code: S_Init() and CDAudio_Init() are called AFTER VID_Init(), so this should be correct. See hexen2/host.c for reasoning on Win32.
  • kill dead win32 code in linux files

2005-02-09/10 (CVS):
  • hexenworld: kill some unused stuff and clean-up
  • some warnings clean-up

2005-02-08 (CVS):
  • console background transparency in Hexen2 (Draw_AlphaPic() from HW)
  • video modes clean-up:
    - removed cvar _vid_default_mode_win
    - removed all mode descriptions
    - removed all nummodes and VID_NumModes stuff
    - removed all VID_GetXXX and VID_DescXXX stuff
    - beautified the Video Modes menu screen a little
    - removed firstupdate things (vid_sdl.c, VID_Update())
    - ported missing parts of Steven's video/mouse stuff to HW
    - ported all of the above stuff to hexenworld, too
  • if0-out fxPalTexImage2D (we don't use it)
  • display the "meshing XXX" spam for developers only
  • tiny whitespace cleanup in in_sdl.c

2005-02-06 (CVS):
  • first sketchy update to the README files regarding the recent sound changes
  • activated Steven's menu / bgmtype change stuff for HW
  • moved cd_win.c and resource.h to ./win_stuff/
  • tiny makefiles cleanup
  • tiny log entries cleanup in snd_sdl.c, midi_sdl.c
  • removed a duplicate include from HW

2005-02-05 (CVS):
  • fixed silly copy+paste error in snd_alsa.c
  • fixed demo builds of the launcher
  • fastsqrt.cpp isn't used for ages, moved it to ./obsolete/
  • separated win32 and linux versions of midi files, too much mess otherwise
  • midi file paths cleanup: they should have been leftovers from times when gamedir and userdir were the same
  • killed Com_WriteFileFullPath(), not used anymore
  • replaced some Con_Printf() with Sys_Printf() in midi_sdl.c
  • added midi volume control (partially from Pa3PyX)
  • updated the midi stuff (volume ctrl, etc) for win32, too
  • fixed possible path length overflows in midi_sdl.c
  • killed Com_LoadHunkFile2() in hexen2 [from HexenWorld]
  • don't try extracting anything if no midi file is given
  • ported all midi changes from hexen2 to hexenworld
  • applied the HexenWorld specific changes to midi_sdl.c and enabled midi in the HW makefiles. who knows why it didn't work in aot before...

2005-02-04 (CVS):
  • made sdl_audio actually work (finally)
  • some snd_dma.c fixes from the tenebrae project
  • killed fakedma (simsound). one less thing to worry about
  • fixed cd music stops playing on volume change (reported by Julien Langer)
  • added actual cdrom volume control via CDROMVOLCTRL.
    cdrom isn't paused when the user volume is 0, anymore (should have been a trick to silence the cdrom before this control was present).
    BSD ioctls may be different, add conditionals for it one day...
  • added ALSA sound driver (from the quakeforge project)
  • we now build all all the sound drivers in and choose from the command line. oss is default
  • removed environment variable support from snd_oss.c
  • midi fixes for correctness' sake. it still fails with snd_sdl
  • merged small bits from the hw version of midi.c into h2
  • small whitespace cleanups in snd_oss.c, snd_mem.c, snd_dma.c, cd_linux.c. Heavy whitespace changes in midi.c, midi.h.
  • removed the noexit (keep me open) thing from launcher
  • removed forking from the launcher which now serves nothing
  • added sound driver selection to the launcher; v0.4.9

2005-02-01 (CVS):
  • fixed demos playing without models with -nosound arg
  • initial style-only sound code syncing between h2 and hw
  • sbar fixes from Pa3pyX' sources
  • added missing things to the makefiles
  • game launcher:
      - fixed fork/execv again (thanks Steve)
      - fixed args to execv (thanks again Steve)
      - added an option to not close the gui after launching
  • game hcode:
      - added Raven's Siege hcode
      - added+fixed map cycling code to hexenworld and siege
      - added Kor Skarn's further fixes to the siege code

2005-01-24 (CVS):
  • consolidate GL_LoadTexture functions
  • fix flush_textures decision which used to be always true
  • add sky alpha
  • gl filter changes

2005-01-23 (CVS):
  • Hexen2/HW: support for mouse buttons 4 and 5 (patch from Julien Langer) Let's see if this behaves for everybody.
  • Launcher: search for known hexenworld game-types and provide a list menu. v0.4.8.

1.2.3: Changes since HoT 1.2.2 (2005-01-20):
  • Release 1.2.3-final.

2005-01-18/19 (CVS, 1.2.3-rc8):
  • Hexen2/HW: Fixed userdirs to work correctly against the -game arg
  • added a "qboolean adduser" arg to COM_AddGameDir() (useful esp. in HW): com_userdir evolves gradually. every search path added has a consequence of additon of (multiple) unnecessary userpaths. avoid it where we can. (original aot also added the very same userdir multiple times)
  • changed all instances of "id1" to "data1"
  • Game Launcher (major changes, version 0.4.7):
  • hopefully fixed fork() / execv()
  • removed clumsy renderer selection, toggling ogl is enough
  • removed res-buttons, made a slider. more compact interface
  • made lower/upper bounds of the res-scale renderer-dependant
  • disallowed launching when proper binary is absent. added a statusbar which notifies the user about this
  • put the widgets to be played with remotely into proper structs for easier handling
  • removed pointless fiddlings with options upon other options
  • handled many demobuild thinkos
  • combined a bunch of on_ThisEvent() type callback functions which had been doing the same x = !x thing
  • fixed / cleaned-up config_file.c
  • removed already commented-out demoness-in-old-mission
  • removed gtk_widget_set_uposition(). we seem to do fine with gtk_fixed_put(). replaced gtk_widget_set_usize() with gtk_widget_set_size_request() for gtk2 builds
  • hacked the version number into the window title
  • much code clean-up/reorganization (apparently)

2005-01-13 (CVS, 1.2.3-rc7):
  • (Hopefully) Final rc.
  • Fix off-by-one error in demo ending message line calculation.
  • Fixed mouse behavior which was always broken in hexen2-linux. Middle-button is MOUSE2, right-button is MOUSE3, not vice versa (see SDL_mouse.h). The wheelmouse patch fixed this a little, but introduced a mouse2/mouse3 fight in in_sdl.c. It is fixed now.
    Also fixed the debug message about undefined mouse buttons and did some syncing between H2 and HW versions of input files.
  • Misc cleanups (nitpicking/polishing).

2005-01-08 (CVS, 1.2.3-rc6):
  • don't die on cache mismatch, delete and and reload the new texture
  • slight gl clean-ups.

2005-01-07 (CVS, 1.2.3-rc5):
  • H2/HW: _windowed_mouse default is 1 in gl mode, too.
  • H2: bind Alt+Enter combination to Steven's stuff for fullscreen-windowed toggling

2005-01-03 (CVS, 1.2.3-rc4):
  • HW: gl_ztrick disabled by default for hexenworld, too
  • Also compiled against glibc-2.2 with gcc-2.96 (on rh-7.3) and included properly in the installer.
  • Fixed a compilation error in case of gcc-2.96

2005-01-02 (CVS, 1.2.3-rc3):
  • Retired AoT, aot and .aot: Change userdir (AOT_USERDIR) to .hexen2 (for the demo, it's .hexen2demo)
  • Added clarifications about network-compatibility in the docs.
  • Code clean-up in Hexen2 and Launcher. Big clean-up in Hexenworld.

2004-12-29 (CVS, 1.2.3-rc2):
  • Launcher: Some usability tweaks. Removed the mouse option, added the disable networking option.
  • Hexen2: Fullscreen/Windowed mode is now switchable. Seems to work good. (from Steven).
  • Hexen2: Mouse can now be disabled for fullscreen modes (from Steven).
  • HexenWorld Client: Merge some Hexen2 changes:
    o Fix the fire attacks drawing lines across the screen
    o Don't print gl_extensions which spams the console
    o Partially merge Steven's mouse tweaks from 2004-12-29.
2004-12-28 (CVS):
  • Fixed gameplay issue: Holy item in the Cathedral balcony not reachable (automatic install using the installer).
  • Fixed (mostly) gameplay issue: Eidolon loses hostility under certain conditions (automatic install using the installer).
  • Fixed gameplay issue: Eidolon fails landing (automatic install using the installer).
  • Prepared an installer (using loki_setup tools from CVS /  2004-12-26).
  • The Launcher works fine with GTK2 now.
  • Using redhat rpm style arch flags ( -march=i386 -mcpu=i686 ).
  • Fixed textures going AWOL in GL mode upon loading savegames many times. This used to result in white info-plaques, for instance (adapted from pa3pyx).
  • The "GL GLOWS" menu entry is fixed. It now controls gl_other_glows, too.
  • Fixed the gl_other_glows option not being written into config.cfg
  • Previous Weapon entry added to the Customize Controls menu.
  • Removed second arg from the function EmitSkyPolys.
  • Use glGetIntegerv to detect maximum supported texture size, not vendor string.
  • gl_max_size is not a cvar anymore. Also killed cvar gl_nobind.
  • Merge newer snd_dma code from HexenWorld to Hexen2.
  • Intermission screens now drawn fullscreen (from pa3pyx).
    This includes the help menu screen where the fonts seemed unreadably small.
  • Wheelmouse support is added.
  • Removed console spamming code (gl_extensions, unbinding files, etc.)

1.2.2: Changes since HoT 1.2.1:
  • Launcher is fully functional and works fine with fullscreen opengl modes.
  • Fixed fire attacks of Demoness and Praevus drawing lines across the screen.
  • The annoying ".dynamic" extensions are removed from the binary names.
  • HexenWorld: dlsym'ed all calls to GL functions with SDL_GL_GetProcAddress.
  • Made the music automatically restart when changed in the options menu.
  • Heapsize is now 32768 default
  • The final splash screens now centre the messages properly.
  • Added an experimental SDL sound driver. Very buggy for now.
    (We acept patches ;)
  • Mouse grab in window modes, released with menus, pause and console.
    Mouse can be bound in the Options menu in window mode. "-nomouse" option works in window mode.

1.2.1: Changes since AoT 1.2.0:
  • New menu items for GL Glow, Chase mode, Draw Shadows.
  • GL glow patch from jshexen2.
  • Interactive video modes in software game disabled.
  • Video Modes menu now displays help message.
  • Height values corresponding to --width are properly added.
  • Screen sizes are selectable with "-width" and "-height" options, now. The "-mode" cmdline arg is removed.
  • Proper fullscreen mode(s) for OpenGL.
  • Two general overflow bug-fixes from pa3pyx.
  • BIG code cleanup including retiring some unused files, retiring old opengl files, killing many compiler warnings, etc.
  • A range checking bug is fixed along with the No Boss bug.
  • "No Boss" bug in Dan's original linux port fixed: Hexen2 loads progs2.dat along with progs.dat, as it should, now.


Mascott