19 Oct 2015
[EGWhaven v0.5 release]

27 Sep 2015
> WHSNDMOD.H  : Put SND_UpdateSoundLoc and updatesound_loc under #if 0 as they appear to be unused
> WHSNDMOD.C  : Put SND_UpdateSoundLoc and updatesound_loc under #if 0 as they appear to be unused
> WHOBJ.C     : Put checkheat under #if 0 as it appears to be an unused function
> WHOBJ.C     : Condense the SPIKE, SPIKEBLADE, SPIKEPOLE cases in processobjs into one
> WHPLR.C     : When the player gets impaled, remain suspended instead of sinking to floor (consistent with WH1 impalement sequence)

24 Sep 2015
> WHPLR.C     : Take currweaponflip into account some places it wasn't (though it maybe doesn't fix anything...)
> SNDMOD.H    : Take out the SND_CALLER check and stuff that disagrees after its removal. (should cure some compilation problems)
> WHAVEN.C    : Bump version number to 0.5
> WHSNDMOD.C  : Removed a bit of disabled code.
> WHSNDMOD.C  : Changed a nonsensical if/else if in SND_PlaySound back to the way the Witchaven I version worked
                 (should re-enable sound priority)
> WHSMK.C     : Split some of the end-of-level score code out of smkplayseq function, adjust smkplayseq to clean
                 up even if SMK wasn't played.
> CDROM.C     : Remove large amount of #if 0 code
> WHPLR.C     : #if 0 the gronmissile function as it appears to be unused.
> WHPLR.C     : #if 0 the adjustscore function as it appears to be unused.
> WHPLR.C     : Streamline code in checkweapondist
> WHOBJ.C     : Adjust victory call to reflect change in WHPLR.C
> WHFX.C      : Adjust victory call to reflect change in WHPLR.C
> WHPLR.C     : Trim some code from victory function that pertained only to the demo version.

02 Jun 2015
> WHSNDMOD.C  : Correctly unset enchantedsoundhandle in SND_CheckLoops
> WHOBJ.C     : Removed some code that was supposed to make a SHADE enemy puff out in smoke instead of die normally
                (It didn't look good)
> CLEANUP.BAT : Add readcfg.obj to the list of files to clean up.

26 May 2015
> WHMENU.C   : Adjust comment block to prevent compiler warning.
> WHANI.C    : Add changespritestat call where it seemed to be missing (hush "meaningless use of expression" warnings)
> WHOBJ.C    : Change the new Onyx Ring check to an out of 100 chance.  Should still be close to the same percentage (3%).
> WHOBJ.C    : Remove some disabled code and unused actormovesprite function.
> WHINP.C    : Clean out some more #if 0 disabled code.
> WHMENU.C   : Clean out the disabled screenfx function.
> WHSMK.C    : Clean out disabled code.
> WHDEFS.H   : Clean out disabled code.

25 May 2015
> WHANI.C    : Improved checks in CHUNKOMEAT logic. Gore splatters no longer stick to ceilings that are set as parallax sky.
> WHMENU.DEF : Disable screenfx definition
> WHMENU.C   : Disable screenfx function (existed only to call updatepaletteshifts)
> WHAVEN.C   : Replace call to screenfx with one directly to updatepaletteshifts (avoid wrapper function).
> WHINP.C    : Added an alternate CapsLock scan code to the checking.  Behavior is STILL inconsistent.
> WHINP.C    : Automap should now respond to arrow keys even if movement is remapped.
> WHPLR.C    : Added "all pages" bit flag to SVGA rotatesprite calls in potionpic (fixes flickering status bar graphics in SVGA mode)
> WHAVEN.H   : Eliminate overwritesprite
> WHAVEN.C   : Eliminate overwritesprite
> WHMENU.C   : Eliminate calls to overwritesprite
> WHPLR.C    : Tweak dual-wielding code again to remove sprite flicker that switching to rotatesprite was introducing.
> WHPLR.H    : Eliminate prototype of loadinglevelmsg (had no active code)
> WHPLR.C    : Eliminate function loadinglevelmsg (had no active code)
> WHPLR.C    : Eliminate calls to overwritesprite
> WHPLR.C    : Fix messed up check in potionpic (Still doesn't fix SVGA statbar flicker)
> ICORP.H    : Added #define names for the rotatesprite bit flags.
> WHMENU.C   : Eliminate calls to overwritesprite
> WHPLR.C    : Clean out some disabled code.
> WHINP.C    : Clean out some disabled code.
> WHMENU.C   : Clean out some disabled code.
> WHAVEN.C   : Clean out some disabled code.
> SNDNAMES.H : Removed this file as unused.
> WHPLR.C    : Additional autoaim tweaking: aim lower if targeting an imp.
> WHANI.C    : Clean out some disabled code.
> WHOBJ.C    : Removed the unused wh1mode variable here too.
> WHAVEN.C   : Removed the unused wh1mode variable.  I am convinced at this point that a separate source branch for WH1
                  is unavoidable to prevent turning the code into a quagmire of conditional blocks.
> WHMENU.C   : Reset vampiretime in cleanup function: this might add extra safety against the ornate horn savegame bug,
                  though said bug's causes are still not properly understood.
> WHMENU.C   : Fixed jukebox shuffle so that it plays from all 15 levels' music (formerly only the first 10 levels).
> WHMENU.C   : Bump version number.

10 Feb 2015
[EGWhaven v0.4 release]
> WHOBJ.C : Tweaks to fireball impact code
> WHPLR.C : Tweaks to fireball casting code
> WHPLR.C : Use DEFAULT_PLR_ZOOM
> WHAVEN.C: Use DEFAULT_PLR_ZOOM
> ICORP.H : Add a DEFAULT_PLR_ZOOM definition for the automap zoom
> WHOBJ.C : Don't change an enemy's palette when nuking him
> WHPLR.C : Clean up enchantedsoundhandle if player dies.
> WHAVEN.C: Fix a stupid hack that removed blue GRONSW sprites to work around an issue with save games... now the GRONSW
               is removed only if its coordinates match the player's (phantom player in save games).
> LES.H   : Tweak JUMPVEL just a little more...

9 Feb 2015
> WHPLR.C:  Don't show "Weapon is damaged" warnings when the weapon is enchanted
> WHPLR.C:  Do not allow Ice Razor to freeze Cirae-Argoth (unwinnable game glitch)
> WHPLR.C:  Shade off hand sprite for dual wield attacks etc. correctly
> WHANI.C:  Add checks to keep frightened monsters from sticking in their attack animations when they FLEE.
> WHAVEN.C: Make LOOKUP.DAT loadable by GAME parameter (May be subject to other issues later, palette loading
               seems to be "incorrect" in the WH games...)
> WHOBJ.C:  Don't use shield with fists
> WHFX.C:   Correct the thunder sound picker so it doesn't pick a wind sound
> WHPLR.C:  Adjust tweaked autoaim slightly
> LES.H:    Adjusted JUMPVEL a bit so that higher jumps can be made (fixes map 14)
> WHANI.C:  Make shocked message last only as long as shock does
> WHINP.C:  Make player stunned if shocked
> WHAVEN.C: #ifdef ADJUST_MIDIAN_HP, use different base HP per color for Midians
> ICORP.H:  #define ADJUST_MIDIAN_HP
> WHFX.C:   Make Adamantine Ring a 1-level duration item as well.
> WHOBJ.C:  Cap scrolls at 10 instead of 9.  Scrolls beyond max should no longer be collected.
> WHOBJ.C:  First pass at implementing SPELLS_LIKE_MANUAL for magic arrows and fireballs
> ICORP.H:  #define SPELLS_LIKE_MANUAL
> WHOBJ.C:  Make Onyx Ring's projectile blocking much more effective since it now lasts only one level.
> WHOBJ.C:  Re-enable the possibility of grabbing a halberd from midair, IF the player has an Onyx Ring.
> WHFX.C:   Remove Onyx Ring from player upon level exit, as code comments indicate this should happen
> WHPLR.C:  Use FIX_POWERUP_TIMES for potions and spells as well.
> WHOBJ.C:  #ifdef FIX_POWERUP_TIMES, correct powerup times to 7200 (one minute) or 3600 (30 seconds), whichever closest
> ICORP.H:  #define FIX_POWERUP_TIMES

8 Feb 2015
> WHPLR.C:  Re-fix a not-so-good fix to the Hero Time powerup, now you're swinging your weapons twice as fast with
               it like you should.
> WHFX.C:   Correct the difficulty level cases in weaponpowerup.
> ICORP.H:  #define FIX_DART_ORIGIN
> WHOBJ.C:  Fix trowajavlin function so that darts should always fire from approximately the center of the hole,
              even if it's been scaled.  Selectable with FIX_DART_ORIGIN.
> WHPLR.C:  Pull chains can now activate sprites (e.g. traps in EXAMPLE.MAP)
> WHANI.C:  Fix thawing out for frozen sentinels
> WHOBJ.C:  Make thrown halberds damage the player as they should
> WHOBJ.C:  Make the angvel alteration in attack function less severe (player should not spin round and round)
               This is probably a fix of a fix to what I did in the player movement code, so it's maybe not
               identical to original behavior.

7 Feb 2015
> WHPLR.C:  Fix enchanted bow to do double damage as it should.
> WHPLR.C:  #ifdef FIX_FLAKY_RANDOMIZER, change all instances of krand() & X to krand() % X.
> WHOBJ.C:  #ifdef FIX_FLAKY_RANDOMIZER, change all instances of krand() & X to krand() % X.
> ICORP.H:  Add #define FIX_FLAKY_RANDOMIZER for patching up erroneous usage of & in randomizing functions.
> WHPLR.C:  Fix some logic relating to enchanted weapon sounds; wrong sound should no longer play
> WHPLR.C:  Fixed faulty checks that were causing auras on weapons not to appear if the player
               had non-enchanted pike axes.
> WHINP.C:  Adjust keyboard strafe speed to more closely match the (faster) mouse strafe.
> WHINP.C:  Remove Capstone's mouse movement code in favor of adapting code from Kenbuild.
> WHMENU.C: Add eg_instantstart variable, immediately set up game if it's set
> WHAVEN.C: Add eg_instantstart variable, don't play intro SMK if it's set
> WHNET.C:  Increase MAXARGS for new parameter, add WARP to command-line parameters, code in eg_instantstart variable.
> WHMENU.C: Bump version number
> WHAVEN.C: Bump version number

21 Jan 2015
[EGWhaven v0.3 release]
> WHSNDMOD.C:  Make JOESND, F_SONGS and W_SONGS loadable from custom GAME dir
> WHFX.C:      Re-enable the code in function sectorsounds(void) - the sound loops are not fully functional yet though

16 Jan 2015
> WHAVEN.C: Should now be able to load custom stuff.dat from a GAME folder
> WHAVEN.C: eg_gameflag for GAME parameter
> ICORP.H:  eg_gameflag for GAME parameter
> WHNET.C:  eg_gameflag for GAME parameter
> WHSMK.C:  Revert to previous version (Should allow SMK folder OR install folder to work for locating SMK files)

09 Dec 2014
> WHINP.C:  Try a different tweak to mouse control
> WHSMK.C:  Revert alterations to CD location code as no CD mode should now behave as LOCAL parameter
> WHAVEN.C: Alter CD check behavior to default to same behavior as LOCAL parameter if no CD in
> WHAVEN.C: Bump version number
> WHMENU.C: Bump version number
> WHINP.C:  Have defaults for the values for mousxspeed and mousyspeed here again
> WHINP.C:  Revert a change to mouse handling in WHINP.C processinput

16 Nov 2014
[EGWhaven v0.2 release]

13 Nov 2014
> WHANI.C: Change the useless "SHOCKED" attack into an attack that can disenchant some of the player's items. (Set with #define FIX_SHOCKED)
> WHOBJ.C: Update the treasure chest fix to use FIX_TREASURE_CHESTS def
> ICORP.H: Add #define TWEAK_AUTOAIM for easily allowing the original adjustment value
> ICORP.H: Add #define FIX_TREASURE_CHESTS for the new treasure chest fixes.
> WHPLR.C: Re-tweak the projectile autoaiming so you don't shoot over kneeling guys etc.
> WHAVEN.C: Bump version number in main function.

12 Nov 2014
> WHOBJ.C:  Bugfixes to the treasure chest code in processobjs.  All armor possibilities as well as poison traps should now occur.

11 Nov 2014
> WHMENU.C: Added version number indicator
> WHINP.C:  Don't default the values for mousxspeed and mousyspeed here any more
> WHAVEN.C: Save the player's mouse sensitivity settings in egpref.dat
> WHINP.C:  Adjusted strafe speed
> WHINP.C:  Fix walk/run keys; now they make you walk when runlock is on.
> WHINP.C:  Attempt to fix runlock variable switching (unsuccessfully)
> WHINP.C:  Move is_strafing variable outside of function

21 Aug 2014
[EGWhaven v0.1 release]
General cleanup; removal of some dead Capstone code (behind comments or #if 0), changing .DEF files to .H files, readability
                 changes, cleaning out files that aren't used by the build process.
> WHINP.C: Further tweaking of player movement code
> WHMENU.C: Fix too fast load/save screens
> WHPLR.C: Support for GAME parameter
> WHMENU.C: Support for GAME parameter
> WHNET.C: Support for GAME parameter
> ICORP.H: Support for GAME parameter

20 Aug 2014
> WHINP.C: Bound friction to game sync (no more icy movement)
> WHAVEN.C: Don't kill the status bar when exiting to menu in SVGA mode
> WHMENU.C: All menus should respond to up and down arrow keys now, even if player movement was remapped.
> WHPLR.C: Don't let player respawn still being knocked around
> WHINP.C: Greatly improved the way mouse sensitivity is calculated with mouse movement (now works more like other FPS games)
> WHOBJ.C: Fixed skeleton behavior in transformactors (no longer glides in non-frontal angles)
> WHFX.C: Exempt broad sword from getting marked as enchanted
> ICORP.H: FIX_FIRE_RESIST was deactivated.  It broke the gameplay of some of the levels.

19 Aug 2014
> WHOBJ.C: Add checks to avoid throwing away enchanted weapons in favor of mundane ones
> WHOBJ.C: Put some code under #ifndef FIX_PENTAGRAM_SCORE
> WHMENU.C: Fix help menu lockups
> WHAVEN.C, WHSMK.C: Made it possible to "full install" to HD and not need CD in drive

18 Aug 2014
> WHPLR.C: Tweak lockon function to improve autoaim even more?
> WHPLR.C: Removed an extra nextpage(); call from void playerdead (Fixes messed up display when dead in SVGA mode)
> WHOBJ.C: Bugfix the fire reistance bugfix

17 Aug 2014
> [BUG? FIX] WHANI.C, WHOBJ.C: -- Altered the bizarre SHADE/EVILSPIRIT state behavior to do what I assume it was
                                   intended to do.
> [FEATURES] WHINP.C: checkcheat -- New debug commands DBGARMOR, DBGSHIELD, DBGRINGS, DBGPOWERS (Print info on player)
> [BUG FIX] WHAVEN.OBJ: have attack function call shieldhit(s); instead of shieldhit(-s); (no more indestructible shield)
> WHAVEN.LNK, WHAVEN.MAK: Change EXE name to EGWHAVEN.EXE
> WHAVEN.C: Change version notice
> [BUG FIXED] WHPLR.C: Don't let helmettime speed-up get out of control
> [BUG FIXED] WHPLR.C: Fix dual wielding (maybe a hackish fix, but works)
> ICORP.H: #define FIX_PENTAGRAM_TRANS and FIX_PENTAGRAM_SCORE
> ["BUG" FIX] WHAVEN.C: Remove messed up things done with pentagrams. (FIX_PENTAGRAM_TRANS and FIX_PENTAGRAM_SCORE)
> ICORP.H: Cleanup - Get rid of _PROTOTYPING_ #ifdef.  We should never need this again.
> ICORP.H: #define FIX_PROJECTILE_COLLISION
> [BUG FIXED] WHANI.C: Don't register projectile collision as a floor/ceiling hit (FIX_PROJECTILE_COLLISION)
> WHANI.C: Cleanup; use existing nice name INACTIVE in place of 0 in changespritestat calls
> WHOBJ.C: Cleaned out some commented-out lines that were making things harder to read

16 Aug 2014
> ICORP.H: #define FIX_ONYX_RING
> [BUG FIXED] WHOBJ.C: Onyx Ring now does something.  This fix is controlled by #define FIX_ONYX_RING
                       NB: There are multiple ways I could have interpreted the manual description.
                           I decided to make it work as a parallel to the Adamantine Ring.
                           WARNING, there is currently no code to remove the Onyx Ring except in
                           death, so once the player has one, he has it for life.  Adamantine has
                           been the same way, so...
> WHAVEN.C, WHOBJ.C: Add a variable, WH1Mode, to be used for Witchaven I support sometime later on.
> [BUG FIXED] WHOBJ.C: Bugfix for Glass Skull, now gives the proper amounts for WH2.
> WHMENU.C: Adjusted SCOTTSPEED to make menu more responsive (fewer ignored keypresses).  Not perfect but better.
            Side effect is that the glow animates faster, maybe fix later?
> WHINP.C: The jump/fall bugfix messed up fly up/down; now fixed that too.
> ICORP.H: Add #define FIX_FIRE_RESIST
> [BUG? FIXED] WHOBJ.C: Make fire resistance resist only fire projectiles (Optional by undefining FIX_FIRE_RESIT)
> PROFILE.C: Removed.  PROFILE.H is still needed.
> ICORP.H: Commented out #include of profile.def
> WHAVEN.MAK: Removed references to profile module
> [BUG FIXED] WHANI.C: Clock speed should no longer affect projectile aim
> WHINP.C: Tweak the jumping bugfix slightly as the jumping allowed was fairly high; IMO jumps are now just right.

15 Aug 2014
> [BUG FIXED] WHINP.C: Clock speed should no longer affect jumping/falling
> WHINP.C: Make synctics derive from lockspeed
> ICORP.H: #define a CLOCKFORMULA so that I can easily tweak it everywhere it appeared.
           (didn't really have an effect on our slowdown, though)
> WHAVEN.C, WHINP.C, WHMENU.C, WHNET.C, WHPLR.C, and ICORP.H: Patch lockclock variable according to BUILD.TXT
>> I made a brief and ill-fated attempt to upgrade the code base to a newer version of the BUILD engine.
>>   It didn't fix any of the most obvious bugs I thought it might, and introduced some new ones that I
>>   don't feel like cleaning up.  So this source mod is going to stick with the original BUILD blobs for now.
> SUCCESS (Using last non OpenWatcom Watcom, available under the FTP)
> WHINP.C: Block out Spaceball stuff
> WHAVEN.C: Block out Spaceball stuff
> AV_WC10R.OBJ: Cut this out of linking as it's a blob and might be causing the crash (It wasn't, but still a blob and not needed)
> WHAVEN.MAK: Nip out MPLIB.OBJ and MPLPC.OBJ since they're not called in WHAVEN.LNK
> PROFILE.C: Oh boy!  Missed another memcheck.h
> WHAVEN.MAK: Add -bt=DOS to CFLAGS
> WHAVEN.DEF: Don't proto main

14 Aug 2014
> WHINP.C: Fix parameters to SND_PlaySound call
> WHAVEN.LNK: Remove profile
> WHAVEN.MAK: Remove profile.obj from after readcfg.obj
> WHSNDMOD.C: Proper capitalization of SND_DIGIFlush
> WHSNDMOD.H: Proper capitalization of SND_DIGIFlush
> WHINP.C: Proper capitalization of SND_PlaySound call
> RAD.H: Change a REP CMPSB to REPE CMPSB
> SWIFT.C: Comment out memcheck.h
> CDROM.C: Comment out memcheck.h in a second place...
> WHVFX1.C: Comment out memcheck.h
> CDROM.C: Comment out memcheck.h
> WHAVEN.C: Comment hSOSDriverHandles def to kill error
> WHTAG.C: Comment out memcheck.h
> WHSMK.C: Comment out memcheck.h
> WHPLR.C: Comment out memcheck.h
> WHOBJ.C: Comment out memcheck.h
> WHMSC.C: Comment out memcheck.h
> WHMENU.C: Comment out memcheck.h
> WHINP.C: Comment out memcheck.h
> WHFX.C: Comment out memcheck.h
> WHANI.C: Comment out memcheck.h
> WHNET.H: Include HMISTD.H
> WHAVEN.C: Comment out memcheck.h include
> ICORP.H: WHNET.DEF to WHNET.H
> WHNET.H: Include HMIIPX.H
> WHNET.H: New from WHNET.DEF
> SNDMOD.H: Comment out keytimerstuff();
> SNDMOD.H: Also define SND_CALLER
> SNDMOD.H: Avoid double defines with an #ifndef _DID_SNDMOD
> READCFG.H: Include SNDMOD.H
> READCFG.H: New from READCFG.DEF
> READCFG.C: Comment out memcheck.h include
> WHSNDMOD.C: Comment out memcheck.h include
> Move SNDMOD.H include from ICORP.H to WHSNDMOD.H
> Move SOS.H and SOSM.H includes from WHSNDMOD.C to WHSNDMOD.H
> ICORP.H: Change WHSNDMOD.DEF include to WHSNDMOD.H
> WHSNDMOD.H: rename from WHSNDMOD.DEF