1Hammer of Thyrion (uHexen2) release notes:
2
3========================================================================
4Changes in v1.5.9: (May 31, 2018.)
5========================================================================
6
7This is a minor bug fix and maintenance release:
8
9- OS/2 support using SDL (should work on eComStation and ArcaOS too.)
10
11- Updated third-party libraries (music codecs, SDL, etc.)
12
13- Support for Watcom compiler targeting OS/2 and Windows.
14
15- Support for libxmp for tracker music decoding (disabled by default.)
16
17- AHI audio no longer fails if the library returns 32 bit format (e.g.
18  in AROS v0 nightly builds.)
19
20- New AmigaOS MIDI driver using CAMD library.
21
22- Several optimized assembler sources for m68k-amigaos.
23
24- gcc is now supported to target m68k-amigaos.
25
26- Software renderer: Reduced some 2D overdraw. Faster model lighting.
27
28- Recursion optimizations to server world query procedures.
29
30- New 'viewpos' command to display client's position and angles (based
31  on FitzQuake version.)
32
33- config.cfg is no longer written in case of a Sys_Error.
34
35- Utils, windows:  Change threads creation to use _beginthreadex().
36
37- All platforms, gameplay:  Necromancer soul devour no longer prints a
38  stray number (bug #65.)
39
40- Other minor fixes, tidy-ups, and protability tweaks.
41
42
43========================================================================
44Changes in v1.5.8a (Aug. 28, 2016)
45========================================================================
46
47This is a post-release patch against v1.5.8 fixing a few Amiga issues:
48
49- Amiga sound (AHI backend): fix sample rates lower than 11025 Hz.
50
51- Amiga sound (AHI backend): fix bad sound with sample rates which are
52  not a multiple of 11025.
53
54- Amiga input: limit lowlevel.library joystick ports to 0-3.
55
56- AmigaOS3, MiniGL: smart and automatic locking support.  New cvar:
57  gl_lockmode, valid values: "manual" (default), "auto", and "smart".
58
59
60========================================================================
61Changes in v1.5.8: (Aug. 12, 2016.)
62========================================================================
63
64This is a minor bug fix and maintenance release:
65
66- Software renderer: Fixed a reported crash if the engine is compiled
67  with certain Visual Studio versions (bug #62.)
68
69- Software renderer: Fixed sky scaling issues, thanks to Szilard Biro.
70 (fix found in 'ToChriS' quake source.)
71
72- Software renderer: Fixed scaling console backgrounds whose dimensions
73  are not the default 320x200. One such example is the "Game of Tomes"
74  mod which has a 1024x768 conback.lmp.
75
76- Hexenworld server: Added "-protocol x" command line option to force
77  the server to use a specific protocol (25 or 26), if so required.
78
79- Amiga: Video fixes. On AROS, the game does not 'freeze' in fullscreen
80  mode anymore if the 'Timidity:' assign is not present.
81
82- Amiga: m68k-amigaos support. (Use VBCC as the compiler, gcc has code
83  generation issues.)
84
85- Windows: Visual Studio builds no longer require yasm or nasm. Tested
86  compilation using VS2015-update/2.
87
88- DOS, PCI sound driver: Updates, more Intel HDA chipsets recognized.
89
90- DOS, 3dfx opengl: Macronix (MX86251) variants of Voodoo Rush boards
91  are now functional.
92
93- DOS, 3dfx opengl: Further updates/fixes to opengl and glide drivers.
94  Updates to DXE exports so that more opengl driver builds would work
95  without requiring an engine recompile.
96
97- All platforms, gameplay: Fixed an issue with the rider bosses Death,
98  Pestilence and War in coop mode. (as reported by Spike and Korax.)
99
100- Other minor fixes/tidy-ups elsewhere in the source.
101
102
103========================================================================
104Changes in v1.5.7: (Jan. 10, 2016.)
105========================================================================
106
107- All platforms, gameplay, mission pack: fixed an hcode bug which would
108  make the spiders seemingly invincible for a difficulty-depending time.
109
110- All platforms, gameplay: Crusader partial heal at certain experience
111  thresholds now starts at level 3 to be consistent with the manual.
112
113- All platforms, gameplay: Many small HexenC fixes and clean-ups.
114
115- All platforms, hexen2: Better cross-map demo playback support.
116
117- OpenGL: fix screenshots when screen width isn't a multiple of 4.
118
119- OpenGL: minor gamma updates.
120
121- Windows: fixed DPI scaling issues.
122
123- Windows, CD audio: fixed the "-cddev" command line option.
124
125- Music: Support for FLAC codec and tracker (MOD) music including unreal
126  umx files. (edit the makefiles to enable when compiling.)
127
128- Utils, hcc: Added a command line option "-os" to compact the strings
129  heap by eliminating duplicates. some minor revisions.
130
131- Utils, jsh2color: ignore minlight values from the -light command line
132  switch: eliminates the majority of the ugly black patches from eidolon
133  and rider2c maps. bumped its version to 1.2.6.
134
135- All platforms: External wal texture loading is now a compile time
136  option, disabled by default.
137
138- HexenWorld: Support for a new protocol 26: if the client sends '*cap'
139  userinfo with a 'c', the server returns protocol 26 instead of 25 and
140  sends the sound and model lists in small chunks like quakeworld does.
141  Old clients versus new servers and new clients versus old servers are
142  not affected and run using the original protocol 25 as they used to.
143  The new protocol 26 connection sequence avoids packet fragmentation.
144
145- DOS: HexenWorld is now supported on DOS. requires uhexen2 v1.5.7 or
146  newer hexenworld servers to connect. (see above for hw protocol 26.)
147
148- DOS: OpenGL support on 3Dfx Voodoo cards.
149
150- DOS: Experimental support for several PCI sound cards (see README.dos)
151
152- Several small fixes, tidy-ups, safeguards elsewhere in the sources.
153
154- Added a shell script to run different versions of the game which can
155  be useful for system-wide installations. (see scripts/hexen2-run.sh)
156
157- Removed the gtk launcher.
158
159- Updated third-party libraries (music codecs and SDL).
160
161
162========================================================================
163Changes in v1.5.6: (Mar. 15, 2013.)
164========================================================================
165
166- Screen: implemented Hor+ style field of view (FOV) scaling, useful for
167  widescreen resolutions. configured by new cvar fov_adapt: set it to 1
168  and your fov will be scaled automatically according to the resolution.
169  enabled by default. opengl and software renderers both supported.
170
171- Screen: viewsize greater than 120 now disables the hud (use the screen
172  size slider in the options menu.)
173
174- Progs VM: Fixed a corner case thinko in version6 progs execution.
175
176- Server: changelevel failures, e.g. in case of non-existent maps, are
177  now considered as error, so that the clients do not get stuck in the
178  connected state anymore.
179
180- Server: accept maplist.txt only if it is from the same game directory
181  as progs.dat itself or from a searchpath with a higher priority.
182
183- Timidity (Unix MIDI): Multiple fixes, including memory errors found by
184  valgrind.
185
186- Mac OS X: A new icon.
187
188- Music: Support for Opus codec. (edit the makefiles to enable it when
189  compiling.)
190
191- Software renderer: fixed color shifts from area contents or power-up
192  items usage staying persistent after a disconnect.
193
194- OpenGL: worked around weird mods, e.g.: project peanut, where certain
195  models are sometimes drawn "white" because the mod's hcode initializes
196  those entities with non-existant skins.
197
198- OpenGL: gamma fixes for several platforms.
199
200- HexenWorld: opengl fixes for the shownames feature, other gl updates.
201
202- Hexenworld, gamecode: hw and siege map cycling setup is done using the
203  localinfo variables just like in quakeworld, strings.txt abusing is no
204  more. See docs/README.hwsv for brief instructions.
205
206- Verified correct compilation by upcoming gcc-4.8 and by clang-3.2.
207
208- Fixed several other minor bugs, some found by valgrind. Incremented
209  engine versions for hexen2 to 1.28, hexenworld to 0.28, and gamecode
210  version to 1.28.
211
212
213========================================================================
214Changes in v1.5.5: (Jan. 02, 2013.)
215========================================================================
216
217- Utils (light, vis, jsh2color): Added unix pthreads support for running
218  multi-threaded. Enabled windows multi-threads on all platforms instead
219  of alpha-only. Default is single-threaded. Use "-threads #" to specify
220  the required number of threads. (max: 32. -1 tries to autodetect.)
221
222- Utils, qbsp: Added a command line option "-oldhullsize" to replicate
223  the old h2utils/qbsp behavior of using the original hexen2 sizes for
224  hulls #5 and #6, not H2MP ones, if so needed.
225
226- Utils, hcc: Added a command line option "-old" to replicate old hcc
227  versions' behavior of allowing the STR_ constants be saved globals and
228  letting precache_file() calls go into progs.dat, if so needed.
229
230- Utils, dcc: Some small fixes. Added new command line options -fields,
231  -functions, -globaldefs, -prglobals, -statements and -strings, which
232  dump the related information.
233
234- Utils, all: Some fixes/improvements to command line options handling.
235
236- Support for the rarely used progs version 7 spec with 32 bit offsets
237  instead of 16 bit of the original version 6: The engine can run both
238  with v6 as well as with v7 progs. The hcc and dhcc tools are changed
239  to compile the progs as v6 whenever possible for compatibility, or as
240  v7 otherwise. they can also be made to compile specifically v6 or v7
241  progs by the new command line options -v6, -v7, or -version <n>. The
242  dhcc tool can now decompile both v6 and v7 progs.
243
244- Fixed a respawn-after-death issue which sometimes rendered the player
245  unable to move backwards, or unable to use certain inventory items, or
246  several other weird effects (bug #2176023.)  The bug was there since
247  the original hexen2 source release.
248
249- New quake2-style noclip movement. (from Fitzquake; configured by new
250  cvar sv_altnoclip, enabled by default.)
251
252- Client: Fixed a demo playback failure when certain conditions are met.
253
254- Client: Fixed a minor and rare intermission glitch.
255
256- Client: unbindall before loading stored bindings (configurable by new
257  cvar cfg_unbindall, enabled by default.)
258
259- SDL, keyboard input: Fixed control-character handling in unicode mode.
260
261- All, keyboard input: Several tweaks.
262
263- Software renderer: Disabled progress bars drawing, as it was reported
264  to cause excessively long load times on some systems. Disabled the
265  rotating skull drawing during file i/o.
266
267- Software renderer: Fixed occasional crash when sprites rendered very
268  close to the camera origin, such as the teleportation puff. (used to
269  happen mostly in 64 bit builds. bug #3562290.)
270
271- OpenGL: Fixed a crash in texture resampling code with 3d hardware max
272  texture size greater than 1024 and wide-enough textures.
273
274- Windows: Removed hooks for QHOST, which is (was) a proprietery server
275  administation tool.
276
277- Mac OS X: packages now have ogg/vorbis and mp3 music playback support.
278
279- Mac OS X: New MIDI driver.
280
281- Mac OS X: Support for text paste from OS clipboard to console. Support
282  for the Apple (Command) key.
283
284- Mac OS X: Support for building using the makefiles and cross-compiling
285  from Linux.
286
287- MorphOS builds: added missing -noixemul to the compiler flags.
288
289- MorphOS, AROS, Amiga: Support text paste from OS clipboard to console.
290
291- All platforms, gameplay: fixed bug in original hexen2 hcode which used
292  to cause weapon switching to get stuck if several weapons were picked
293  up too fast. fixed a minor bug in assassin's fourth weapon in powered
294  mode. cleaned up weapon cycling code, minor fixes/clean-ups in weapon
295  selection. fixed cube of force, so that it doesn't attack the player's
296  own summoned imp anymore. several other hcode cleanups.
297
298- All platforms, hexenworld: pak4.pak from the ancient beta 0.11 version
299  is now recognized properly.
300
301- All platforms, h2patch: Simplifications.
302
303- Windows: support for Visual Studio 2012.
304
305- All: Incremented versions for hexen2 engine to 1.27, hexenworld engine
306  to 0.27, and gamecode version to 1.27.
307
308
309========================================================================
310Changes in v1.5.4: (July 01, 2012.)
311========================================================================
312
313- OpenGL:  Fixed screen flickering resulting from progress bars drawing
314  with some drivers (bug #3519666.) uHexen2 no longer draws the loading
315  progress bars during level load in opengl mode.
316
317- OpenGL (Windows): Fixed a bug which would prevent running on Windows8
318  consumer preview versions, unless 32 bit color depth was specified on
319  the command line. Works just fine now.
320
321- Music playback: Made sure that the file's channels count is supported.
322
323- Unix MIDI (Timidity): Configuration file timidity.cfg is now searched
324  first under the user directory and the installation directory before
325  the common system locations. Full absolute path of timidity.cfg can be
326  specified by setting the TIMIDITY_CFG environment variable, too.
327
328- Client, all: Revised the intermissions setup code.
329
330- Client, all: Fixed a few effect abslight and scale flags, which were
331  another bunch of original hexen2source bugs.
332
333- All platforms: Majorly revised path name handling and filesystem code.
334
335- Support for Solaris. Support for Amiga, AROS, MorphOS. Added missing
336  RISCOS defines.
337
338- Keyboard input: Made the keypad keys to send separate key events in
339  game mode. (for Windows and SDL-using builds, e.g. Linux/Unix, OSX.)
340
341- Joystick: Added joystick (gamepad) support for all SDL-using builds,
342  e.g. Linux/Unix, MacOSX. The new cvars are documented in the README.
343
344- Mouse (DOS): Wheel is now detected and used by default. Use "-nowheel"
345  command line switch to disable it.
346
347- Mouse (DOS): Pausing the game, moving the mouse and then unpausing it
348  doesn't change the view angle anymore.
349
350- All platforms, gameplay: Fixed a rare crash in the ambient fish hcode.
351
352- All platforms, h2patch: More detailed output and better reporting in
353  case of incompatible or corrupted pak files. Same with the pak-patch
354  functionality of the gtk-launcher application.
355
356- Utils, dcc (progs decompiler): Fixed an infinite recursion issue when
357  decompiling the hcbots progs.dat. Fixed decompiling of rival kingdoms
358  progs. Changed decompiler memory usage. Made -src command line option
359  of dhcc to behave the same as it does with hcc. Added -name command
360  line option either for specifying a name other than progs.src for the
361  compiler like hcc itself or for specifying a name other than progs.dat
362  for the decompiler.
363
364- Utils, hcc (HexenC compiler): Cleaned up the -src command line option
365  handling.
366
367- All: Incremented versions for the hexen2 engine to 1.26 and hexenworld
368  engine to 0.26. Incremented gamecode version to 1.26.
369
370- Several source code cleanups and documentation updates.
371
372
373========================================================================
374Changes in v1.5.3: (Apr. 10, 2012.)
375========================================================================
376
377- OpenGL: Made non-power-of-two textures support configurable by a cvar,
378  gl_texture_NPOT, disabled by default:  Fixes serious slowdown on some
379  old graphics hardware, such as R300 to R500 class Radeons on Mac OS X,
380  which the driver is lying about its capability. Added a menu entry to
381  enable/disable the feature (OpenGL features -> NPOT textures.)
382
383- Sound: The client no longer tries updating the ambient sounds when not
384  connected, ie. when no map is active.
385
386- Several updates to the documentation.
387
388
389========================================================================
390Changes in v1.5.2: (Apr. 04, 2012.)
391========================================================================
392
393- All platforms: Incremented versions for the hexen2 engine to 1.25,
394  hexenworld engine to 0.25, gamecode to 1.25 and the gtk-launcher to
395  1.0.7.
396
397- Verified correct compilation by clang (using v3.0) and by the new gcc
398  version 4.7.x.
399
400- All platforms, gamecode: Fixed occasional crashes in the original
401  hexen2 game with the Paladin's axe.
402
403- All platforms, hexen2 net play: fixed connection getting stuck
404  sometimes after displaying the "Connection accepted" message.
405
406- All platforms: Ported server model code optimizations and cleanups
407  from h2ded to hwsv (hexenworld server).
408
409- All platforms: Added support for transparent console in the software
410  renderer, controlled by new cvar "contrans". The valid values for
411  contrans are 0 (solid), 1 (transparent) and 2 (very transparent).
412
413- All platforms, software renderer: Fixed wrong transparency issue with
414  certain models when not using the x86 assembler drawing routines.
415
416- All platforms: Added on-screen fps counter to hexen2 (do "showfps 1"
417  from the console).  Updated existing showfps code of hexenworld.
418
419- All platforms, OpenGL: Added anisotropic texture filtering support
420  (gl_texture_anisotropy). Revised existing texture filters. The texture
421  filtering options now saved to the config.
422
423- All platforms, OpenGL: Added support for non-power-of-two-textures
424  extension.
425
426- All platforms: Implemented fov in opengl hexen2, useful for widescreen
427  resolutions. Revised the implementations in hexenworld, as well as the
428  software renderer.
429
430- All platforms, OpenGL: Fixed shadows spot which was broken back in
431  2007 during v1.4.2 development.
432
433- All platforms, input: Discard mouse/joystick motion when in camera
434  mode. Discard the accumulated mouse motion when starting a game or
435  when loading a saved game to prevent any unintended viewangle changes.
436
437- Windows input: Disabled GDI mouse acceleration flags for better
438  behavior on XP and newer versions.
439
440- SDL / Unix: Revised SDL unicode and dead keys support.
441
442- SDL / Mac OS X: Fixed console and message mode backspace key (bug
443  #2688151.)
444
445- Unix / SVGAlib mouse: Fixed missing camera mode and ideal roll
446  handling.
447
448- Unix / SVGAlib video: Fixed planar modes when using the svgalib_helper
449  kernel module. Removed the need for x86 assembly for compilation and
450  the linux-only limitation.
451
452- Unix / SVGAlib video: Fixed messed up colors upon coming back from a
453  vt switching.
454
455- Unix: Fixed compilation on GNU/kFreeBSD (Debian, #657793)
456
457- Unix, MIDI: Several updates to the Timidity backend.
458
459- Timidity, Windows MIDI: Support for Microsoft RMID format.
460
461- Windows MIDI: Fixed broken tempo with certain midi files (problem was
462  introduced in version 1.5.1)
463
464- Windows software renderer: Fixed restoring of the saved video mode on
465  startup (problem was introduced in v1.4.4.)
466
467- Windows software renderer: Disabled MGL DirectDraw support by default
468  (causes more trouble than it's actually worth.) Can be enabled by
469  -useddraw or -usedirectdraw command line switches, if required.
470
471- All platforms: Revised the cross-episode demo recording and playback
472  behavior, allowing the intermission screens to be displayed.
473
474- All platforms: Removed code that prevented deathmatch and coop cvars
475  to be set at the same time, which was reported for possibility of
476  causing compatibility issues with mods.
477
478- All platforms: Majorly revised the support mechanism for different
479  versions of progs. Added old v1.03 progs support to hexen2, added old
480  v0.11 and v0.14 progs support to hw.
481
482- All platforms, h2ded: Removed error when neither coop nor deathmatch
483  is set and rely on server admin.
484
485- All platforms, hexenworld client: Fixed a crash in the credits display
486  when one waited long enough to see all the text to be printed.
487
488- Unix / gtk-launcher: Added support for gtk3. Several bug fixes and
489  code cleanups.
490
491- Mac OS X: Fixed compilation failure due to a typo in MIDI code
492  introduced in v1.5.1.
493
494- DOS: Added WatTCP (WATT-32) networking support for hexen2 internet
495  play.
496
497- DOS: Added experimental DOS support for hexenworld using the WatTCP
498  library. (doesn't work yet due to WatTCP bugs.)
499
500- DOS: Added "-nogus" command line option so that UltraSound initializa-
501  tion can be skipped by the user if necessary.
502
503- Miscellaneous source code cleanups.
504
505
506========================================================================
507Changes in v1.5.1: (Nov. 21, 2011.)
508========================================================================
509
510- All platforms: Fixed an inventory icon scrolling bug.
511
512- All platforms: Removed a needless limitation on config and save names.
513
514- Linux (Unix/SDL): Fixed SDL software renderer bug that the image was
515  not stretched to fill the screen.
516
517- Linux: Fixed the gtk-launcher crash with new glibc.
518
519- Windows: Updates to the midi playback code.
520
521- DOS: Fixed failure on computers with more than 2GB memory.
522
523- DOS: Fixed a stack corruption bug in VESA initialization.
524
525- DOS: Added support for the -cddev command line arguments.
526
527- Unix: Added some paranoid checks for string buffer sizes.
528
529- Linux/Unix: Provided cd-rip scripts for less common game media, i.e.
530  the Xplosiv re-release and the Matrox m3D oem versions.
531
532- All platforms: Fixed logic in the hwmquery tool that would cause less
533  number of servers to be displayed than what had been received from
534  hwmaster.
535
536- Bumped versions for the hexen2 engine to 1.24, hexenworld to 0.24,
537  hwmaster, hwrcon and hwterm to 1.2.7, hwmquery to 0.2.3 and the gtk
538  launcher to 1.0.6.
539
540- Build system updates and source code cleanups.
541
542
543========================================================================
544Changes in v1.5.0: (Sep. 15, 2011.)
545========================================================================
546
547- bumped hexen2 engine version to 1.23, and hexenworld engine version to
548  0.23. bumped the gamecode version to 1.20.
549
550- added support for ogg, mp3 and wav external music files to be played
551  instead of the original midi files.
552
553- added interface for music streams to the sound layer and dropped the
554  SDL_mixer dependency. many changes in sound and midi layer.  imported
555  libtimidity into the source tree and applied several fixes.
556
557- sound: changed internal driver interface to provide a better chance of
558  engine startup with sound, especially for linux (unix) users.
559
560- unix midi: reimplemented through the new music streams interface using
561  timidity.
562
563- windows midi: ignore midi hardware volume adjustment capability under
564  windows vista/7 which fixes music volume control messing with the main
565  volume.
566
567- fixed a bug in multiple zones management, which wasn't easy to hit but
568  was deadly when it was hit.
569
570- fixed an old game load/save corruption bug.
571
572- fixed an old load bug where items dropped by monsters not being
573  visible or getting lost upon saving and loading the game.
574
575- fixed an old load bug where prize artifacts in the Temple of Mars not
576  being visible or getting lost upon saving and loading the game or by
577  changing the level and reentering.
578
579- fixed an old load bug where killed monsters didnt respawn in nightmare
580  difficulty in the mission pack upon saving and loading the game or by
581  changing the level and reentering.
582
583- software renderer (C-only): fixed a segmentation fault with Crusader's
584  ice mace.
585
586- software renderer: fixed crashes at high resolutions with r_waterwarp
587  enabled.
588
589- added new cvar sys_throttle in order to throttle the game loop just a
590  little bit and run cooler on new fast systems. the default value of
591  sys_throttle is 0.02, acceptable values are between 0 and 1. changing
592  it to 0 disables throttling.
593
594- opengl: fixed overlapping flickering textures, i.e. the infamous brush
595  model Z-fighting. the fix is controlled by gl_zfix: default value is 1
596  (enabled). setting it to 0 disables the fix and brings back the old
597  behaviour.
598
599- opengl: always use GL_LINEAR as lightmap filter. made gl_texturemode
600  command not affect lightmaps.
601
602- opengl: fixed an issue in net games where joining players would appear
603  untextured (bug #3288081).
604
605- opengl: updated code to use glGenTextures().
606
607- joystick, windows: added support for 6th joystick axis for up movement
608  controlled by joyupthreshold and joyupsensitivity.
609
610- fixed hexenworld server issue which used to crash servers upon running
611  the romeric5 (Temple of Mars) map, which now loads fine.
612
613- fixed h2ded (hexen2 dedicated server application) bug that the swords
614  on the weapon racks in the demo2 and the village1 levels would be
615  placed incorrectly (bug #3344613).
616
617- hexenworld server: fixed segmentation fault in case of bad pointers in
618  NUM_FOR_EDICT()
619
620- fixed HexenC bug where, if there were a summoned imp around, a blinked
621  away wizard wouldn't reappear even after imp went away (bug #3314808).
622
623- fixed a HexenC bug where the summoned imp didn't pick the Egypt snake
624  boss as an enemy (bug #3314810).
625
626- improved soul spheres' HexenC code.
627
628- fixed a HexenC where medusa's gaze attack sound would persist when she
629  is dead.
630
631- fixed an Eidolon/imp HexenC bug which used to render Eidolon idle.
632
633- fixed a HexenC bug which would prevent a yakman from appearing during
634  the 'Trial of Strength' in the 'Temple of Phurbu' (tibet7) level of
635  the mission pack, rendering the level not completable (bug #1112533).
636
637- fixed a mission pack HexenC bug where a pentacle monster in the tibet1
638  map became invulnerable when it got crushed by a door.
639
640- fixed a wheel of ages message to report 360 degrees instead of 30 in
641  the egypt2 map.
642
643- fixed a HexenC bug which might prevent Eidolon to land.
644
645- fixed an Eidolon HexenC bug which might prevent the finale screen to
646  trigger.
647
648- fixed a HexenC bug where werepanthers became "undead" when an assassin
649  killed them by her bombs.
650
651- fixed mission pack HexenC bug which used to prevent the finale screen
652  to trigger if Praevus were killed too quickly.
653
654- handled several map quirks thanks to careful works by Thomas Freundt
655  and Keith Rozett.
656
657- fixed trigger_crosslevel issue with spawnflag 8 which used to prevent
658  one of the prizes in Temple of Mars to appear.
659
660- removed the ugly hack of reducing teleport push speed to 225 in order
661  to overcome the problem of reaching the Cathedral's balcony and the
662  holy cross, and added a modified entities file for the Cathedral map
663  instead.
664
665- added support for external entity file loading which makes it easy to
666  handle map quirks.  ent files are accepted only if they come from the
667  same game directory as the map itself or from a searchpath with a
668  higher priority. external entities loading is controlled by the cvar
669  external_ents: default value is 1 (enabled). setting it to 0 disables
670  external entities.
671
672- revised lit file loading. lit files are now accepted only if they come
673  from the same game directory as the map itself or from a searchpath
674  with a higher priority.
675
676- added new h2patch tool, an easy to use xdelta3-based standalone pak
677  patch tool for purposes of updating to hexen2 v1.11 data files.
678  updated the gtk-launcher's patch facility to use the same backend.
679
680- utils, hcc: fixed broken switch statement compilation when there is an
681  implicit break in the last case.
682
683- utils, dcc: fixed a wrong decompilation of an "if" opcode into a
684  "while". some source code revision.
685
686- utils, hcc: dropped support for the old version of hcc tool.
687
688- tested compilation using Visual Studio 2010.
689
690- source directory layout reworked, repository moved from cvs to svn.
691
692* Changes since v1.4.3 mostly during the unreleased 1.4.4-beta cycle:
693
694- fixed broken software renderer binaries from C++ compilers with x86
695  assembly enabled (do not use the bool keyword of C++).
696
697- compilations using the new gcc-4.4, 4.5 and 4.6 versions are tested
698  and supported.
699
700- added support for 64 bit windows versions (x64).
701
702- added support for mingw-w64 compilers.
703
704- added support for Microsoft Visual Studio 2005 and Visual Studio 2008.
705
706- filesystem: fixed an oversight with builds without user directories,
707  where the "-basedir" command line argument failed to change the
708  internal userdir variables.
709
710- fixed stuffcmds so that arguments to commands can have '-' or '+'
711  within their names.  A command like "hexen2 +map mymap-01" works
712  properly now.
713
714- increased default zone memory size to 384kb.
715
716- fixed a rare segmentation fault with certain command line arguments
717  (bug was introduced sometime between version 1.3.0 and 1.4.0).
718
719- fixed a problem in sound effects code where some teleportation sounds
720  might have got lost.
721
722- alsa audio: added workarouds for better behavior on some linux setups.
723
724- hexen2 client: pause/resume midi (background music) along with cdaudio
725  upon pause message.
726
727- windows cdaudio: added new command line option -cddev for choosing the
728  cdrom drive to use.  syntax: -cddev E
729
730- windows cdaudio: fixed MCI errors when resuming the last track of a
731  cdrom.
732
733- net: made the socket api usage compatible with windows especially with
734  relation to 64 bit windows.
735
736- net (hexen2): fixed BSD and Mac OS X socket api usage.
737
738- opengl: reworked text and HUD scaling menu option.
739
740- opengl: fixed an issue that changing resolution from within the game
741  might crash on Windows Vista.
742
743- software renderer: fixed a long standing stack corruption bug which
744  used to cause alias models not to be drawn at all.
745
746- stricter checking on the values pulled out of .wav file chunk headers.
747
748- fixed rare game crash when battling bosses with assassin class, using
749  the tome of power and launching at the enemy a lot of projectiles.
750
751- renamed model_t to qmodel_t in order to avoid conflicts on solaris.
752
753- fixed the "mirrored prints" problem of hexen2 console at high
754  resolutions.
755
756- fixed the colored prints of hexenworld console.
757
758- fixed 'array going out-of-bounds' (utils/map.c) and bogus 'maybe used
759  uninitialized' warnings (sbar.c) from gcc-4.3.
760
761- fixes to the SVGALib driver. it is functional now, both for hexen2 and
762  for hexenworld clients.
763
764- fixed bug #2176384: in windowed mode, when you save using the menus,
765  the game used to quit the menu without grabbing the mouse properly.
766
767- windows mouse: fixed behavior upon minimize/restore in windowed mode.
768
769- slightly increased the buffersize for sdl audio. made it to print a
770  little more detailed info at startup.
771
772- fixed hexenworld client message parser so that midi and cdaudio don't
773  play at the same time.
774
775- launcher, patching: rewritten the inter-threads log printing and fixed
776  the erratic crashes on smp systems. launcher version is 1.0.5 now.
777
778- hexenworld master server: unknown packets are properly output as
779  hexdump. hwmaster version is 1.2.6 now.
780
781- 3dfx gamma hacks are disabled by default at compile time (see the
782  Makefile).
783
784- killed compatibility with user directories from HoT-1.4.0 and earlier
785  which didn't operate with a data1 subdirectory. they are ancient
786  history now.
787
788- added initial support for standalone free contents (mods) as an extra
789  patch.
790
791- utils, jsh2color: worked around a stack corruption resulting in
792  crashes due to the code's way of dealing with TEX_SPECIAL cases.
793
794- utils, lmp2pcx: Tweaked and documented palette file usage, allowed the
795  embedded palette again.
796
797- utils, qbsp: accept more than one wad file specified in the value of
798  the "wad" key. the wad file names must be separated by a semicolon.
799  spaces are allowed in the file names. quoted paths aren't allowed.
800
801- utils, qbsp: the absolute paths in wad values are not touched, ie. the
802  paths beginning with a '/' on unix or with a drive specifying string
803  like "C:\foo\bar.wad" on windows. all other values with no path
804  information or relative path information are prefixed with the project
805  path. this fixes the issues reported for qbsp usage from within
806  worldcraft.
807
808- added back some unused code for future reference.  removed some truly
809  dead code.
810
811- other minor fixes.
812
813