12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073 |
- =============================================================================
- 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
- S and +/- Change player spring coefficient
- X jump
- V toggle external view (Alt-V rotates view)
- Z Secondary fire key
- C Crouch
- Ctrl Primary fire
- Alt strafe
- 1 - 9 Selects/deselects weapon (only pitchfork, tommy gun, shotgun
- for now)
- F1 Help (not implemented)
- F2
- F3
- F4
- F5
- 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
- QSAMMO Full ammo
- 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
- =============================================================================
- 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.
|