This repository has been archived by the owner on Oct 13, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17
/
BLOOD.TXT
1072 lines (732 loc) · 41 KB
/
BLOOD.TXT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
=============================================================================
BLOOD History File
Copyright (c) 1994-95 Q Studios Corporation
Contact: Peter Freese
[email protected] 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.
-----------------------------------------------------------------------------