Commit graph

531 commits

Author SHA1 Message Date
Mitch Richters
1bb0c04e61 Revert "- Blood: Add mechanism to be able to force QAV interpolation based on picnum for testing purposes and not for end-user usage."
This reverts commit 276c000f9f.

* This was added for testing/debugging etc but it really doesn't work unless the QAV is built for it. As such, just get rid of it.
2021-11-06 17:32:55 +11:00
Mitch Richters
8bd2b960ee - Blood: Consolidate duplicated code in viewUpdateShake() into a lambda. 2021-11-06 15:14:25 +11:00
Mitch Richters
7499c84d0b - Add interpolatedhorizon() inlines to handle interpolating fixedhoriz objects without having to convert old and new values back to Q16.16 first. 2021-11-06 14:07:58 +11:00
Christoph Oelckers
d6bdc735d6 - patch up Blood's GetZRange to compile with getzrange_old being gone. 2021-10-30 17:30:03 +02:00
Mitch Richters
0ee3b5af1c - Blood: Replace use of pushmove_old() inline wrapper with pushmove(). 2021-10-30 17:30:02 +02:00
Mitch Richters
b793bc8327 - Blood: Replace use of clipmove_old() inline wrapper with clipmove(). 2021-10-30 17:30:01 +02:00
Mitch Richters
b02a6a3ec9 - Replace MIN() from templates.h with version provided in STL. 2021-10-30 10:36:15 +02:00
Mitch Richters
059a99f7c8 - Blood: Remove costable[]. 2021-10-30 10:24:16 +02:00
Mitch Richters
5a57beb343 - Blood: Replace remaining uses of costable[] with Sin() inlines. 2021-10-30 10:24:16 +02:00
Mitch Richters
ad183b5a3e - Blood: Replace internals of Cos() to use sintable[] array instead of costable[] array. 2021-10-30 10:24:16 +02:00
Mitch Richters
79b3e10f2a - Blood: Replace internals of Sin() to use sintable[] array instead of costable[] array. 2021-10-30 10:24:15 +02:00
Mitch Richters
ead877450d - Blood: Replace CosScale16() with bsin() from backend. 2021-10-30 10:24:15 +02:00
Mitch Richters
3ec1767791 - Blood: Replace SinScale16() with bsin() from backend. 2021-10-30 10:24:15 +02:00
Mitch Richters
e699c264f0 - Blood: Fix missed change integer to enum change for StartQAV() call missed from 77704d54d9. 2021-10-30 10:24:15 +02:00
Mitch Richters
98d3850b95 - Blood: Fix horizon adjustment for death camera to avoid Fixed > Float > Fixed conversion. 2021-10-30 10:24:14 +02:00
Christoph Oelckers
7ebe492e94 - fixed map-spawned actor indexing in Blood.
This is needed for error reporting and the secret hint system.
2021-10-24 09:11:43 +02:00
Christoph Oelckers
da817a234b - fixed bad actor use in actCheckDudes. 2021-10-24 00:06:02 +02:00
Mitch Richters
d30c94c709 - Blood: Re-fix lighter when changing from TNT to aerosol.
* Fixes #564.
2021-10-20 20:58:10 +11:00
Mitch Richters
fc73c67bb1 - Blood: Fix TNT pickup accidentally equipping player with voodoo doll.
* Fixes #544.
* Thanks to @carnivoroussociety for pointing me in the right direction.
2021-10-20 19:58:07 +11:00
Christoph Oelckers
1214f8ba00 - properly macro-fy parsed strings from Blood's INI. 2021-10-19 21:49:03 +02:00
Mitch Richters
df88b23f63 - Blood: Backport GDX fix for lighter just appearing when switching to the aerosol.
* Fixes #564.
* Thanks to @carnivoroussociety for the heads up.
2021-10-19 11:20:44 +11:00
Christoph Oelckers
2396c89fb9 - migrated EVENT to use its actor pointer. 2021-10-14 21:59:49 +02:00
Christoph Oelckers
f430c28f88 - split up evSend
# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-10-14 21:59:49 +02:00
Christoph Oelckers
efc791ee00 - route all remaining calls to evPost and evKill through type specific variants. 2021-10-14 21:59:41 +02:00
Christoph Oelckers
b64aede68e - made patrolBonkles local to the only function using this array. 2021-10-14 20:31:45 +02:00
Christoph Oelckers
71b144023d - renamed evPost to evPostActor and evKill to evKillActor for clarity. 2021-10-14 20:31:17 +02:00
Christoph Oelckers
0ab33b7ffe - need to pass the actor separately to getDataFieldOfObject.
We cannot use rxindex anymore.
2021-10-14 20:28:56 +02:00
Christoph Oelckers
e32ac93d96 - use the actor pointer in rxBuckets. 2021-10-14 20:27:36 +02:00
Christoph Oelckers
b449e0a43b - event redirectors for rxBuckets. 2021-10-14 20:26:42 +02:00
Christoph Oelckers
40a8cd7fa3 - playerQavSceneProcess handled for rxBuckets 2021-10-14 20:25:10 +02:00
Christoph Oelckers
db9d4efdc9 - handled 4 aiFight functions for rxBuckets. 2021-10-14 19:53:08 +02:00
Christoph Oelckers
0ef388538d - refactored 'mate' function for rxBucket. 2021-10-14 19:51:49 +02:00
Christoph Oelckers
1d04ce90e4 - first batch of rxBucket refactoring. 2021-10-14 19:49:18 +02:00
Christoph Oelckers
5d0086cb49 - renamed RXBUCKET.index to rxindex.
This will be needed for refactoring for easier lookup.
2021-10-14 19:41:22 +02:00
Christoph Oelckers
93e909dd58 - use actors in the CFX interface. 2021-10-14 19:41:01 +02:00
Christoph Oelckers
77c827e817 - renamed evKill and added an actor pointer to EVENT struct. 2021-10-14 19:37:53 +02:00
Christoph Oelckers
1e1764eda6 - got rid of fxSpawn. 2021-10-14 19:36:25 +02:00
Christoph Oelckers
085bd3a165 - replaced all fxSpawn calls with fxSpawnActor. 2021-10-14 19:35:05 +02:00
Christoph Oelckers
fbe2373972 - started cleanup of evPost calls by renaming the internal functions.
This just renames things - no changes in functionality.
2021-10-14 19:07:51 +02:00
Christoph Oelckers
2a1f31581c - added null pointer checks to all event callback functions. 2021-10-14 19:07:24 +02:00
Christoph Oelckers
add368433e - sanitized callback interface. 2021-10-14 19:07:00 +02:00
Christoph Oelckers
143e947839 - renamed variable for consistency. 2021-10-14 19:02:48 +02:00
Christoph Oelckers
562968262c - moved spriteMass into DBloodActor 2021-10-14 19:01:10 +02:00
Christoph Oelckers
5519596a94 - refactored global sprite index arrays into pointer arrays. 2021-10-14 18:43:56 +02:00
Christoph Oelckers
b60caa362e - fixed bad merge 2021-10-14 01:15:05 +02:00
Christoph Oelckers
62d0d3712e - use a sprite flag to mark mapped sprites.
This avoids another global array which needs to be addressed by sprite index.
2021-10-14 15:09:43 +02:00
Christoph Oelckers
88e86b4248 - added 0 checks to all divisions for calculating dudeSlope.
I had it happen once that an actor was targeting itself here which resulted in zero distance and a division by zero exception.
2021-10-14 00:06:34 +02:00
Christoph Oelckers
895ecc81bc - const-ified some static arrays.
# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-10-12 21:36:42 +02:00
Christoph Oelckers
3ea4c94266 - removed a few static array references. 2021-10-12 21:36:42 +02:00
Christoph Oelckers
a318129ff3 - iterators in ambient sound code. 2021-10-12 21:36:41 +02:00
Christoph Oelckers
3454fc397e - a few target_i removed.
# Conflicts:
#	source/games/blood/src/ai.cpp
2021-10-12 21:36:41 +02:00
Christoph Oelckers
dc5d32f510 - two missed iterators. 2021-10-12 21:36:41 +02:00
Christoph Oelckers
13348ca428 - a tiny bit of code cleanup. 2021-10-12 21:36:41 +02:00
Christoph Oelckers
b240d2b5bd - aiunicult.cpp is done. 2021-10-12 21:36:41 +02:00
Christoph Oelckers
013eadfd9f - genDudePrepare 2021-10-12 21:36:18 +02:00
Christoph Oelckers
fb5916a3dd - canSwim et.al. 2021-10-12 21:29:12 +02:00
Christoph Oelckers
acec23e034 - ensure the 'slave' array in genDudeExtra is always free of gaps.
This will ensure that adding entries won't accidentally overwrite things.
2021-10-12 21:29:11 +02:00
Christoph Oelckers
6bee3b5ba0 - updateTargetOfSlaves, also storing the slave data as pointers and major cleanup of this function. 2021-10-12 21:29:11 +02:00
Christoph Oelckers
c42e26351e - genDudeSpawn, genDudeTransform and updateTargetOfLeech. 2021-10-12 21:29:11 +02:00
Christoph Oelckers
e41fcb92ab - cleanup and formatting noise again. 2021-10-12 21:29:11 +02:00
Christoph Oelckers
f4fd2a770b - dudeLeechOperate 2021-10-12 21:29:11 +02:00
Christoph Oelckers
e415d93283 - doexplosion 2021-10-12 19:23:25 +02:00
Christoph Oelckers
b1f55434a2 - getRecoilChance + getDodgeChance 2021-10-12 19:23:25 +02:00
Christoph Oelckers
b70368050a - getDispersionModifier and getRangeAttackDist. 2021-10-12 19:23:25 +02:00
Christoph Oelckers
9801ce25dd - scaleDamage 2021-10-12 19:23:24 +02:00
Christoph Oelckers
544145fe4b - reformatting noise split from a larger commit. 2021-10-12 19:23:24 +02:00
Christoph Oelckers
c715ded287 - dudeIsMelee 2021-10-12 19:23:24 +02:00
Christoph Oelckers
eb478ba580 - getNextIncarnation
Event queue handling not refactored yet.
2021-10-12 19:23:24 +02:00
Christoph Oelckers
d892efb78a - killDudeLeech 2021-10-12 19:23:24 +02:00
Christoph Oelckers
040049f83e - more leech stuff.
# Conflicts:
#	source/games/blood/src/ai.cpp
2021-10-12 19:23:23 +02:00
Christoph Oelckers
d2f16ec8ab - leechIsDropped, pLifeLeech 2021-10-12 19:23:23 +02:00
Christoph Oelckers
d907627156 - spriteIsUnderwater 2021-10-12 19:23:23 +02:00
Christoph Oelckers
75258c8b29 - playGenDudeSound. 2021-10-12 19:23:23 +02:00
Christoph Oelckers
ea63229251 - some minor cleanup in aiunicult.cpp.
# Conflicts:
#	source/games/blood/src/aiunicult.cpp
2021-10-12 19:23:22 +02:00
Christoph Oelckers
05571de93a - genDudeUpdate handled. 2021-10-12 19:23:22 +02:00
Christoph Oelckers
49f75e6f51 - 2 more function changed to use actor parameters. 2021-10-12 19:23:22 +02:00
Christoph Oelckers
805ae48607 - ThrowThing cleanup.
Mostly use of VS's rename function.
2021-10-12 19:23:22 +02:00
Christoph Oelckers
c848518746 - use actor parameter in all calls to aiGenDudeNewState.
# Conflicts:
#	source/games/blood/src/aiunicult.cpp
2021-10-12 19:23:22 +02:00
Christoph Oelckers
9de6c7df46 - reformatting commit.
# Conflicts:
#	source/games/blood/src/ai.cpp
2021-10-12 19:23:22 +02:00
Christoph Oelckers
062b3dbf76 - route all access to genDudeExtra through the method in DBloodActor 2021-10-12 19:23:21 +02:00
Christoph Oelckers
cdacf8e470 - fixed badly resolved merge conflict 2021-10-12 00:07:24 +02:00
Christoph Oelckers
64b67291bc - properly write out the genPatrolStates in savegames. 2021-10-11 23:41:44 +02:00
Christoph Oelckers
f370c0f22f - fixed bad null check in aiProcessDudes. 2021-10-11 23:41:04 +02:00
Christoph Oelckers
c6dc564788 - fixed bad target check (again.) 2021-10-11 23:34:49 +02:00
Christoph Oelckers
351dabdb90 - actFireMissile. 2021-10-10 22:36:12 +02:00
Christoph Oelckers
bbe49eee7c - reformatting commit 2021-10-10 11:47:18 +02:00
Christoph Oelckers
c485fce958 - reformatted the actor and ai sources. 2021-10-10 11:47:18 +02:00
Christoph Oelckers
0ee81b2bb8 - refactored the remaining pieces in the ai code to use actors. 2021-10-10 11:47:18 +02:00
Christoph Oelckers
d4439b879c - Blood: added checks to the SEQ code to handle situation where their attached object has been removed from the game. 2021-10-10 11:46:38 +02:00
Christoph Oelckers
62502439d7 - eliminated HITINFO.hitsprite.
This was one of the more annoying sprite index variables because it is part of static global data.
2021-10-09 23:09:09 +02:00
Christoph Oelckers
9b4ee3dc2c - some remaining sprite[] access in ai.cpp
# Conflicts:
#	source/games/blood/src/ai.cpp
2021-10-09 23:09:08 +02:00
Christoph Oelckers
f712a674ce - removed the few remaining uses of actDamageSprite_. 2021-10-09 23:09:08 +02:00
Christoph Oelckers
3ab636a13a - sfxPlay3DSound calls partially migrated. 2021-10-09 23:09:08 +02:00
Christoph Oelckers
741d24b9df - iterators in teslaHit. 2021-10-09 23:09:07 +02:00
Christoph Oelckers
ea7ff0b5eb - parameter stuff in a few weapon functions. 2021-10-09 23:09:07 +02:00
Christoph Oelckers
e64e359d07 - iterators in StompSeqCallback 2021-10-09 23:09:07 +02:00
Christoph Oelckers
39b9ddc04c - target stuff in aiInitSprite 2021-10-09 23:09:07 +02:00
Christoph Oelckers
b8d55feb1e - actor parameter substitution and a few bad constants. 2021-10-09 23:08:44 +02:00
Christoph Oelckers
fbae41ee0a - renamed the sprite variant of aiDamageSprite. 2021-10-09 23:08:43 +02:00
Christoph Oelckers
bbe3f333fa - replaced some GetSpriteExtents calls with GetActorExtents. 2021-10-09 23:08:43 +02:00