=============================================================================
			     BLOOD History File
		 Copyright (c) 1994-95 Q Studios Corporation
			    Contact: Peter Freese
		    pfreese@qstudios.com or CIS:74170,543
=============================================================================

KEYBOARD FUNCTIONS:

D and +/-	Changes visibility

G and +/-	Changes gamma correction

V		toggle external view (Alt-V rotates view)

F1		Help (not implemented)

F2

F3

F4		Adjust sound/music volume

F5		Main options menu

F6

F7

F8

F9		Quick Load

F10

F11		Changes gamma correction

F12		Selects player view

Insert		Inserts fake player

Delete		Deletes fake player

ScrollLock	Selects fake player


CHEAT KEYS:

QSMAPS		Full map
QSKFA		Full armory
QSKEYS		All keys
QSCLIP		No clipping mode
QSOUCH		Pummel death
QSBURN		Burning death
QSBOOM		Explode death
QSRATE		Toggle display of frame rate
QSGOTO		Go to a specific x,y location
QSJUMP		Jump to a particular episode and level
QSHIGH		Delirium mode
QSONERING	Inviso mode
QSAIM		Toggle display of aiming reticle


=============================================================================

COMMAND LINE OPTIONS:

	-skill N	sets the skill level from 0-4.  Only useful when a map
			is also passed on the command line.

	-net N		force network game.  This is used by COMMIT, and
			should not be passed manually.

	-bloodbath	force bloodbath mode

	-coop		force coop mode

	-robust		enable robust sync checking for network games

=============================================================================

95/01/20

Change the tile cache size by editing the "TileCacheSize" parameter
in BLOOD.INI. (Ex. TileCacheSize=2048 will create a 2MB tile cache.)
Spaces between the parameter and value are NOT supported yet.

Note the icon in the upper right corner when a cache miss causes
a disk access to occur. Cool, eh?

Here are the monsters in the game:
* Gargoyle:       By far the coolest when running/jumping.
* The Hand:       Way cool!
* Gill Beast:     Cool, but sometimes humorous.
* Fat Boy Zombie: Use the butcher knife!!
* Jive Zombie:    No attack yet, kind of weak for a weak enemy.
* Phantasm:       Ok, we need lots o' art for this one, but attack works.
* Hell Hound:     Needs major art touchup.

Here are the weapons in the game (still frames with bobbing.):
* Pitchfork
* Tommy Gun (much better than before)
* Sawed-off shotgun (Love this baby.)

Next week:
Animated frames for the above weapons.
The NAIL GUN, yes! ($25 a day for rental...sheesh.)

-----------------------------------------------------------------------------

95/02/06

Sector lighting effects are now functional.  See the notes in MAPEDIT.TXT for
information on creating lighting effects.

Global visibility is now loaded from the mpx file, although you can still
change it with the V Pad+/i keys.

Tiled parallaxed sky information is loaded from the MPX file (although I
haven't tested this yet).

Almost all errors are now caught by a global error handler.  Let me know if
you get any mysterious crashes.  There are still asserts which will go
through the monochrome monitor if you have the DEBUG environment variable
defined.

Multi-player network play works.  Yeah!  I've added synchronization checks
for now which should report if any slaves get out of sync.

Player movement dynamics have been overhauled.  You can now "slide" sideways,
spin in mid-air, crumple from a fall, and other stuff based on inertia.
It's really cool.

The tile cache system has been revamped.  It will now attempt to allocate as
large a cache as possible, up to the limit of available memory.  The
TileCache line in the INI file is now longer used, and can be removed.
Additional dynamic allocations (such as sound effects) in the game will come
from the tile cache.

Dynamic fire is working again, and looks better than ever.  The tile number
is 2342, and needs to be added to names.h.  We need a new 128x128 pic for
tiles.art -- the one from Doom is 128x112.

-----------------------------------------------------------------------------

95/02/13

Added new weapon swaying effect that is not directly related to the head bob.

Screen resizing is functional again, although there are a few problems with
the shade and size of the marble background.  Also, don't try resizing in
640x480 mode -- there a still some serious problems in the engine related to
view sizing.

2D mapping now working in the game video mode.  This should prevent problems
with mode switching (especially in network play with problematic video
cards).  Also, we'll be able to do more cool stuff with the maps with 256
colors, such as anti-aliased lines, parchment background, etc. -- we just need
to figure out what we want.

Zoom is no longer a player variable; it is solely a display metric now.

Zoom and view size are now written to the blood.ini file.

Fixed a inifile bug which caused an assertion failure if a key was not found
and a section contained blank lines.

Changed the way items are picked up to solve problems in picking up sprites
which are not in the same sector as the player.  In order to be picked up,
sprites now must be on stat list 1 (kSpriteStatTouch).  Sprites are
automatically tagged with this status in mapedit, so you'll need to load and
save all your maps.

Changed location and persistence of the disk sprite which appears during
cache misses.  It now appears on top of the status bar to ensure it doesn't
get left on the background when the view size is less than full screen.

During initialization, the status messages for building the various tables no
longer appear unless the tables are actually being built.  If they are just
being loaded, the messages do not appear.

Re-enabled chaining to the old timer interrupt handler.  This was previously
disabled due to a bug in Ken's network code.  Re-enabling it should cure those
system date and time problems, as well as help with any timer dependent DOS
drivers, such as disk caches.

-----------------------------------------------------------------------------

95/02/14

Did a major restructuring of source code.  This was a sorely needed cleanup
to produce organization out of a loose collection of hacks.  This should make
future changes and additions much easier.

Blood no longer uses Ken's keyboard handler.  This means functional key
repeat, less key lockouts, and input stream buffering.

Added support for cheat key sequences.  Try QSKFA!

Modified desynchronization so that animations are desynced by time, and not
be frame.  This means that even with only two frames, a lot of sprites of the
same tile should not animation in unison.

Optimized the routine for picking up sprites.  The additional trivial
rejection tests should speed things up a bit.

Warping no longer sets velocity to zero.

You should now be able to operate a platform sector from outside the sector
(via neartag).  Sector operation code is also optimized.

Head bobbing and weapon swaying are now related to the players actual
movement, not attempted movement.  This means that you should be still when
you are jammed up against a wall and running like hell.  There is a low pass
filter for the amplitude, so it should never jerk your head or the weapon.  I
also modified the scale for the metrics for bobbing and swaying, but I think
I've got them pretty close to the way they were before.  Please let me know
any comments you have on the feel of these features.

When you land and recover, I am now dropping the weapon a bit to simulate its
inertia.  I think this adds good visual cues for the landing effect.

-----------------------------------------------------------------------------

95/02/15

DO NOT RUN THIS VERSION IN UNCHAINED MODE.  It will probably do something
really horrible.

Wrote new code to support tiling the background when the screen size is
reduced.  This is some pretty crappy code right now, and I'll probably
rewrite it eventually, but for now it works except in unchained mode.

Reduced horizontal swaying of weapon by 1/3.  Let me know if this is enough.

Added code to support DAC effects, which will be used for visual feedback for
events such as one-ups, injuries, and special sector effects.  I've plugged
in a little flash effect for picking up items.  Also, try QSOUCH for an
injury effect.  If the DAC effects cause any snow problems we can always
switch to using palette lookups of the sort Doom uses, although this will
severely limit our use of separate palette lookups for sprites, or increase
the overhead in terms of the number of tables.

Reduced the amount of inverse Z adjustment for looking up and down.

Add QSRATE - Toggle display of frame rate.

Rewrote the 2D map function so it should look just like the map in Doom.

The status bar is always displayed in 2D map mode.

-----------------------------------------------------------------------------

95/02/18

Modified the way the DAC effects work somewhat to fix a bug which would cause
the hardware DACs not to be updated when the effect was 0.

Added QSGOTO and QSJUMP cheat keys.

Changed key combinations for setting gamma, visibility, and spring
coefficient to be compatible with those in MAPEDIT.  Use +/- instead of Pad
+/-.

Visibility is no longer written to the BLOOD.INI file, since it is level
dependent.

Changed key combination to change the depth cueing (visibility) to D +/- for
compatibility with MAPEDIT.

Provided a workaround for the off by 4 pixel error in getzrange.  This means
you shouldn't pop in the air when stepping on a floor sprite at floorz level
anymore.

-----------------------------------------------------------------------------

95/02/19

Added a module for processing command line parameters.  I'm not doing much
with this yet, but it's now pretty easy to handle switches and other optional
arguments.  The only visible change now is that when you start Blood, it
defaults to map E1M1, and if you pass a level (map) name, it ignores the
extension.

Made a change to the way that player location and velocity is stored.  This
is an internal code change that shouldn't result in any visible change, but
is necessary for me to write a more general purpose physics system (so any
sprite can move around with inertia).

Moved several constants controlling player movement dynamics out of the code
and into the player posture structure.  Now nearly every aspect of player
movement is driven by this data.

Rewrote the key handler to better provide services for getting characters in
a stream type of fashion.

Fixed a bug in the main drawing loop.  I wasn't clearing the gotpic[] array,
so once you saw the dynamic fire, it was getting calculated every frame.
This easy fix should give us a nice performance boost.

-----------------------------------------------------------------------------

95/03/05

Projectiles have been added.  Shame on Nick for not documenting them here.

Fixed a bug which would cause extended keys (e.g. Page Up and Delete) to be
dropped if NumLock was on.  This bug was introduced when I added code to
prevent filling up the keyboard buffer.  These keys are actually transmitted
as multiple make codes when Num Lock is on, hence the bug.

Fixed a bug in the debug version of the heap.  Sheesh!  It would dassert out
occasionally when it was unable to allocate a block when it thought it had
enough memory.  I wasn't subtracting out the space used for the fenceposts.

-----------------------------------------------------------------------------

95/03/06

Added an assertion to check for overflow of the ext arrays.  I found out that
some maps had sectorExt structures for nearly every sector, and were
overflowing the array!

Created a branding utility for limited demo versions.  This utility should
not be released outside of Q Studios.

-----------------------------------------------------------------------------

95/03/24

BUG FIXES

Fixed problem with allocatepermanenttile not marking the block of memory as
locked.  It could get added to the purge list during precaching....

Added some missing modify [...] registers to an inline function in the
dynamic fire system.  This would inevitably cause problems when
optimizations were enabled.

-----------------------------------------------------------------------------

95/04/18

Changed default key codes for jump, crouching, and alternate firing to be
identical to Dark Forces.

Added support for view centering (default key is Alt Pad 5) when look lock is
on.

-----------------------------------------------------------------------------

95/04/30

Added support for various screen modes now supported by the Build engine.

Rewrote line clipping routine, but there are still some problems to work out
in unchained mode.

INI file changes are not written out until the program exits.  This should
minimize disk access during game play.

-----------------------------------------------------------------------------

95/04/30

QAV playback support added and several weapon animations now work.

Trigger switches currently supported are:
	Toggle Switches and Momentary Switches

For Momentary Switches, the "data" field can be set to indicate
tenths of a second before the switch toggles back to the original state.

Sectors supporting currently switches are:
	Topdoor, Bottomdoor, Swingdoor, and Lift

Armed Proximity Bombs can now be placed and will function. More flexibility
for distance and damage will be added shortly.

Exploding bombs affect all "Crate Face" sprites within its proximity.
MAPPERS: Make sure that you use the damaged crate face for anything
that can be exploded, and don't use it anywhere else. I repeat, don't
use the damaged crate face for anything except crate faces that are
affected by explosions. Especially you, Richard.

-----------------------------------------------------------------------------

95/05/02

Fixed trigger bug with floor pads.

-----------------------------------------------------------------------------

95/05/08

Added panning sector effects, which now work for water current.
Water movement now has drag even if there is no current.  The drag is
relative to the depth of the water.

Rewrote/simplified trigger code.  Made callbacks a command type.

Added impulse to explosion projectiles.

Added code to support Top door, Bottom Door, and HSplit door types.

-----------------------------------------------------------------------------

95/05/08

Added !state command.

Sent events are now processed immediately, rather than being posted into the
message queue.  This allows cleaner coding for LINK commands.  Be careful not
to create infinite message loops!

Math and palette lookup table building has been removed from the game code.
These tables will now be created with stand-alone utilities.

Sector lighting amplitude now honors the sector busy state, so you control
light level with link commands.

-----------------------------------------------------------------------------

95/05/19

Added horizontal and rotation move sector types.  This means sliding and
swinging doors, but you are certainly not limited to these types.  Use your
imagination.

Modified DoSectorLighting() so it is not necessary to call
UndoSectorLighting() in Blood.  Should speed things up just a bit.

Fixed an overflow problem in 2D map mode which cause clipped lines to skew
weirdly.  I went through all the code and made all the multiply and shift
operations use a full 64 bits of precision.

Got rid of ALL the old door animation code.  We are no longer unwashed.
("This house, is clean." - Nick )

Kinetic sectors would never go the final distance fraction when going to the
on state.  The error fraction was 1/65536.  I've provided a work-around for
this, but the real solution is to increase the X structure busy variable
size by 1 bit.

-----------------------------------------------------------------------------

95/05/24

WEAPONS:
* Modified tommy gun.
* Added first-pass shadow gun.
* Added first-pass beast hands.
* Added code to throw dynamite. Try blowing up the crates in MAP04.MAP.
  (Don't get too close or you'll set off the proximity bomb and ruin it.)
* Added vector hit check and ricochet for shotgun and tommy gun.
  (NOTE: All the ricochets for the shotgun appear in one place for now.)

LIGHTING:
* New lighting effects and triggers added. Check some of them out in
the sample maps.

LINKED SECTORS:
* You can now go underwater, but cannot go back up or move around very well.
  (We intend to have the water physics working by the next upload.)

There's lots of other stuff, but I have to go to dinner. I'll just upload it
and let you fool around. Later!

-----------------------------------------------------------------------------

95/05/30

Fixed view bobbing/swaying bob which caused them not to work unless you were
running.  Don't you just love misplaced braces? <g>

Bobbing and swaying are now optional.  Just added "ViewBobbing=0" to the
[Options] setting of blood.ini.  This should cure George's nausea.

Increased strafe acceleration, and reduced angular velocity at George's
request.  You can also accelerate while landing now, also at his request.
Can we have an equipment advance? ;)

-----------------------------------------------------------------------------

95/06/24

Added sequence engine which will be used for transient sprite effects and
creature states.

Reworked weapon selection code to allow cleaner changing between certain
weapons, such as the dynamite and spray can.

Added sequences for ricochets and explosions.

Added the ability for explosions to chain other explosions.

Added a rudimentary death sequence for cultists.

Added damage/death for vector weapons.

-----------------------------------------------------------------------------

95/06/26

Added time delay for dynamite projectiles.

Added code to put dudes affected by explosions on the projectile list, and
greatly enhanced projectile code.  The net result is you can blow up the
creatures.  "They sure blowed up _real_ good!"

-----------------------------------------------------------------------------

95/07/03

Converted sprite management code to use a FIFO list for proper handling of
bullet holes and other purgeable sprites.

Fixed problems with projectiles (including bodies) falling through floor
sprites.

Temporarily removed above mentioned FIFO code until I can get it working
correctly.

Added support for moving z of sprites on the floor of z motion sectors.  This
means that when the floor moves, so too should sprites that are on it.  Also,
no more player bouncing when you are standing on a z motion floor.  The only
downside is that the player will not receive any intertia from the vertical
motion, so you can't 'throw' the player in the air with a fast moving floor.

Changed resource system so that it uses hashing and linear probing for rapid
lookup of resources.  This was one of those things that had been waiting too
long to be done.  Now we can move forward with creating RFF (Resource File
Format) archives and clearing up those directories of thousands of files.

Added weapon QAV and sequence preloading.  If you have enough memory, you
shouldn't get ANY disk hits during game play, except for status bar graphics,
which will be done shortly.

-----------------------------------------------------------------------------

95/07/05

Players are now impulsed by explosions.  Try standing on a lit stick of
dynamite!

Changed the way that friction works for sliding objects.  The current method
is 'physically' correct.

-----------------------------------------------------------------------------

95/07/08

Rewrote DPMI services and code which attempts to determine how large a heap
to allocate.  It should now attempt to allocate less than the physical memory
available, even under DPMI hosts providing virtual memory (e.g., Windows)

Provided locking for nearly all interrupt handlers through new DPMI routines.
This should improve the robustness of Blood under other operating systems
such as Win 95.

Wrote a new virtual timer services module.  This allows any number of clients
to install their own timer handlers with varying rates all through a central
timer services handler.  This is some pretty low level code, and shouldn't
affect anyone but Blood programmers.

Fixed a bug in the sequencer in which the first frame would not be displayed
as long as it should have been.

Increased dispersion for tommy gun, and increase shotgun vectors per barrel
to 16.

-----------------------------------------------------------------------------

95/07/09

Fixed and reenabled sprite FIFO code.

In Z Motion sectors, sprites on the ceiling as well as sprites on the floor
will be z adjusted when the floor or ceiling moves, as appropriate.  I also
changed the method used to determine when to move the sprites.  Previously,
the code would take into account the sprite z extents to determine whether
the sprite was on the floor.  Now it looks only at the z value to see if it
is on or in the ceiling or floor.  This should provide results consistent
with the type of sprite being using, i.e., sprites meant to be placed on the
ceiling have their origin set at the top, and sprites meant to be placed on
the floor have their origin at the bottom.

Did extensive work in code for handling interactions between objects and
explosions.  Explosions can now be triggered (this is the way that throw
sticks of TNT are handled).  The impulse effect for explosions is now no
longer instantaneous, but occurs over the duraction of the explosion.  You
can see this by watching your health while standing in range of an explosion.
Sprite movement as a result of impulse still seems off, and I thinks it's
because I have yet to handle sprite collisions (soon, though).

Creature death sequences are determine by the type of damage which caused the
death.  Currently, this is supported only (in terms of art) for the fat
zombie.

When the fat zombie explodes, he throws off chunks of gore.

-----------------------------------------------------------------------------

95/07/14

Multi-player starting markers now function. Check out MAP02.MAP to see
how they are inserted.

Network code is semi-stable. Runs for a while then asserts out with a
synchronization failure. This is probably in Ken's code, since we are
getting bad or missing packets which cause the de-synch.

In multi-player mode players animate in the walk sequece until they shoot,
then the shooting animation stays on until they die. We are working on the
AI and animation states for the players and enemies, so bear with us. At
least now the players, as well as the monsters, die agonizing deaths. Shoot
the fat boy for fun!

Breakable walls now function. Check out the new types in MAPEDIT by pressing
Alt-F6 on a red wall you want to mask and turn to a breakable wall. Similar
sprite types will be added soon. Look at and shoot the stained glass in
MAP19(?) which used to be QSEYMY.

We try to test out as many bugs as possible before uploading a demo, but
sometimes we slip up. As always, let Peter or me know if something no
longer works.

Lots of new artwork this upload. Better take a trip through all the art
first. Look at the art using EDITART or MAPEDIT before making level or
area texture changes; you may find just what you've been waiting for.

-----------------------------------------------------------------------------

95/07/17

Monsters now trigger OFF at death and send their command and txID.

Added BloodBath (deathmatch) starts but though you can't play that mode yet.

-----------------------------------------------------------------------------

95/07/20

			 !!! MAP VERSION CHANGE !!!

Once you've backed up all your maps in another directory or ZIP file, run the
CONVDB5.EXE conversion utility. You can use wildcards, so typing "CONVDB5
*.MAP" is acceptable.  The old maps will be saved with an extension of ".MA4".

Maps are now loaded as resources, which means they can be placed into
BLOOD.RFF.

Level definition files are loaded now along with the maps.  See the sample
FXTEST.DEF for an example.  They can't be placed in resource files yet,
though.

Explosions now use an expanding sphere of influence, so they won't effect
things within a possible range immediately.  The closer you are to an
explosion, the faster you'll take damage from it.

-----------------------------------------------------------------------------
95/07/27

Modified some cheat keys. Make sure your read the cheat section in this doc.

Ammo can be picked up and is added to your stats. The stats are NOT displayed.
Since this is still being coded, expect some funkiness with the way the weapon
behaves when it has no ammo, or you pick up ammo the first time. Your best bet
is to type "QSAMMO" when you first get into the game.

The spear gun is all screwed up. Don't play with it, or at least don't
complain if using it causes Blood to crash. ;)

-----------------------------------------------------------------------------

95/07/29

Lot's of new additions to the physics system.  Explosions can now affect all
dudes and "things", which include body parts.  Everything in the physics
system now has a mass, which means that lighter things can be blown
farther.  Have fun with the TNT and TNT barrels.

Player death greatly improved.

Dynamic shadows added for all dudes and things.  This will be a detail level
option, since it can have an impact on performance for highly populated
screens. Try DEATH.MAP for a fun time.  This map has around 150 combined
dudes and TNT barrels in a single sector, and is a pretty good stress test.
DON'T put this many things in your game maps.

-----------------------------------------------------------------------------
95/08/01

Temporary fix for sequence caching code that was causing "Out of memory"
bailout. You will experience slower map loads and slower caching in this
version. This is just _temporary_ until we have the new resource prelock
code running.

Added more cheat keys (listed *way* up at the top) and also fixed a bug
in the QSKEYS cheat code.

!!! IMPORTANT - READ THIS !!!
For those of you not receiving an art update with this version, the
Tommy Gun will be positioned incorrectly. This is because we have new art
that you don't have yet. Since this is primarily a bug fix related update
I thought it would be better not to include 6MEGS of zipped art.

-----------------------------------------------------------------------------
95/08/05

After a full 10 hour night of playing Blood deathmatch, we changed the
following:

Adjusted the dispersion for the tommy gun and the sawed off shotgun for
tighter dispersal.

Tweaked damage amounts for all weapons.

Adjusted spray can flame speed -- if you run at full speed with it, you
damage yourself!

Added support for impact triggers to sprites.

Changed impulse center of explosions to be optical center.

-----------------------------------------------------------------------------
95/08/06

Added respawning for items. Check out DONOR.MAP, which is a test
deathmatch level.

-----------------------------------------------------------------------------
95/08/07

Shadows are now only drawn if they are below your view z.  This should
eliminate shadows "floating" in the air.

Some code got changed which caused breakable walls to no longer change their
state, hence you couldn't use them for triggering other events.  This has
been fixed.

-----------------------------------------------------------------------------
95/08/16

Thrown dynamite no longer goes through walls.

-----------------------------------------------------------------------------
95/09/16
* Added auto-targeting. (Does not work for missiles yet.)

* Added the voodoo doll, which can hurt you if you don't have an enemy
in your auto-targeting cone.

* Added a test glow feature for the flare gun.

* Added a ShowDetails option, which can be added to BLOOD.INI to enable
or disable shadow and glow processing.

* Added view mode (V and Alt-V) to view the player form a distance.

* Added new status bar. (This has a some bugs when changing view size.)

* Added "wall crack" object which can be used to trigger exploding walls
when hit by dynamite. Check out MAP01.MAP.

(BUG: Wall cracks can be damaged by other weapons, but will NOT trigger
the wall explosion. Once the wall crack is taken to 0 health by a
non-explosive weapon, the crack cannot be triggered. This will be fixed.)

-----------------------------------------------------------------------------
95/09/20
* Added the Delirium Shroom "power-up" effect. Pick up a shroom or
type 'QSHIGH' to test it out. Peace!

-----------------------------------------------------------------------------
95/09/26
* Fixed the teleporter height bug.
* Player sprites now go translucent in invisible mode. Try "QSONERING".
* Voodoo doll is working, but one of the sequences is reversed.
* Cultists now drop cool stuff when they die.

-----------------------------------------------------------------------------
95/11/15

Uh, uh, huh, huh, huh, huh.  We forgot to document stuff for like 2 months, so
there a billion changes that probably aren't in here.  Huh, huh....  huh, huh.

* Dude AI added.

* New network system put in.  No more sync errors.

* Level music added. Create new .DEF files for your maps to hear music.

* Mouse input added and updated.  The mouse shouldn't diminish keyboard
movement anymore.

-----------------------------------------------------------------------------
95/12/18

* Vases can "drop" objects when destroyed. (See the TESTxx maps.)
* Timer generators added. (See XSYSTEM.TXT.)
* Fireball generators added. (See the TESTxx maps and XSYSTEM.TXT.)
* Padlock sprite now works. (See the TESTxx maps.)
* Z Motion sprite sectors added (See the TESTxx maps.)
* Linked sectors added (See PFFX.MAP: Dudes don't go through yet, but
missiles and projectiles, and gibs(!) do.

-----------------------------------------------------------------------------
96/01/07

Saw blades are now functional.  They can be turned on an off, and do damage
to anyone touching when spinning.  Lots of blood, too!

Change player movement code so that it uses the generic MoveDude() function.
This allows the player to get damaged by the saw blades and other stuff that
we add later.  The negative effect of this is that I have to find a new way
to do the view inertia effects, so as fall crumbling, stair smoothing, etc.
You may notice some change in the feel of turning, acceleration,
deceleration, etc.  I think it feels more responsive, but let me know if you
have any complaints, and I'll try to please!  You may also notice that if you
run and jump against a wall, you'll bounce off it, rather than keeping your
forward momentum (like those 'other' games).

Players drop all their weapons when they are killed.

All dudes now can move through linked sectors.

Added new explosion types.  There are now three concussion types of
explosions.  Single sticks of TNT do small explosions; bundles do medium
explosions, and barrels do large explosions.  Barrels may do more damage than
previously.

All dudes are now affected by falling damage.

Improved accuracy of Tommygun cultists by allowing them to aim while they are
shooting (what a concept, eh?)  They are pretty brutal monsters now, so we
may need to tone down the damage or ROF a bit.

New aiming system in place.  Specifically, the auto-aim point does not track
instantly, but sort of 'homes in' on a target.  If your target is standing
still and so are you, you should hit your target dead on.  If your target is
running a serpentine pattern you may miss him a bit unless you do a little
bit of targeting yourself.  The rate at which the auto-aim homes in is
adjustable in the code.  For some weapons, such as the tommy gun, the
auto-aim point gets updated while you are firing.  For others, such as the
sawed-off, it doesn't.  What this means is that you will get a more accurate
shot with the sawed-off if you wait a tiny bit between each shot rather than
just holding down the fire key.  There is an aiming reticle that is present
for the moment so you can see how this works.  It will probably be taken out
for the actual game unless people decide they really like it.  To enable
display of the reticle, type "QSAIM".

QAV playback engine enhanced.  The QAV engine now uses a different metaphor
to create and display animations.  It is now based on fixed frames intervals,
with a fixed number of layers (currently 8).  This means that it is much
easier to control the z-ordering of tiles, and simple to adjust the overall
speed of playback.  It now supports scaling and rotation of sprites, so you
should see enhancements in the weapon animations.  This also allows us to cut
down on some of the weapon art (which is really big and takes lots of
memory).

Weapon code overhauled.  There are now callbacks in the weapon firing QAVs,
so this simplifies some of the state code in the weapon system.  Damage is
now incurred at the appropriate point in the firing sequence, rather that at
the beginning.  This improvement is particularly noticeable in the pitchfork.
Automatic weapons such as the tommy gun and the spray can now have a
consistent rate of fire and smoother animation.

Throwing of TNT enhanced.  When you throw a stick or bundle with the primary
fire key it will explode on impact, making it simpler to use.  It's a bit
unrealistic, but, hey, it's more fun.  You can control how hard you throw it
but how long you hold down the fire key.  If you've played Dark Forces, this
should be familiar to you as the same way the thermal detonators work.  If
you press the Alt-Fire key you be able to "burn off" the TNT.  It will light
and you can hold it in your hand until you throw it or it blows up in your
face, which ever comes first.  You can also drop it with the Alt-Fire key.
When you burn off the TNT, it will explode only when the fuse burns out, not
on impact.

TNT Remote Detonators enabled.  If you throw the bundles, they explode on
impact.  If you drop them, they can be triggered with the remote detonator.
You can drop multiple bundles by pressing the Alt-Fire key when you are
holding just the detonator.

Global physics change.  The relative scale of game units to world units has
been changed.  One effect of this is that everything is smaller in terms of
world units (they still look the same, though).  Another effect is that
things will appear to fall faster.  You'll notice that when you jump, you
don't seem to hang in the air as long.

There is a new status bar.  Don't count on this one sticking around too long,
though.  Nobody seems to like it.

Fixed the problem with dudes spinning around in circles.  They should now act
a bit more intelligent in determining where to go.

Fixed problems with running on slopes.  You can now jump while moving on
slopes as well.  There may be some residual problems jumping if you are
running on a flat area and suddenly start down a steep slope, since you will
be briefly in the air, and you can't jump while falling, but that's life!

Decreased the overall game processing rate, but increased how often dudes
think.  Hopefully, this will improve the frame rate problems on network play
and slower machines.

All TNT modes enabled and working.  Try out the proximity bombs and remote
detonators -- they're great!

-----------------------------------------------------------------------------
96/01/10

Fixed problems with z velocity, including bodies not falling, thrown things
to fly in the air or down in the ground, and disappearing TNT.

Changed gravity and restored world scale ratios to previous values.  Gravity
is now twice normal.

Fixed problems with voodoo doll shaking like it was being held by Beavis on a
caffeine high when the player stopped.

Cultists now can aim up and down when shooting and throwing TNT.

-----------------------------------------------------------------------------
96/01/11

Added a .5 second delay between when proximity triggers are activated and
when they explode.

Added a slight delay when remote detonators are triggers.

Fixed problem with dudes that were on over/under areas spinning around.
Ken's updatesector() function wasn't taking into account z position, so I
wrote a replacement that does.

Tweaked axe zombie code to make them a little smarter.  Now they don't go
into chase mode between axe swings, so they won't creep up on you until
they're forced to go past you.

-----------------------------------------------------------------------------

96/01/12

Sound channel manager written.  This allows interface sound effects to
preempt each other or layer as needed.  This code layer will allow the 3D
sound system to be built on top of it.

-----------------------------------------------------------------------------

96/01/13

Basic 3D sound system in.  The system does distance attenuation, but is not
yet dynamic, and doesn't support stereo or phasing.  Just a few sound effects
are in (switch, breaking pottery, breaking glass), but it does support
relative volume for each sound, which allows the samples to be as hot as
possible.

-----------------------------------------------------------------------------

96/01/14

More significant work on 3D sound code.  It now supports stereo volume and
phase effects.  Still yet to do are dynamic updating of position and
frequency shifting.

Added some player sound effects for jumping, landing, falling, and pushing on
things which don't trigger.

-----------------------------------------------------------------------------

96/01/19

Sound system now supports fixed and dynamic 3d sound effects.  Fixed location
sounds use "bonkles" (see Meaning of Liff), which are automatically recycled
when the sound is complete.  Dynamic sounds are 1 per xsprite, and preempt
each other automatically.

Many new sound effects added, and existing sound effects changed to use
bonkles where appropriate.

Dispersion of Tommy gun increased.

-----------------------------------------------------------------------------

96/01/22

Added flares burning in guys.

-----------------------------------------------------------------------------

96/01/24

Player no longer stutters when injured (this was a particular problem when
burning).

Vector weapons (including melee weapons) now produce a ricochet and sound
effect appropriate for what they hit.  Try stabbing various types of surfaces
and objects with the pitchfork to hear this -- really cool.  Also, listen to
the sounds of bullets ricocheting of walls and things when you are being
shot.

-----------------------------------------------------------------------------

96/01/25

Weapons tweaked for damage: spray flame, shotgun, tommy gun.

Starbust flare added in alt fire for flare gun.

New fonts added for messages.

Added auto aiming for TNT barrels.

Added gaussian grouping for player shotgun vectors.

Reduced sizes of TNT explosions.

-----------------------------------------------------------------------------

96/01/28

Credits screen roughed in with new font.

General optimizations to code, and tweaks made to improve 3D sound system.

Keyboard control code modified to make it much more like Doom.  Hopefully
I've got it right this time.  Turning uses a two-step threshold for
rotational velocity, and player (and dude) movement use drag rather than
friction to slow down.

-----------------------------------------------------------------------------

96/01/30

Added diving suit mask, with (detail option) translucent reflections.

-----------------------------------------------------------------------------

96/02/01

Major optimization to Ken's cansee() function, which was taking up around 20%
of execution time (in worst cases).  This new optimization speeds it up by
about 50%, which is quite noticeable.

-----------------------------------------------------------------------------

96/02/02

MAJOR COOL NEW FEATURE!  Vector masking for masked walls and face sprites!
What this means is that objects and walls can be partially blocking of
bullets depending on their shapes.  For example, you can shoot through the
bars of a grate, but still be able to hit the grate itself.  This is still
pretty unoptimized, so expect some potential speed hits -- also, there's
loads of debugger output.

Debris gibs added.  These are pretty rudimentary for now, but we'll be adding
tables for all the different types of debris soon.  Currently, when dudes
explode, they spawn 20 little "worm" giblets.

-----------------------------------------------------------------------------

96/02/03

Drip generators changed so that spawned drips start at the bottom of the
sprite, rather than the z center.

Parallaxed skies now preload correctly.

Re-enabled falling for all things and dudes, and also optimized the z motion
calculations.  The result is that all things now fall properly, and the frame
rate is back where it is supposed to be.

Optimized vector masking so it only happens for vector weapons.  This
prevents is from slowing the AI down.  We still need to add a replacement for
hitscan to test for arbitrary blocking bits.  I'll be asking Ken about this.

-----------------------------------------------------------------------------

96/02/07

More optimizations for movement/falling.

Vector weapons now transfer a little bit of velocity to whatever they hit.

Axe zombie head gib added.

Menu in place and new dynamic fire font added.

-----------------------------------------------------------------------------

96/02/10

Add the line "AimReticle=1" to the [Options] section of your BLOOD.INI file if
you want the aiming reticle on by default.

-----------------------------------------------------------------------------

96/02/12

Optimization to dynamic sound system.  Improvement in frame frate should be
noticeable on slower machines.

Auto-aiming can now be dynamically turned on and off for individual sprites.
You should start to see smarter aiming for things like stunned zombies and
inactive gargoyles.

-----------------------------------------------------------------------------

96/02/15

More optimizations to sound system.  I've removed the extra allocations that
were being done for spatial phasing by starting the non-delayed channel a few
samples past the beginning for the same effect.

Things now take damage when falling.

Modified some attributes of barrels so that they can explode more easily from
falling.

Fixed memory overwrite bug that would occur if the length of one of the text
over messages was exactly a multiple of 16 (VAB9601 had this problem).

Fixed a bug that was causing solid vertical lines in the dynamic fire menu font.

Fixed a bug which caused actors to behave slightly different each time a level
restarted.  Things should be consistent with each restart now.

Tweaked the way that explosion debris/gibs work slightly.

Fixed an assertion problem with generators with a busy time of 0.  This is a
valid case in which the generator fires of a single trigger.

Hitscan, clipmove, and getzrange now use new engine optimizations.

Breaking glass walls now correctly use 3D sound effects instead of interface
sounds.

-----------------------------------------------------------------------------

96/02/16

Thrown TNT Proximity and Remote bundles now switch to proper animation in the
air, and use correct QAV for throwing.

Menu and message fonts now scale to different screen resolutions properly.

New status bar roughed in.

Key glow view effect added.

Fixed a recently introduced bug which caused missiles to pass harmless through
dudes.

-----------------------------------------------------------------------------

96/02/16

Changed over dude damage shift tables to be a damage scale tables.  The upshot
of this is we have finer control over the resistance of dudes to certain types
of damage.  Since the new tables essential duplicate the old shift tables,
there should be no immediate noticeable change.

Impact triggers for walls now only effect masked walls.  This should prevent
glass windows from shattering if the wall beneath them is shot.

-----------------------------------------------------------------------------

96/02/21

Many changes to overall game code structure dealing with players, with the net
result being that it is much more like a game.  Although you can still start up
a single map by passing it on the command line for testing, you will
normally start a game from the menu.

The menu is much more functional now.  Everything on the Options menu works,
although the sliders aren't visible (still need graphics).

Skill levels added.  You select the skill level when you start a new game.

You can save the curent map using QSSAVE during play.  Use this if you want to
track down any run time wierdness.  This is *not* a real save game.

Beast hands can now do damage.  Try going into beast mode (QSLUST), enabling
all weapons, and choosing weapon 10.  Rip 'em a new one.

Players now retain all weapons and ammo when progressing through levels.

Pressing space bar when you die now restarts the level instead of just reviving
you in single player mode.

Increased the time for which axe zombies are stunned.

-----------------------------------------------------------------------------

96/03/01

More tweaks to keyboard movement.  Changes affect strafe speed and
acceleration, turning acceleration, turning double speed threshold, and drag.

Pressing F2 during play now saves the current game as DEBUG.MAP.  This just
saves the state of the map for debugging purposes, it is not an entire save
game yet.

Sliders now present on menus.

Major change to resource system.  This allows better version control for
resources, but should present no visible differences, other than slightly
smaller RFF files.

Changed default keys for jump, crouch, and alt fire to "A", "Z", and "X",
respectively.

Auto run added.  Default key is CAPSLOCK.

-----------------------------------------------------------------------------
96/03/04

Cheat code for GunsAkimbo = QSWOO

Roughed in Guns Akimbo power-up: Tommy Gun, Flare Gun and Shotgun.
(Still some weapon changing bugs for this power-up.)

Status bar is darker.

Tons of new gibs, ricochets and other effects.

Made physics adjustments to speed up movement on slopes and while strafing.

-----------------------------------------------------------------------------
96/03/05

New game options added to options menu, and options are saved to INI file.

Separated controls for vertical and horizontal bobbing of player in menu.

Super Gibs mode added.

Added reverb echo when wearing diving helmet.

More ricochets and effect sprites added.

-----------------------------------------------------------------------------
96/03/09

Started zombie head explosion gibs and blood spurts.

-----------------------------------------------------------------------------
96/03/11

WARNING: The credit screen has been tweaked, but may still hang - don't run
this if you really just want to play the game.

Miscellaneous optimizations to engine -- new inside() function.

Fixed a memory corruption bug caused by flying zombie heads.  This should fix
miscellaneous crashes when killing zombies, and "stuck" heads.

Menu text now scales down fire texture by 2.

Increased maximum throw velocity and decreased minumum for TNT.

New BLOOD1.MAP and many changes to existing maps.

-----------------------------------------------------------------------------
96/03/14

NEW FEATURES:

	New callback system working to enable many new features as described
	below.

	Spears leave a trail of bubbles.  For now, this works anywhere, not
	just below water.

	You (and anyone else) can kick the zombies severed heads around.  While
	in the air, the head will spin and leave a trail of blood.  Yummy.
	Check out the new soccer map.

	Flare sparks while in air and stuck in targets.

	Blood spurting out of neck of axe zombie when his head gets blown off.

BUG FIXES:

	Dudes now take damage constantly while standing on hazards (such as saw
	blades).

	Flares stay attached to dudes while there are moving around (this
	wasn't working if there was more than one flare in a target).

	Future events can be removed from the event queue, which can now
	prevent problems with callback events appearing after the xobject has
	been turned off and then back on.  This was a problem previously with
	some doors and fireball generators.

-----------------------------------------------------------------------------
96/03/16

NEW FEATURES:

	Missiles now use my VectorScan function instead of ClipMove.  This
	allows missiles to take less processing to move, provides for more
	accurate intersection when they are travelling on a slope, and most
	importantly, allows them to pass through and be blocked by masked walls
	and sprites.

	Flares explode into a shower of sparks on impact, and only stick in
	dudes.  They will still burn things where appropriate, even without
	sticking in them.

	Missiles can break though masked walls such as glass windows and still
	continue movement.

	Starburst flare reduced to producing 10 bursts for more speed.

BUG FIXES:

	NULL pointer bug fixed which was causing fake network mode (and
	hopefully real net mode) to not work properly.  I can't believe this
	wasn't causing serious crashes!

-----------------------------------------------------------------------------
96/03/19

NEW FEATURES:

	Network play is working!  There are still a few quirks, but the basic
	functionality is there.  All serious sync problems resolved.

	Net games start out by default in BloodBath mode.  You can force co-op
	mode by adding the command line parameter "-coop".

BUG FIXES:

	Respawning barrels should no longer cause an assertion failure.

-----------------------------------------------------------------------------
96/03/23

NEW FEATURES:

	Increase speed of checksum calculation for network games.

	Added new robust sync checking option for isolating network problems.

	Cultists throw sticks farther and are more accurate firing.

	Respawning changed.  Everything defaults to optional respawning (load
	and save your maps) in BloodBath mode.

	Increased probability that sticks of dynamite thrown by cultists will
	explode on impact.

BUG FIXES:

	Sync problems from respawning items, menu, and sound effect have
	been fixed.

	Missiles no longer pass through targets.

	Varying detail levels now work across net games.

	Problem with not being able to pick up items from a dead player have
	been fixed.

	Players no longer drop keys in net mode (map keys are permanent).

-----------------------------------------------------------------------------
96/03/26

NEW FEATURES:

	Skill level and player name are transmitted across net games in a
	profile packet.

	Each dude now has an aim location, which for humanoids, is set to the
	center of their chest.

	New user definable messages for locked sprites.

BUG FIXES:

	Made a change which I hope will help with missiles still occasionally
	passing through targets.  Let me know if you still see this problem.

	Changed the way that impulse from explosions is calculated to provide a
	kindler, gentler, damage drop-off.

	Lowered player eye height by 3 pixels so that movement will seem faster
	and aim reticle more closely matches aim vector from weapon z.

-----------------------------------------------------------------------------
96/03/27

NEW FEATURES:

	There is a "grab" zone beneath dudes which allows them to have movement
	control even when they are in the air.  The size of this zone is
	currently set to a value which provides a good mix of control while
	jumping and less control when falling.  This should satisfy George's
	need for "air strafing".

	Basic functioning for armor is in.  Use cheat QSKFA to give yourself
	full armor and weapons (replaces QSAMMO).

BUG FIXES:

	Sound and music volume levels now work correctly after using the new
	setup program.  If you haven't use it yet, you'll probably need to
	increase the volume settings for both of these.

	Program no longer gives invalid id error if Mark's setup program has
	set the music device to "No music" or the sound effect device to "No
	sound".

	Eyeball no longer goes to bogus frames in the menu.

	View bobbing is now conditionally applied at the view stage instead of
	the calculation stage.  In multi-player games, looking through another
	player's view will now correctly reflect the status of your local
	bobbing options, not the other player's.

-----------------------------------------------------------------------------
96/03/28

NEW FEATURES:

	Grab zone (described previously) now has a linear drop-off for control.
	Essentially, the closer you are to the ground, the more control you
	have.

	BloodBath status bar for net games.

	Flare speed increased.

	Shotgun blowback increased.

	Odds of doing special attacks with voodoo doll decreased.

	Increased magnitude of voodoo blindness.

	Explosion damage fall-off increased closer to what it used to be (new
	fall-off was too shallow.)

	Players start off with all keys in BloodBath mode.

BUG FIXES:

	Sliding down slopes has been fixed.

	Divide by 0 error resulting from players starting in same location has
	been fixed.

-----------------------------------------------------------------------------
96/03/30

NEW FEATURES:

	Items on the respawn list now show up as little icons. The color of
	the icon indicates how long the respawn time is. This feature is not
	yet optional, but it will be.

BUG FIXES:

	Things on the respawn lists are now handled differently.

-----------------------------------------------------------------------------
96/04/01

NEW FEATURES:

	Found a missing optimization that increased the speed of the engine by
	100%!

	April fools.

	Modified the flare impact code so that flares can stick in any sprite
	with a surface type of flesh.  This allows you to stick flare in the
	hanging bodies just for fun.

	More internal optionals to allows conditional respawning of keys,
	weapons, ammo, items, dudes, and things.

-----------------------------------------------------------------------------
96/04/04

NEW FEATURES:

	Dead player view now tracks the guy who fragged the player. If the
	fragger is killed, the tracking stops.

-----------------------------------------------------------------------------
96/04/05

NEW FEATURES:

	Aim aim code has been improved.  The tracking speed for each weapon is
	now unique, the relative aiming now handles the players view slope
	correctly, and the target selection is a bit more sophisticated in
	choosing the thing closer to your center of aim, rather the just the
	closest object.

	When firing missile weapons (such as flares), the weapon will auto lead
	the target.

	The single stick has been removed for the player.

	Added new water and lava splash.

BUG FIXES:

	Player names are displayed in upper case in the frag bar, but are not
	permanently converted to upper case.

-----------------------------------------------------------------------------
96/04/08

NEW FEATURES:

	Pan dragging for water now works (again).


BUG FIXES:

	View bobbing was not being properly calculated if vertical or
	horizontal bobbing were turned off.

	Wall and floor panning was not being calculated correctly, resulting in
	the panning speed being dependant on the frame rate.  This has been
	fixed -- check the panning speed in all your maps.

-----------------------------------------------------------------------------
96/04/09

NEW FEATURES:

	Standing on Lava does burn damage.

-----------------------------------------------------------------------------
96/04/12

NEW FEATURES:

	Weapon ammo types are selectable by reselecting the weapon.

	New status bar is in.

	Armor items are available for pickup.

	Miscellaneous tweaks to shotgun and tommy gun accuracy and dispersion.

	Sped up aim tracking for flare gun.

	Upper and lower water linking is now working.

BUG FIXES:

	The elusive network sync problem has finally been eradicated!
	BloodBath games can now run for hours!

-----------------------------------------------------------------------------
96/04/22

NEW FEATURES:

	All armor types are in the game.

	Wind is working

	Some objects (including armor types) are now voxelized.
	* All armor items.
	* The spiky telephone pole.
	* The sideways barrel.
	Ken will eventually give us an editor to smooth and touch up the
	voxel sprites in 3D.

BUG FIXES:

	At the start of a level, all network players now start syncronously.
	This fixes the occasional "Missing Master Packet" problem for slower
	machines which was caused by them overflowing on packets before they
	started.

	Fixed a respawn bug with barrels.

	Fixed some drawing problems with mirrors.

-----------------------------------------------------------------------------
96/04/24

NEW FEATURES:

	Broadcast net mode now working. This is the new default for fewer than
	4 players on a network.

BUG FIXES:

	View now adjusted correctly when near link points. This fixes the head
	through the ceiling problem when surfacing from underwater.

-----------------------------------------------------------------------------
96/04/25

NEW FEATURES:

	Added drowning damage.

	Diving suit works underwater automatically.

	Submerge and emerge sound effects added.

	Intertial view damping provides smoother motion going up stairs,
	jumping, etc.

	External view smoothing added.

	Interpolation for all moving sprites, walls, and sectors.

	Game now detects when another player has quit game and displays an
	appropriate message.

	Water physics for dragging and gravity added/improved.

	All new network code for broadcast and master/slave mode. This code
	incorporates Ken's state of the art 0 lag, timer correction, and sync
	checking techniques.


BUG FIXES:

	Armed proximity bombs placed in maps now explode.

-----------------------------------------------------------------------------
96/04/30

NEW FEATURES:

	Bubbles are spawned when the player dives into water.

	Better tile preloading should prevent more initial cache hits.

BUG FIXES:

	External view mode clips correctly to ceilings and sprites.

-----------------------------------------------------------------------------
96/05/01

NEW FEATURES:

	Crystal ball now works for spying on other players in a network game.
	You can try it out in fake multi-player mode as well if you don't run
	on a network.

	There are now separate tweakable accelerations for each of the player's
	movement modes, including one for underwater.

BUG FIXES:

	Fixed inertial damping lurch between link points.

	Drowning only takes place when the players view is actually underwater,
	not just when he is swimming.

-----------------------------------------------------------------------------
96/05/03

NEW FEATURES:

	More enhancements to water physics. The player floats upwards with a
	little less force, and then transition between water gravity and air
	gravity has been greatly smoothed.

	Crawling mode now works, and has it's own movement posture. The
	acceleration has some problems due to precision in the velocity
	variables. I might try to fix this by using more accurate velocities
	for all xsprites.


BUG FIXES:

	Teleports work again. You can set a delay time for activation in the
	xsector's busy time.

	Dudes no longer bounce off walls. This is a temporary fix until we can
	get the new movement functions from Ken.

-----------------------------------------------------------------------------
96/05/15

NEW FEATURES:

	Increased precision of velocities to 32 bits. This will make all
	movement smoother. This change is now complete, so all velocity
	related problems (like exaggerated bobbing) are fixed.

	Dudes generate various blood splats against the wall. This currently
	happens both above and below water. We will add/improve underwater
	gibs shortly. We already know about the little gotchas with splats
	going on walls that move, so we will be fixing thos soon.

	Explosions cause "shake" effect to view of players within range of the
	explosion.

	Added adjustable water depth for non-linked water areas in maps.

	Crystal Ball now uses nifty lens effect. Try QSTOYS and use the ball.

	Relative texture brightnesses have been added. This means sprites
	are shaded more evenly on textures with very high or low brightness.

	Starburst flares now retain the center flare, burst with greater
	velocity, use fire explosions, and are pretty kick-ass in general.

NOTES:

	Ground friction for sliding things has been increased.

	Increased player acceleration when walking and crawling.

	Raised eye and weapon height in crawl and swim mode.

	Removed weapon sway when idle in water.

	Removed player blowback feature. You are no longer moved when you use
	a weapon.

	We know that you get pushed around a lot when cultist shoot you. This
	feature will soon take player mass into account to dampen the effect.

	FX sprites are now recycled and have individual removal times to help
	keep the frame rate up.

	Everything is now compiled with Watcom 10.6

	Water floating physics have been changed.

-----------------------------------------------------------------------------
96/05/19

NEW FEATURES:

	Firing the shotgun pitched the view back when fired. Other weapons
	will soon follow.

	Crystal ball view shows shake effect for player being viewed.

BUG FIXES:

	Crystal ball view no longer pitches according to whether the player
	being viewed is looking up or down.

-----------------------------------------------------------------------------
96/05/21

NEW FEATURES:

BUG FIXES:

	Blood spurting out of zombie head now spurts out in a spiral again.

-----------------------------------------------------------------------------
96/06/04

NEW FEATURES:

	Visibility is effected from explosions and flares.

	Flames from spray can are now thicker and faster, and hopefully
	more damaging.

BUG FIXES:

	Except when swimming, the jump key works as a 1-shot. You need to
	release the jump key before you can jump again. This prevents
	accidental double-jumps.

	Vertical bobbing should taper off faster when the player stops.

-----------------------------------------------------------------------------
96/06/06

BUG FIXES:

	Fixed problems with starting Blood and utilities under Win95. There
	is a bug in Win95 DPMI host which prevents calling INT 25h. I worked
	around the problem by emulating an INT 13h. If you have Blood installed
	on a disk drive other than your boot drive, you'll need a new key file
	and passcode.

	Fixed a null pointer access in Ken's cache1d system by replacing
	another internal function.

-----------------------------------------------------------------------------
96/06/08

NEW FEATURES:

	BLOOD now completely uses Mark's setup program. The rest of the
	utilities still need to be adapted.

	Still to be done: in-game controls for adjusting mouse axis
	sensitivity.

-----------------------------------------------------------------------------
96/06/11

BUG FIXES:

	ItemLeft, ItemRight, ItemUse, CenterView, and WeaponSelection game
	functions now work correctly as 1-shots (you need to release and press
	the key again). They were previously active as long as you held them
	down.

	Copy protection was branding the wrong version of the brand file,
	which resulted in the key request everytime the program was run.
	Fortunately, this was only an internally released build.

NEW FEATURES:

	Menus have been redesigned for setting up display and controller
	options.

-----------------------------------------------------------------------------
96/06/14

BUG FIXES:

	Fixed falling damage so it works (again). Test your maps for any areas
	that should or should not hurt the player at various skill levels.

	Changed scale of wind to match that of panning and dragging areas.

NEW FEATURES:

	New menu title graphic.

	Menu option for adjusting keyboard turn speed. This should satisfy the
	inveterate tweakers, and provide the ability to customize keyboard
	controls to behave like Doom, Doom 2, or Duke.

	Added control button hot keys for medicine bag, jump boots, and crystal
	ball. Also, holster weapon button has been added back in.

	Automatic screen tilting on slopes added. You can enable/disable this
	via the screen options menu.

-----------------------------------------------------------------------------
96/06/18

BUG FIXES:

	There was a problem with the way the interruptable flag was
	implemented. I don't think it would have ever worked correctly the way
	it was. It should work right now.

	Fixed problems with gib things bouncing indefinately.

	When falling through linked sectors, the z velocity would occasionally
	be affected in a wierd way, resulting in incorrectly diminished z
	velocity. This has been fixed. Falling through links should no longer
	slow down the player.

	If you stood still and jumped from a moving platform, the game would
	treat you as if you were still on the platform, even if it moved out
	from under you. This works correctly now.

NEW FEATURES:

	Rotate and Slide sector types can now combine z-motion with any other
	movement. Just set up the z position the same as you would with a plain
	z-motion sector.

	There are now different waveforms you can assign to describe the motion
	of sectors when going from OFF to ON and vice versa. The waveforms
	currently supported are sinesoidal (default), linear (same as Doom and
	Duke), Slow Off, and Slow On. The Slow Off/Slow On are sort of a cross
	between the sinesoidal and linear movement.

	Sectors can now retrigger themselves from either the ON or OFF state.
	With this addition, you can create sectors which recycle indefinitely.
	You can also adjust the busy time and wait time independantly for
	either state change.

	Setup presents user map names in sorted order for easier selection.

-----------------------------------------------------------------------------
96/06/20

NEW FEATURES:

	Autoslope adjustment added for sectors.

	Continuous motion bobbing roughed in for floors.

BUG FIXES:

	Interruptable sectors were not retriggering automatically if they were
	interrupted.

	Fixed an assembly register usage bug caused when we switched to Watcom
	10.6. This may have been causing crash problems in some of the
	utilities.

	Fixes to the way moving of dudes and things is handled for moving z
	sectors.

	Fixed problem with monsters not going their their death animation when
	they kill themselves firing at a player with reflective shots.

	Setup no longer crashes if you have null pointer checking enabled for
	DOS4G and you try to change button assignments.

-----------------------------------------------------------------------------
96/06/23

NEW FEATURES:

	All vertically moving floors and ceilings now keep track of
	their z velocity. This velocity is used in calculations with
	dudes and things bouncing off them, and impart this velocity to objects
	resting on them. What this means is that collisions with vertical
	moving sectors are now handled correctly. Some benifits of this
	include: players jumping onto platforms that are moving down will no
	longer bounce off the floor as if it were still; platforms are now
	capable of throwing dudes into the air; provided a platform isn't
	moving too fast, a player will smoothly ride it down without being
	"glued" to the floor;

	The 3D sound system has been improved. Sound spacialization is now
	dynamic for the player, which means that as the player moves around and
	turns, the percieved position of the sound will change appropriately
	for sounds in progress. Previously, sounds were only placed at the
	start of sample playing. This will be improved later to include
	movement of the sound source.

-----------------------------------------------------------------------------
96/06/28

NEW FEATURES:

	The sound system now supports moving sound sources. You can hear
	awesome 3D effects when listening to things like a fireball or a flare
	flying by.

	Internal changes to the way that dynamic (moving) sound sources were
	managed result in making it easier to have sounds play for moving
	sprites and preempt each other appropriately. You probably won't see
	any immediate changes from this, but the net result is we'll be able to
	associate more looping type sounds for sprites.

	Bobbing for floor and ceiling flags now work, and the continous motion
	bobbing can be on always, or depending on sector state.

	Sector SFX sprites added. These sprites make sound effects for the
	sectors they are in. When the sector makes the transition from OFF to
	ON, it will play the sound id in data1 when starting, and data2 when
	stopping. When the sectors goes from ON to OFF, it will play first
	data3, then data4. If you use any looped start sounds, make sure you
	provide a stop sound, or it will continue indefinately.

	Ambient sound generators added. These generate non-3D sounds which are
	mixed in constantly at varying levels depending on the player's
	proximity to them. Ambient sound generators use the data1 - data4
	fields to describe their sound:

		data1	: range in pixels at which volume is full
		data2	: range in pixels at which volume is 0
		data3	: sample Id
		data4	: max volume

BUG FIXES:

	There was a problem in the sound system resulting in a dassert when it
	ran out of free bonkles. Hopefully, this has been fixed.

	Water linking in sectors which had z motion or bobbing did not work
	correctly. This has been fixed.

-----------------------------------------------------------------------------
96/07/01

NEW FEATURES:

	Added a bunch of temporary ambient sounds borrowed from another game.
	We'll get LoudMouth to replace these with something similar.

	Added support for continous bobbing of sprites in sectors without
	having the floor or ceiling bob.

BUG FIXES:

	Fixed drawing bug for line map when in high resolution screen modes.

	Explosion sequences no longer get prematurely removed.

	Restored previous values for jump both with and without jump boots.

	Tweaked damage from burning based on not-so-good BloodBath play. Still
	needs work.

	Fixed a crash problem which would occur whenever fat zombies would
	throw their cleavers.

-----------------------------------------------------------------------------
96/07/04

NEW FEATURES:

	Ambient sound generators can now be volume controlled by their state
	and busy value.

-----------------------------------------------------------------------------
96/07/11

BUG FIXES:

	Fixed a reintroduced net sync bug caused by 3D sound code. Argh!

-----------------------------------------------------------------------------
96/07/12

NEW FEATURES:

	Changed dynamic slope alignment so it works with both ceiling and
	floors. Note that you cannot have one surface dynamically aligned and
	the other not.

-----------------------------------------------------------------------------
96/07/20

NEW FEATURES:

	All sound resources have been reorganized within a seperate SOUNDS.RFF.
	The new organization should make it much easier to locate the sounds
	you need for sector effects, ambient effects, and anything else you can
	dream up. There are also a bunch of new sounds effects for you to
	choose from.

	The Doppleganger power up now works, although there isn't too much use
	for it without team play. ;-)

	Sprite switches no longer implicitly play a sound effect when changing
	state. For toggle and 1-way switches, put the ON sound in data1 and the
	OFF sound in data2. For combo switches, put the sound in data4.

BUG FIXES:

	Looped sounds will not be looped when they are played through a dynamic
	channel. There were a few instances where a looping sound would
	continue to play and play and play and play....

	Dead bodies now display with the correct palette lookup table.

	Tweaked the way the damage palette effect occurs so that the screen
	doesn't "red out" for more than a second or two.

	Changed body armor so it no longer reduces pummel damage (which
	includes damage from falling). There were too many cases where a player
	wouldn't die from falling if he had max body armor.

	Armor changed so that it absorbs 25-75% of damage, as opposed to
	50-100%.

	Fixed popping problems with looped sounds. They were looping at 1 byte
	past the end of the sample.
