Commit graph

735 commits

Author SHA1 Message Date
Christoph Oelckers
1ff6dc7c69 - useSeqSpawnerGen 2021-11-29 00:53:36 +01:00
Christoph Oelckers
c59a6bbb86 - clean up some loops 2021-11-29 00:53:36 +01:00
Christoph Oelckers
9714febaab - eliminated the actPostSprite wrapper with an index parameter. 2021-11-29 00:53:36 +01:00
Christoph Oelckers
e0f1948ccc - wrapped all setsprite calls in Blood and adapted a few leftover uses of the index version of actPostSprite. 2021-11-29 00:53:35 +01:00
Christoph Oelckers
5cda9d0858 - tabified two files in Duke that were missed somehow, plus some comment cleanup elsewhere. 2021-11-29 00:53:35 +01:00
Christoph Oelckers
b54d3f3567 - useSpriteDamager + damageSprite 2021-11-29 00:53:35 +01:00
Christoph Oelckers
1689efe698 - useEffectGen + useSectorWindGen 2021-11-29 00:53:35 +01:00
Christoph Oelckers
1847b905ba - useTeleportTarget 2021-11-29 00:53:35 +01:00
Christoph Oelckers
f21dc51207 - usePropertiesChanger 2021-11-29 00:53:34 +01:00
Christoph Oelckers
cd98e940aa - useObjResizer 2021-11-29 00:53:34 +01:00
Christoph Oelckers
63ae861765 - DropVoodooCb 2021-11-29 00:53:34 +01:00
Christoph Oelckers
be9e423d7c - trPlayer* functions. 2021-11-29 00:53:34 +01:00
Christoph Oelckers
470f82bc26 - Blood: fixed loading of actors with extended AI states. 2021-11-29 00:51:35 +01:00
Christoph Oelckers
5732bb2db3 - Blood: fixed loading of maps with tracking conditions.
These use a pointer in the DBloodActor structure, but this part wasn't cleared for sprites loaded with the map.

# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-11-13 13:55:25 +01:00
Christoph Oelckers
401f3cf1d7 - Blood: removed unused CSectorListMgr class. 2021-11-11 23:48:19 +01:00
Christoph Oelckers
9b21233c98 - little bit of cleanup 2021-11-11 23:47:26 +01:00
Christoph Oelckers
642088ed80 - let ValidateSprite print better messages when developer mode is set to warning and also call it for Blood. 2021-11-11 21:28:53 +01:00
Christoph Oelckers
f2e344a235 - removed magic flags added to sector indices in Polymost.
These are better done as separate function arguments.
2021-11-11 21:28:53 +01:00
Christoph Oelckers
9433e9bdb1 - trPlayerCtrlStartScene + changing index to initiator pointer in QAVSCENE.
- clear QAVSCENE's initiator pointer at the start of a level or when it holds an actor that's about to be deleted.

Seems there is no proper bookkeeping here, so until we can GC actors it needs to be done manually.
2021-11-09 23:16:16 +01:00
Christoph Oelckers
ad36916fd3 - formatting again and fallthrough annotations. 2021-11-09 23:11:54 +01:00
Christoph Oelckers
bb094fd003 - 3 smaller functions. 2021-11-09 23:10:34 +01:00
Christoph Oelckers
733d9b2e2b - debrisMove 2021-11-09 23:10:03 +01:00
Christoph Oelckers
942e93b2e7 - debris functions. 2021-11-09 22:51:01 +01:00
Christoph Oelckers
6e2f8ec47f - vel replacements. 2021-11-09 22:49:43 +01:00
Christoph Oelckers
7430a630bd - yet another commit with extracted formatting stuff and minor cleanup.
# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-11-09 22:49:28 +01:00
Christoph Oelckers
5558c3e896 - debrisGetIndex and some related code. 2021-11-09 22:18:38 +01:00
Christoph Oelckers
ce622c9c88 - two missed lines 2021-11-09 21:51:51 +01:00
Christoph Oelckers
5b057415da - sanitized tileGetSurfType. 2021-11-09 21:42:51 +01:00
Christoph Oelckers
9221262dfc - refactoring of all getzrange code to use the Collision struct. 2021-11-09 21:39:59 +01:00
Christoph Oelckers
55362edce4 - cleanup and formatting in getSpriteMassBySize 2021-11-09 21:00:27 +01:00
Christoph Oelckers
6f8fe44bb0 - getSpriteMassBySize 2021-11-09 20:59:52 +01:00
Christoph Oelckers
81c3443af9 - nnExtProcessSuperSprites, plus replacing xindex with actor in TRCONDITION. 2021-11-09 20:58:27 +01:00
Christoph Oelckers
a898dfc4ec - some cleanup in nnExtProcessSuperSprites before refactoring. 2021-11-09 20:46:54 +01:00
Christoph Oelckers
754042e10a - windGenDoVerticalWind 2021-11-09 20:45:10 +01:00
Christoph Oelckers
06be31daea - pure formatting stuff split out of following commit. 2021-11-09 20:43:11 +01:00
Christoph Oelckers
18b608df1a - randomDropPickupObject + randomSpawnDude 2021-11-09 20:40:39 +01:00
Christoph Oelckers
c427669595 - randomGetDataValue 2021-11-09 20:37:10 +01:00
Christoph Oelckers
1cc5dbccb9 - GetDataVal 2021-11-09 20:33:16 +01:00
Christoph Oelckers
762ebafc2a - made clipmoveboxtracenum a function argument of clipmove
There’e zero need for hackery here.
2021-11-08 23:22:48 +01:00
Christoph Oelckers
2d91786516 - changed all sector variables being passed to pushmove to full ints 2021-11-08 23:18:40 +01:00
Christoph Oelckers
3811147f70 - use proper clipmove variant in Blood and Exhumed
This merely extends some shorts to full ints to match the desired parameter's size.
2021-11-08 23:11:30 +01:00
Christoph Oelckers
ae08ae1d8d - some leftover shorts plus utilities that ended up unused but may be useful later. 2021-11-07 16:46:23 +01:00
Christoph Oelckers
d20aa47adf - made sector parameter of updatesectorz an int and deprecated the short version. 2021-11-06 19:27:51 +01:00
Christoph Oelckers
e69e1b9908 - some ?vel replacements. 2021-11-06 18:16:18 +01:00
Christoph Oelckers
cce3d8f440 - some minor stuff 2021-11-06 18:14:39 +01:00
Christoph Oelckers
41316f7f8f - evSend 2021-11-06 18:14:08 +01:00
Christoph Oelckers
b8f8c0fe04 - more changesprite* renaming. 2021-11-06 18:13:16 +01:00
Christoph Oelckers
1bbcca5f28 - nnExtInitModernStuff 2021-11-06 17:21:08 +01:00
Christoph Oelckers
a184d919b8 - brace placement part taken out of following commit. 2021-11-06 17:19:24 +01:00
Christoph Oelckers
5f56423e88 - nnExtEraseModernStuff 2021-11-06 17:19:24 +01:00
Christoph Oelckers
6a96d6c354 - nnExtIsImmune 2021-11-06 17:00:52 +01:00
Christoph Oelckers
6846b50a21 - nnExtSpawnDude 2021-11-06 16:57:24 +01:00
Christoph Oelckers
5ee7505d11 - proper handling of actors in TRCONDITION. 2021-11-06 16:55:27 +01:00
Christoph Oelckers
83fe41e71e - made updatesector receive a 32 bit int pointer and deprecated the 16 bit variant. 2021-11-06 15:53:16 +01:00
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
Christoph Oelckers
44b0e59127 - aiProcessDudes and aiInitSprite done, completing the main pass over ai.cpp. 2021-10-09 23:08:43 +02:00
Christoph Oelckers
29e245dfce - aiProcessDudes, getting rid of the global cumulDamage array and some reformatting 2021-10-09 23:04:29 +02:00
Christoph Oelckers
6968a072ae - another formatting-only commit.
# Conflicts:
#	source/games/blood/src/ai.cpp
2021-10-09 23:04:29 +02:00
Christoph Oelckers
fe92188b0c - removed the dudeIsPlayingSeq variant taking a sprite parameter. 2021-10-09 23:03:09 +02:00
Christoph Oelckers
890cc4947b - use actor parameters for aiSetTarget and aiActivateDude in several places. 2021-10-09 23:03:09 +02:00
Christoph Oelckers
61d9cd1b17 - switched all aiPlay3DSound calls to use actors. 2021-10-09 23:02:40 +02:00
Christoph Oelckers
bdba52aede - refactored aiDamageSprite. 2021-10-09 23:02:20 +02:00
Christoph Oelckers
8606b2ea5a - fixed warnings in Blood. 2021-10-08 19:09:26 +02:00
Christoph Oelckers
9b047c771c - reformatting of aiDamageSprite, no logic change here. 2021-10-07 22:54:18 +02:00
Christoph Oelckers
c8501f8ea6 - refactored aiSetTarget 2021-10-07 22:54:18 +02:00
carnivoroussociety
e6e9bac04b Add ifdef'd correct code for DUDEEXTRA struct saving 2021-10-07 22:51:43 +02:00
carnivoroussociety
8998d92688 Restore original savename variables for DUDEEXTRA struct 2021-10-07 22:51:42 +02:00
carnivoroussociety
8dbd0f10d3 Refactored DUDEEXTRA struct and correctly init state
# Conflicts:
#	source/games/blood/src/aiboneel.cpp
#	source/games/blood/src/aicerber.cpp
#	source/games/blood/src/aigarg.cpp
#	source/games/blood/src/aighost.cpp
#	source/games/blood/src/aitchern.cpp
2021-10-07 22:51:42 +02:00
Christoph Oelckers
8168c6f85c - use the vel() wrappers in a few more places. 2021-10-07 22:48:08 +02:00
Christoph Oelckers
595893a9a0 - added a few more ValidateTarget calls. 2021-10-07 22:48:08 +02:00
Christoph Oelckers
a3a5e7e90b - renamed aiSetTarget. 2021-10-07 22:48:08 +02:00
Mitch Richters
5732ea0233 Revert "- Blood: Use more precision for flicker, quake and tilt effects."
This reverts commit 3c09f41b43.

* Fixes #554.
2021-10-05 08:43:32 +11:00
Christoph Oelckers
95acafdbac - manual update of NBlood commit 24908021f3b844a73de05632565d55d5b71b577c
- Fix kModernCustomDude is not inheriting sprite size if SEQ have zero repeats
- Damage scale tweaks for kModernCustomDude
- Fix hitscan kModernCondition
2021-09-19 16:35:02 +02:00
Christoph Oelckers
1732d206bd - Blood: fixed flare gun no longer being able to set trees on fire.
Somehow a bad damage type got in here...
2021-09-18 20:13:05 +02:00
Christoph Oelckers
11aea1c5d4 - more target replacements. 2021-09-17 20:49:27 +02:00
Christoph Oelckers
b9f6120380 - handle target validations in AI functions properly.
Now they will all print the function name along with the message and not rely on assert abuse.
2021-09-17 20:49:27 +02:00
Christoph Oelckers
261301bdea - replacing target_i, batch 1.
This was the simple stuff, mostly done by search&replacing common patterns.
2021-09-17 20:49:27 +02:00
Christoph Oelckers
90091965ba - replaced most occurences of target_i in already refactored code. 2021-09-17 20:49:27 +02:00
Christoph Oelckers
7a6629ce6a - renamed XSPRITE::target to target_i.
This is to make searching for it easier as 'target' is a very common word in the source.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
774a015e6b - aiChooseDirection and its subfunctions. 2021-09-17 20:49:26 +02:00
Christoph Oelckers
a79d362b40 - dudeIsPlayingSeq + aiPlay3DSound. 2021-09-17 20:49:26 +02:00
Christoph Oelckers
7054313dd4 - formatting only. 2021-09-17 20:49:26 +02:00
Christoph Oelckers
00d0099333 - removed a few compatibility wrappers. 2021-09-17 20:49:26 +02:00
Christoph Oelckers
6a1ffca34f - actCheckExplosion, removed array access from SEQ callbacks in actor.cpp and renamed the two which still had assembly names. 2021-09-17 20:49:25 +02:00
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
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
3c3da13d3f - fixed seqKill actor variant. 2021-09-12 18:17:27 +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
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