Commit graph

1958 commits

Author SHA1 Message Date
Christoph Oelckers
663ecc79d1 - actFireVector 2021-09-17 20:49:25 +02:00
Christoph Oelckers
d6724185b3 - removed a few redundant one-liner functions. 2021-09-17 20:49:25 +02:00
Christoph Oelckers
d7078dda48 - actGetRespawnTime + actCheckRespawn. 2021-09-17 20:49:25 +02:00
Christoph Oelckers
6db18e61d9 - Blood: use a TArray for gPost and store actors as pointers.
This also does not need to be serialized because it gets cleared at the end of each game tick and will always be empty when saving is done.
2021-09-17 20:49:05 +02:00
Christoph Oelckers
4526f4149b - actSpawnThing and actFireThing. 2021-09-16 00:11:20 +02:00
Christoph Oelckers
7c1826e909 - fixed typo in the actor variant of seqKill. 2021-09-16 00:04:18 +02:00
Christoph Oelckers
c5d7455317 - actSpawnDude. 2021-09-16 00:01:16 +02:00
Christoph Oelckers
6be611fd94 - fixed merge. 2021-09-12 18:32:11 +02:00
Christoph Oelckers
d466ea155f - Exhumed: Avoid masking bits into the sector index as well.
# Conflicts:
#	source/games/exhumed/src/player.cpp
2021-09-12 18:28:47 +02:00
Christoph Oelckers
9991e6665c - Exhumed: Avoid masking sound flags into the sprite index.
This put a hard 4096 sprites limit into the engine. It's also a blocker for refactoring.
2021-09-12 18:27:30 +02:00
Christoph Oelckers
d82b7ff51c - Exhumed: renamed disassembly variable. 2021-09-12 18:27:30 +02:00
Christoph Oelckers
f7a475aa94 - Exhumed: fixed sound origin in DoRegenerates.
Should be the actual sprite, not the table index...

# Conflicts:
#	source/games/exhumed/src/items.cpp
2021-09-12 18:27:17 +02:00
Christoph Oelckers
7f485bfab1 - split off the extended sprite flags into their own word.
Some code overwrites the cstat field entirely (thanks Duke, for being sloppy with this...!)
2021-09-12 18:26:35 +02:00
Christoph Oelckers
61bc90949b - Blood: fixed super secret notification on the level summary screen. 2021-09-12 18:17:51 +02:00
Christoph Oelckers
0e82d75325 - SW: fixed recursive saving of panel sprites 2021-09-12 18:17:50 +02:00
Christoph Oelckers
bad57f6a5f - clear pspAsArray at the beginning of a save/load operation, not at the end.
If done at the end it may leave behind some stale data if saving or loading fails for some reason.
2021-09-12 18:17:50 +02:00
Christoph Oelckers
e13426ec6e - SW: avoid crashing when unwinding from a savegame loading error.
The linked list may be incomplete in this case.
Also kept the macro unmangling done to debug this code.
2021-09-12 18:17:50 +02:00
Christoph Oelckers
3c3da13d3f - fixed seqKill actor variant. 2021-09-12 18:17:27 +02:00
Christoph Oelckers
fefc9e91da - rename weaponhit to DDukeActor.
Just make do with one name instead of aliasing it.
2021-08-30 08:12:39 +02:00
Christoph Oelckers
2b6bc414f5 - Duke: fixed a few places using a sprite index where a player index is needed. 2021-08-30 08:08:33 +02:00
Christoph Oelckers
0bd0923f44 - cleaned up some dirty code. 2021-08-30 08:07:40 +02:00
Christoph Oelckers
07eda3cb4a - Duke: don't process input when not in a game. 2021-08-30 08:06:26 +02:00
Christoph Oelckers
bac1480997 - Blood: fixed use of bad index variable in condCheckSector 2021-08-28 18:00:13 +02:00
carnivoroussociety
deefbcf431 Use PlayerName() 2021-08-28 16:46:01 +10:00
carnivoroussociety
2b44f8e79d Carry over team flag fix from nblood 2021-08-28 16:46:01 +10:00
carnivoroussociety
049665e03e Fixed bug collecting lifeleech with ignited tnt/spray 2021-08-28 16:46:01 +10:00
Mitchell Richters
2fbfa82fe8 - Blood: Add interpolated weapon QAVs to WeaponInit() and WeaponPrecache() functions. 2021-08-28 16:43:17 +10:00
Mitchell Richters
726edc199e - Blood: Add SetQAV() static function to abstract away from directly setting the player's weaponQav variable to allow us to properly reset the framerate QAV timer values to 0 as well. 2021-08-28 16:43:17 +10:00
Mitchell Richters
3c09f41b43 - Blood: Use more precision for flicker, quake and tilt effects. 2021-08-28 16:43:16 +10:00
Christoph Oelckers
dc0d201275 - Blood: added serialization for the tracking conditions array. 2021-08-27 18:23:04 +02:00
Mitchell Richters
656ec8ef06 - Blood: Apply a slightly better fix for the akimbo shotgun animation kQAV2SHOTF2 (res_id: 61).
* The issue here is that `pPlayer->weaponTimer` reaches 0 before the animation plays out. This is because the QAV timer has its own ticrate independent of the game's timer.
* A workaround like this is still the best approach for now as its not easily possible to remove `weaponTimer` within the game without messing up the trigger system that runs at ticrate.
2021-08-27 22:18:57 +10:00
Christoph Oelckers
f3e10a595d - Blood: fixed pod fireballs not exploding.
Looks like something went wrong with cleaning out the broken code that once was here.
2021-08-27 13:25:01 +02:00
Christoph Oelckers
e010dce812 - Blood: fixed occasionally disappearing sprites when hitting something with the tesla gun. 2021-08-26 09:31:32 +02:00
Christoph Oelckers
9b061f9829 - Blood: fixed crash with Gargoyle projectiles.
Thanks, MSVC, for not warning about this... :(
2021-08-26 08:18:24 +02:00
Christoph Oelckers
1fbaeceada - Blood: avoid double free of sprites.
This happened to me once in Death Wish.
2021-08-26 08:18:23 +02:00
carnivoroussociety
03e6bb3696 Skip CheckProximityWall when newSectCheckMethod is set
Fixes edge case where CheckProximityWall misses
2021-08-26 08:02:11 +02:00
Mitchell Richters
6d06f063f6 - Blood: Directly use the incoming loopable bool from gi->AddQAVInterpProps() in the QAVInterpProps struct.
* During the initial implementation, there were more flags than this single one. I don't foresee any further flags coming so lets go for cleaner code.
2021-08-26 11:20:26 +10:00
Christoph Oelckers
c80831555c - Blood: fixed broken missile collision checks.
Curse that stupid bit masking madness in clipmove. As long as this code isn't properly abstracted, we still need to handle it on the game side.
2021-08-25 08:47:40 +02:00
Christoph Oelckers
0cad0b9258 - reformatting the mess created by TortoiseMerge. 2021-08-25 08:46:31 +02:00
Christoph Oelckers
c288de920d - Blood: don't abort the INI scanner if it finds a file with resource file index 0.
0 is also used for on-the-fly addition of data to the file system, so this must run through the entire directory to be safe.
2021-08-24 18:40:29 +02:00
Christoph Oelckers
90b7524706 - SW: fixed episode indexing resulting in bad display on the automap. 2021-08-24 09:57:36 +02:00
Mitchell Richters
5a32000d1e - Blood: Interpolate the alpha and shade values when interpolating QAVs. 2021-08-24 10:07:58 +10:00
Mitchell Richters
b1fa923f02 - Blood: Re-organise QAVInterpProps struct so that when statically declaring forcedinterpdata, only the required value needs passing. 2021-08-24 10:06:54 +10:00
Mitchell Richters
542f005565 - Blood: Fixed weapon switching while using Voodoo Doll playing its idle animation.
* Fixes #517.
2021-08-24 07:25:52 +10:00
Christoph Oelckers
feb11a2f9a - fixed one merge conflict that managed to slip through. 2021-08-23 19:24:56 +02:00
Christoph Oelckers
0e7c61dc33 - tabified code. 2021-08-23 19:21:41 +02:00
Christoph Oelckers
ac40e86ab2 - actSpawnSprite
# Conflicts:
#	source/games/blood/src/actor.cpp

# Conflicts:
#	source/games/blood/src/actor.cpp
2021-08-23 19:20:05 +02:00
Christoph Oelckers
ebdb4927cc - got rid of a few sprite/xsprite references.
# Conflicts:
#	source/games/blood/src/actor.cpp
2021-08-23 19:19:36 +02:00
Christoph Oelckers
2cfb4f908e - actProcessSprites done.
# Conflicts:
#	source/games/blood/src/actor.cpp

# Conflicts:
#	source/games/blood/src/actor.cpp

# Conflicts:
#	source/games/blood/src/actor.cpp
2021-08-23 19:18:22 +02:00
Christoph Oelckers
7faebdcbf1 - first two loops of actProcessSprites split off and redone.
# Conflicts:
#	source/games/blood/src/actor.cpp
2021-08-23 19:15:18 +02:00
Christoph Oelckers
ddcb12a8b2 - MoveMissile + actExplodeSprite.
# Conflicts:
#	source/games/blood/src/actor.cpp
2021-08-23 19:15:08 +02:00
Christoph Oelckers
29c2e68270 - tabified MoveDude
# Conflicts:
#	source/games/blood/src/actor.cpp
2021-08-23 19:13:29 +02:00
Christoph Oelckers
8c01c363a9 - replaced remaining access to sprite[] and xsprite[] in processed code.
# Conflicts:
#	source/games/blood/src/actor.cpp

# Conflicts:
#	source/games/blood/src/actor.cpp

# Conflicts:
#	source/games/blood/src/actor.cpp
2021-08-23 19:13:28 +02:00
Christoph Oelckers
c1d52f7393 - replaced all occurences of gDudeExtra and moved that struct into DBloodActor.
# Conflicts:
#	source/games/blood/src/ai.cpp
2021-08-23 19:13:28 +02:00
Christoph Oelckers
4fed1debe4 - moveDude part 1. 2021-08-23 19:13:28 +02:00
Christoph Oelckers
3aa9d6f8be - MoveThing.
# Conflicts:
#	source/games/blood/src/actor.cpp
2021-08-23 19:12:58 +02:00
carnivoroussociety
e74e581637 Fix issues with self collision on MoveMissile()
Only with new accurate clipmove() use
2021-08-23 18:40:38 +02:00
Mitchell Richters
4ffd02b1e1 - Blood: Declare qavGetInterpType() as static within qav.cpp. 2021-08-23 21:00:45 +10:00
Mitchell Richters
276c000f9f - Blood: Add mechanism to be able to force QAV interpolation based on picnum for testing purposes and not for end-user usage. 2021-08-23 20:54:30 +10:00
carnivoroussociety
2365be7c95 Add modern map kViewEffectSpotProgress support
Fix kViewEffectShowWeapon positional/angle offset for voodoo doll
2021-08-23 19:28:32 +10:00
Mitchell Richters
62e1fdf709 - Blood: Fix handling of QAVs defined as loopable while interpolating. 2021-08-23 12:05:13 +10:00
Mitchell Richters
ddc7b3d730
Merge branch 'master' into master 2021-08-23 11:40:05 +10:00
Mitchell Richters
ebdc9c31f2 - Blood: Ensure new QAV timer doesn't process while game is paused. 2021-08-23 11:05:08 +10:00
Mitchell Richters
1ee6fd76c4 Merge branch 'blood-qavrework'
# Conflicts:
#	source/core/gamecvars.cpp
#	source/core/gamecvars.h
#	source/games/blood/src/weapon.cpp
2021-08-23 11:02:09 +10:00
Mitchell Richters
d7450e12f0 - Blood: Re-add interpolated weapon QAVs in an externalised, disabled-by-default fashion. 2021-08-23 10:55:08 +10:00
Mitchell Richters
6975997ae3 - Blood: Remove weaponQAV[] array entirely. 2021-08-23 10:49:47 +10:00
Mitchell Richters
5bfdd74844 - Blood: Revert "- Blood: Ensure looped QAVs interpolate using last frame in the array." 2021-08-23 09:32:00 +10:00
Mitchell Richters
916241dcdb - Blood: Implement defineqav DEF parser with hookup to game-side code. 2021-08-23 09:00:47 +10:00
Mitchell Richters
da78160cd1 - Blood: Revert code to dump out QAVs to disk and remove all hard-coded interpolation repairs. 2021-08-22 21:20:15 +10:00
carnivoroussociety
72225c9b8c Added various missing item/ammo types to common_game.h
Renamed kAmmoItemVoodooDoll->kItemAmmoVoodooDoll
Renamed kMissileFireballNapam->kMissileFireballNapalm
2021-08-22 17:49:02 +10:00
Mitchell Richters
499e400cdb - Blood: Add command-line switch to dump repaired QAVs back out to disk so that they can be included in raze.pk3.
* This required restoring the original struct temporarily to ensure contents dumped to disk were 1:1 with how they came in.
2021-08-22 15:22:58 +10:00
Mitchell Richters
a681aad281 - Blood: Add interpolation repair and properties for kQAVLITEFLAM (res_id: 5). 2021-08-22 15:03:20 +10:00
Mitchell Richters
6256de8013 - Blood: Extend interpolation repair for kQAVBUNUP (res_id: 16) to add missing tile in first frame. 2021-08-22 11:23:29 +10:00
Mitchell Richters
2edbd3447c - Blood: Extend interpolation properties for kQAVBUNFUSE (res_id: 21) to stop interpolating all tiles after frame 6 and not just tile index 4. 2021-08-22 10:55:01 +10:00
Mitchell Richters
7e8ec89a68 - Blood: Add interpolation repair for kQAVSTAFDOWN (res_id: 119). 2021-08-22 08:18:17 +10:00
Mitchell Richters
a03848d1f8 - Blood: Add interpolation repair for kQAVSTAFIRE4 (res_id: 116). 2021-08-22 08:18:14 +10:00
Mitchell Richters
fb084734e3 - Blood: Add interpolation repair for kQAVVDSPEL1 (res_id: 110). 2021-08-22 08:18:00 +10:00
Mitchell Richters
0172373650 - Blood: Add interpolation repair for kQAVVDDOWN (res_id: 109). 2021-08-22 08:17:50 +10:00
Mitchell Richters
95878bcea1 - Blood: Add interpolation repair for kQAVVDFIRE4 (res_id: 106) and kQAVVDFIRE5 (res_id: 107). 2021-08-22 08:17:47 +10:00
Mitchell Richters
d34fd124b7 - Blood: Add interpolation repair for kQAVVDFIRE3 (res_id: 105). 2021-08-22 08:17:44 +10:00
Mitchell Richters
a3a2cd8da8 - Blood: Add interpolation repair for kQAVVDFIRE1 (res_id: 103) and kQAVVDFIRE2 (res_id: 104). 2021-08-22 08:17:37 +10:00
Mitchell Richters
dd1e716082 - Blood: Extend backported voodoo doll fix from BloodGDX to always use kQAVVDIDLE2 when the player is moving. As kQAVVDIDLE2 has moving frames and is not a static idle animation, call it via StartQAV() so that weaponTimer is started. 2021-08-22 08:17:33 +10:00
Mitchell Richters
cd092153eb - Blood: Mark kQAVVDIDLE2 (res_id: 102) as being loopable. 2021-08-22 08:17:14 +10:00
Mitchell Richters
803e9f8a04 - Blood: Add interpolation repair for kQAVVDIDLE2 (res_id: 102). 2021-08-22 08:16:41 +10:00
Mitchell Richters
1fd66681d2 - Blood: Add interpolation repair for kQAVVDUP (res_id: 100). 2021-08-22 08:15:53 +10:00
Mitchell Richters
3a656c91cb - Blood: Mark kQAVNAPFIRE (res_id: 91) as being loopable. 2021-08-22 08:15:43 +10:00
Mitchell Richters
d4fe734afa - Blood: Add interpolation repair for kQAVNAPUP (res_id: 89). 2021-08-22 08:14:47 +10:00
Mitchell Richters
99ab8fa726 - Blood: Add interpolation repair for kQAV2SGUNPRE (res_id: 86). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly. 2021-08-22 08:14:45 +10:00
Mitchell Richters
ed92ec9af9 - Blood: Add interpolation repair for kQAV2SGUNALT (res_id: 85). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly. 2021-08-22 08:14:42 +10:00
Mitchell Richters
b2637050e8 - Blood: Mark kQAV2SGUNFIR (res_id: 84) as being loopable. 2021-08-22 08:14:33 +10:00
Mitchell Richters
22e348613f - Blood: Add interpolation repair for kQAV2SGUNFIR (res_id: 84). Thanks to @Phredreeke for the tiles with overlays baked in for this to work properly. 2021-08-22 08:14:05 +10:00
Mitchell Richters
073f0d953f - Blood: Add interpolation repair for kQAV2SGUNUP (res_id: 82). 2021-08-22 08:14:03 +10:00
Mitchell Richters
7bbf478859 - Blood: Add interpolation repair for kQAVSGUNPOST (res_id: 80). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly. 2021-08-22 08:14:00 +10:00
Mitchell Richters
df3bc4d90a - Blood: Add interpolation repair for kQAVSGUNPRE (res_id: 79). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly. 2021-08-22 08:13:58 +10:00
Mitchell Richters
1033049b8c - Blood: Add interpolation repair for kQAVSGUNFIR4 (res_id: 78). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly. 2021-08-22 08:13:49 +10:00
Mitchell Richters
1f6bfd7693 - Blood: Mark kQAVSGUNFIR1 (res_id: 77) as being loopable. 2021-08-22 07:58:40 +10:00
Mitchell Richters
2ff1bdfd7d - Blood: Add interpolation repair for kQAVSGUNFIR1 (res_id: 77). Thanks to @Phredreeke for the tiles with overlays baked in for this to work properly. 2021-08-22 07:58:14 +10:00
Mitchell Richters
5160b7649c - Blood: Add interpolation repair for kQAVSGUNIDL1 (res_id: 75). 2021-08-22 07:58:11 +10:00
Mitchell Richters
7eca7ea166 - Blood: Add interpolation repair for kQAVSGUNUP (res_id: 74). 2021-08-22 07:58:09 +10:00
Mitchell Richters
df5185038f - Blood: Mark kQAV2TOMALT (res_id: 73) as being loopable. 2021-08-22 07:57:57 +10:00