From 8ee7c188b7e9dcf436a2bef0b7140fea8023cc83 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 7 Oct 2023 22:11:17 +0200 Subject: [PATCH] remove the native AISTATEs. --- source/games/blood/src/ai.cpp | 3 - source/games/blood/src/ai.h | 20 -- source/games/blood/src/aibat.cpp | 32 --- source/games/blood/src/aibeast.cpp | 32 --- source/games/blood/src/aiboneel.cpp | 31 --- source/games/blood/src/aiburn.cpp | 40 ---- source/games/blood/src/aicaleb.cpp | 28 --- source/games/blood/src/aicerber.cpp | 26 -- source/games/blood/src/aicult.cpp | 43 ---- source/games/blood/src/aigarg.cpp | 40 ---- source/games/blood/src/aighost.cpp | 31 --- source/games/blood/src/aigilbst.cpp | 28 --- source/games/blood/src/aihand.cpp | 12 - source/games/blood/src/aihound.cpp | 13 - source/games/blood/src/aiinnoc.cpp | 11 - source/games/blood/src/aipod.cpp | 21 -- source/games/blood/src/airat.cpp | 12 - source/games/blood/src/aispid.cpp | 14 -- source/games/blood/src/aistate.h | 358 ---------------------------- source/games/blood/src/aitchern.cpp | 16 -- source/games/blood/src/aizomba.cpp | 29 --- source/games/blood/src/aizombf.cpp | 16 -- source/games/blood/src/blood.h | 1 - source/games/blood/src/db.h | 3 - source/games/blood/src/mapstructs.h | 1 - 25 files changed, 861 deletions(-) delete mode 100644 source/games/blood/src/aistate.h diff --git a/source/games/blood/src/ai.cpp b/source/games/blood/src/ai.cpp index bbbca38e1..7e1f2c43e 100644 --- a/source/games/blood/src/ai.cpp +++ b/source/games/blood/src/ai.cpp @@ -32,9 +32,6 @@ BEGIN_BLD_NS void RecoilDude(DBloodActor* actor); -AISTATE genIdle = { kAiStateGenIdle, 0, nullptr, 0, NULL, NULL, NULL, NULL }; -AISTATE genRecoil = { kAiStateRecoil, 5, nullptr, 20, NULL, NULL, NULL, &genIdle }; - const int gCultTeslaFireChance[5] = { 0x2000, 0x4000, 0x8000, 0xa000, 0xe000 }; //--------------------------------------------------------------------------- diff --git a/source/games/blood/src/ai.h b/source/games/blood/src/ai.h index 70d5b23ef..6bf9df6db 100644 --- a/source/games/blood/src/ai.h +++ b/source/games/blood/src/ai.h @@ -29,26 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -struct AISTATE { - int stateType; // By NoOne: current type of state. Basically required for kModernDudeTargetChanger, but can be used for something else. - int seqId; - VMNativeFunction** funcId; - int stateTicks; -#if 0 - void(*enterFunc)(DBloodActor *); - void(*moveFunc)(DBloodActor *); - void(*thinkFunc)(DBloodActor *); -#else - VMNativeFunction** enterFunc; - VMNativeFunction** moveFunc; - VMNativeFunction** thinkFunc; -#endif - AISTATE *nextState; -}; -extern AISTATE aiState[]; -extern AISTATE genIdle; -extern AISTATE genRecoil; - enum AI_SFX_PRIORITY { AI_SFX_PRIORITY_0 = 0, AI_SFX_PRIORITY_1, diff --git a/source/games/blood/src/aibat.cpp b/source/games/blood/src/aibat.cpp index ecd8495d7..afca77cf0 100644 --- a/source/games/blood/src/aibat.cpp +++ b/source/games/blood/src/aibat.cpp @@ -29,38 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void batThinkTarget(DBloodActor*); -static void batThinkSearch(DBloodActor*); -static void batThinkGoto(DBloodActor*); -static void batThinkPonder(DBloodActor*); -static void batMoveDodgeUp(DBloodActor*); -static void batMoveDodgeDown(DBloodActor*); -static void batThinkChase(DBloodActor*); -static void batMoveForward(DBloodActor*); -static void batMoveSwoop(DBloodActor*); -static void batMoveFly(DBloodActor*); -static void batMoveToCeil(DBloodActor*); - - -AISTATE batIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(batThinkTarget), NULL }; -AISTATE batFlyIdle = { kAiStateIdle, 6, nullptr, 0, NULL, NULL, &AF(batThinkTarget), NULL }; -AISTATE batChase = { kAiStateChase, 6, nullptr, 0, NULL, &AF(batMoveForward), &AF(batThinkChase), &batFlyIdle }; -AISTATE batPonder = { kAiStateOther, 6, nullptr, 0, NULL, NULL, &AF(batThinkPonder), NULL }; -AISTATE batGoto = { kAiStateMove, 6, nullptr, 600, NULL, &AF(batMoveForward), &AF(batThinkGoto), &batFlyIdle }; -AISTATE batBite = { kAiStateChase, 7, &AF(batBiteSeqCallback), 60, NULL, NULL, NULL, &batPonder }; -AISTATE batRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &batChase }; -AISTATE batSearch = { kAiStateSearch, 6, nullptr, 120, NULL, &AF(batMoveForward), &AF(batThinkSearch), &batFlyIdle }; -AISTATE batSwoop = { kAiStateOther, 6, nullptr, 60, NULL, &AF(batMoveSwoop), &AF(batThinkChase), &batChase }; -AISTATE batFly = { kAiStateMove, 6, nullptr, 0, NULL, &AF(batMoveFly), &AF(batThinkChase), &batChase }; -AISTATE batTurn = { kAiStateMove, 6, nullptr, 60, NULL, &AF(aiMoveTurn), NULL, &batChase }; -AISTATE batHide = { kAiStateOther, 6, nullptr, 0, NULL, &AF(batMoveToCeil), &AF(batMoveForward), NULL }; -AISTATE batDodgeUp = { kAiStateMove, 6, nullptr, 120, NULL, &AF(batMoveDodgeUp), 0, &batChase }; -AISTATE batDodgeUpRight = { kAiStateMove, 6, nullptr, 90, NULL, &AF(batMoveDodgeUp), 0, &batChase }; -AISTATE batDodgeUpLeft = { kAiStateMove, 6, nullptr, 90, NULL, &AF(batMoveDodgeUp), 0, &batChase }; -AISTATE batDodgeDown = { kAiStateMove, 6, nullptr, 120, NULL, &AF(batMoveDodgeDown), 0, &batChase }; -AISTATE batDodgeDownRight = { kAiStateMove, 6, nullptr, 90, NULL, &AF(batMoveDodgeDown), 0, &batChase }; -AISTATE batDodgeDownLeft = { kAiStateMove, 6, nullptr, 90, NULL, &AF(batMoveDodgeDown), 0, &batChase }; - void batBiteSeqCallback(DBloodActor* actor) { if (!actor->ValidateTarget(__FUNCTION__)) return; diff --git a/source/games/blood/src/aibeast.cpp b/source/games/blood/src/aibeast.cpp index 63881dd40..812b581a5 100644 --- a/source/games/blood/src/aibeast.cpp +++ b/source/games/blood/src/aibeast.cpp @@ -29,38 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void MorphToBeast(DBloodActor*); -static void beastThinkSearch(DBloodActor*); -static void beastThinkGoto(DBloodActor*); -static void beastThinkChase(DBloodActor*); -static void beastThinkSwimGoto(DBloodActor*); -static void beastThinkSwimChase(DBloodActor*); -static void beastMoveForward(DBloodActor*); -static void beastMoveSwim(DBloodActor*); -static void beastMoveSwimAlt(DBloodActor*); -static void beastMoveIn(DBloodActor*); - -AISTATE beastIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE beastChase = { kAiStateChase, 8, nullptr, 0, NULL, &AF(beastMoveForward), &AF(beastThinkChase), NULL }; -AISTATE beastDodge = { kAiStateMove, 8, nullptr, 60, NULL, &AF(aiMoveDodge), NULL, &beastChase }; -AISTATE beastGoto = { kAiStateMove, 8, nullptr, 600, NULL, &AF(beastMoveForward), &AF(beastThinkGoto), &beastIdle }; -AISTATE beastSlash = { kAiStateChase, 6, &AF(SlashSeqCallback), 120, NULL, NULL, NULL, &beastChase }; -AISTATE beastStomp = { kAiStateChase, 7, &AF(StompSeqCallback), 120, NULL, NULL, NULL, &beastChase }; -AISTATE beastSearch = { kAiStateSearch, 8, nullptr, 120, NULL, &AF(beastMoveForward), &AF(beastThinkSearch), &beastIdle }; -AISTATE beastRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &beastDodge }; -AISTATE beastTeslaRecoil = { kAiStateRecoil, 4, nullptr, 0, NULL, NULL, NULL, &beastDodge }; -AISTATE beastSwimIdle = { kAiStateIdle, 9, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE beastSwimChase = { kAiStateChase, 9, nullptr, 0, NULL, &AF(beastMoveSwim), &AF(beastThinkSwimChase), NULL }; -AISTATE beastSwimDodge = { kAiStateMove, 9, nullptr, 90, NULL, &AF(aiMoveDodge), NULL, &beastSwimChase }; -AISTATE beastSwimGoto = { kAiStateMove, 9, nullptr, 600, NULL, &AF(beastMoveForward), &AF(beastThinkSwimGoto), &beastSwimIdle }; -AISTATE beastSwimSearch = { kAiStateSearch, 9, nullptr, 120, NULL, &AF(beastMoveForward), &AF(beastThinkSearch), &beastSwimIdle }; -AISTATE beastSwimSlash = { kAiStateChase, 9, &AF(SlashSeqCallback), 0, NULL, NULL, &AF(beastThinkSwimChase), &beastSwimChase }; -AISTATE beastSwimRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &beastSwimDodge }; -AISTATE beastMorphToBeast = { kAiStateOther, -1, nullptr, 0, &AF(MorphToBeast), NULL, NULL, &beastIdle }; -AISTATE beastMorphFromCultist = { kAiStateOther, 2576, nullptr, 0, NULL, NULL, NULL, &beastMorphToBeast }; -AISTATE beastMoveSwimChaseAlt = { kAiStateOther, 9, nullptr, 120, NULL, &AF(beastMoveSwimAlt), &AF(beastThinkSwimChase), &beastSwimChase }; -AISTATE beastSwimAttack = { kAiStateOther, 9, nullptr, 0, NULL, &AF(beastMoveIn), &AF(beastThinkSwimChase), &beastSwimChase }; -AISTATE beastSwimTurn = { kAiStateOther, 9, nullptr, 120, NULL, &AF(aiMoveTurn), NULL, &beastSwimChase }; void SlashSeqCallback(DBloodActor* actor) { diff --git a/source/games/blood/src/aiboneel.cpp b/source/games/blood/src/aiboneel.cpp index a1e32dbcd..37be55035 100644 --- a/source/games/blood/src/aiboneel.cpp +++ b/source/games/blood/src/aiboneel.cpp @@ -29,37 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void eelThinkTarget(DBloodActor*); -static void eelThinkSearch(DBloodActor*); -static void eelThinkGoto(DBloodActor*); -static void eelThinkPonder(DBloodActor*); -static void eelMoveDodgeUp(DBloodActor*); -static void eelMoveDodgeDown(DBloodActor*); -static void eelThinkChase(DBloodActor*); -static void eelMoveForward(DBloodActor*); -static void eelMoveSwoop(DBloodActor*); -static void eelMoveAscend(DBloodActor* actor); -static void eelMoveToCeil(DBloodActor*); - - -AISTATE eelIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(eelThinkTarget), NULL }; -AISTATE eelFlyIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(eelThinkTarget), NULL }; -AISTATE eelChase = { kAiStateChase, 0, nullptr, 0, NULL, &AF(eelMoveForward), &AF(eelThinkChase), &eelIdle }; -AISTATE eelPonder = { kAiStateOther, 0, nullptr, 0, NULL, NULL, &AF(eelThinkPonder), NULL }; -AISTATE eelGoto = { kAiStateMove, 0, nullptr, 600, NULL, NULL, &AF(eelThinkGoto), &eelIdle }; -AISTATE eelBite = { kAiStateChase, 7, &AF(eelBiteSeqCallback), 60, NULL, NULL, NULL, &eelChase }; -AISTATE eelRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &eelChase }; -AISTATE eelSearch = { kAiStateSearch, 0, nullptr, 120, NULL, &AF(eelMoveForward), &AF(eelThinkSearch), &eelIdle }; -AISTATE eelSwoop = { kAiStateOther, 0, nullptr, 60, NULL, &AF(eelMoveSwoop), &AF(eelThinkChase), &eelChase }; -AISTATE eelFly = { kAiStateMove, 0, nullptr, 0, NULL, &AF(eelMoveAscend), &AF(eelThinkChase), &eelChase }; -AISTATE eelTurn = { kAiStateMove, 0, nullptr, 60, NULL, &AF(aiMoveTurn), NULL, &eelChase }; -AISTATE eelHide = { kAiStateOther, 0, nullptr, 0, NULL, &AF(eelMoveToCeil), &AF(eelMoveForward), NULL }; -AISTATE eelDodgeUp = { kAiStateMove, 0, nullptr, 120, NULL, &AF(eelMoveDodgeUp), NULL, &eelChase }; -AISTATE eelDodgeUpRight = { kAiStateMove, 0, nullptr, 90, NULL, &AF(eelMoveDodgeUp), NULL, &eelChase }; -AISTATE eelDodgeUpLeft = { kAiStateMove, 0, nullptr, 90, NULL, &AF(eelMoveDodgeUp), NULL, &eelChase }; -AISTATE eelDodgeDown = { kAiStateMove, 0, nullptr, 120, NULL, &AF(eelMoveDodgeDown), NULL, &eelChase }; -AISTATE eelDodgeDownRight = { kAiStateMove, 0, nullptr, 90, NULL, &AF(eelMoveDodgeDown), NULL, &eelChase }; -AISTATE eelDodgeDownLeft = { kAiStateMove, 0, nullptr, 90, NULL, &AF(eelMoveDodgeDown), NULL, &eelChase }; void eelBiteSeqCallback(DBloodActor* actor) { diff --git a/source/games/blood/src/aiburn.cpp b/source/games/blood/src/aiburn.cpp index edfcd84f0..35fbb5830 100644 --- a/source/games/blood/src/aiburn.cpp +++ b/source/games/blood/src/aiburn.cpp @@ -29,46 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void burnThinkSearch(DBloodActor*); -static void burnThinkGoto(DBloodActor*); -static void burnThinkChase(DBloodActor*); - -AISTATE cultistBurnIdle = { kAiStateIdle, 3, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE cultistBurnChase = { kAiStateChase, 3, nullptr, 0, NULL, &AF(aiMoveForward), &AF(burnThinkChase), NULL }; -AISTATE cultistBurnGoto = { kAiStateMove, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkGoto), &cultistBurnSearch }; -AISTATE cultistBurnSearch = { kAiStateSearch, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkSearch), &cultistBurnSearch }; -AISTATE cultistBurnAttack = { kAiStateChase, 3, &AF(BurnSeqCallback), 120, NULL, NULL, NULL, &cultistBurnChase }; - -AISTATE zombieABurnChase = { kAiStateChase, 3, nullptr, 0, NULL, &AF(aiMoveForward), &AF(burnThinkChase), NULL }; -AISTATE zombieABurnGoto = { kAiStateMove, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkGoto), &zombieABurnSearch }; -AISTATE zombieABurnSearch = { kAiStateSearch, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkSearch), NULL }; -AISTATE zombieABurnAttack = { kAiStateChase, 3, &AF(BurnSeqCallback), 120, NULL, NULL, NULL, &zombieABurnChase }; - -AISTATE zombieFBurnChase = { kAiStateChase, 3, nullptr, 0, NULL, &AF(aiMoveForward), &AF(burnThinkChase), NULL }; -AISTATE zombieFBurnGoto = { kAiStateMove, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkGoto), &zombieFBurnSearch }; -AISTATE zombieFBurnSearch = { kAiStateSearch, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkSearch), NULL }; -AISTATE zombieFBurnAttack = { kAiStateChase, 3, &AF(BurnSeqCallback), 120, NULL, NULL, NULL, &zombieFBurnChase }; - -AISTATE innocentBurnChase = { kAiStateChase, 3, nullptr, 0, NULL, &AF(aiMoveForward), &AF(burnThinkChase), NULL }; -AISTATE innocentBurnGoto = { kAiStateMove, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkGoto), &zombieFBurnSearch }; -AISTATE innocentBurnSearch = { kAiStateSearch, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkSearch), NULL }; -AISTATE innocentBurnAttack = { kAiStateChase, 3, &AF(BurnSeqCallback), 120, NULL, NULL, NULL, &zombieFBurnChase }; - -AISTATE beastBurnChase = { kAiStateChase, 3, nullptr, 0, NULL, &AF(aiMoveForward), &AF(burnThinkChase), NULL }; -AISTATE beastBurnGoto = { kAiStateMove, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkGoto), &beastBurnSearch }; -AISTATE beastBurnSearch = { kAiStateSearch, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkSearch), &beastBurnSearch }; -AISTATE beastBurnAttack = { kAiStateChase, 3, &AF(BurnSeqCallback), 120, NULL, NULL, NULL, &beastBurnChase }; - -AISTATE tinycalebBurnChase = { kAiStateChase, 3, nullptr, 0, NULL, &AF(aiMoveForward), &AF(burnThinkChase), NULL }; -AISTATE tinycalebBurnGoto = { kAiStateMove, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkGoto), &tinycalebBurnSearch }; -AISTATE tinycalebBurnSearch = { kAiStateSearch, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkSearch), &tinycalebBurnSearch }; -AISTATE tinycalebBurnAttack = { kAiStateChase, 3, &AF(BurnSeqCallback), 120, NULL, NULL, NULL, &tinycalebBurnChase }; - -AISTATE genDudeBurnIdle = { kAiStateIdle, 3, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE genDudeBurnChase = { kAiStateChase, 3, nullptr, 0, NULL, &AF(aiMoveForward), &AF(burnThinkChase), NULL }; -AISTATE genDudeBurnGoto = { kAiStateMove, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkGoto), &genDudeBurnSearch }; -AISTATE genDudeBurnSearch = { kAiStateSearch, 3, nullptr, 3600, NULL, &AF(aiMoveForward), &AF(burnThinkSearch), &genDudeBurnSearch }; -AISTATE genDudeBurnAttack = { kAiStateChase, 3, &AF(BurnSeqCallback), 120, NULL, NULL, NULL, &genDudeBurnChase }; void BurnSeqCallback(DBloodActor*) { diff --git a/source/games/blood/src/aicaleb.cpp b/source/games/blood/src/aicaleb.cpp index 5c66d4574..3c48beff2 100644 --- a/source/games/blood/src/aicaleb.cpp +++ b/source/games/blood/src/aicaleb.cpp @@ -29,34 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void calebThinkSearch(DBloodActor*); -static void calebThinkGoto(DBloodActor*); -static void calebThinkChase(DBloodActor*); -static void calebThinkSwimGoto(DBloodActor*); -static void calebThinkSwimChase(DBloodActor*); -static void calebMoveSwimChase(DBloodActor*); -static void calebSwimUnused(DBloodActor*); -static void calebSwimMoveIn(DBloodActor*); - -AISTATE tinycalebIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE tinycalebChase = { kAiStateChase, 6, nullptr, 0, NULL, &AF(aiMoveForward), &AF(calebThinkChase), NULL }; -AISTATE tinycalebDodge = { kAiStateMove, 6, nullptr, 90, NULL, &AF(aiMoveDodge), NULL, &tinycalebChase }; -AISTATE tinycalebGoto = { kAiStateMove, 6, nullptr, 600, NULL, &AF(aiMoveForward), &AF(calebThinkGoto), &tinycalebIdle }; -AISTATE tinycalebAttack = { kAiStateChase, 0, &AF(SeqAttackCallback), 120, NULL, NULL, NULL, &tinycalebChase }; -AISTATE tinycalebSearch = { kAiStateSearch, 6, nullptr, 120, NULL, &AF(aiMoveForward), &AF(calebThinkSearch), &tinycalebIdle }; -AISTATE tinycalebRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &tinycalebDodge }; -AISTATE tinycalebTeslaRecoil = { kAiStateRecoil, 4, nullptr, 0, NULL, NULL, NULL, &tinycalebDodge }; -AISTATE tinycalebSwimIdle = { kAiStateIdle, 10, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE tinycalebSwimChase = { kAiStateChase, 8, nullptr, 0, NULL, &AF(calebMoveSwimChase), &AF(calebThinkSwimChase), NULL }; -AISTATE tinycalebSwimDodge = { kAiStateMove, 8, nullptr, 90, NULL, &AF(aiMoveDodge), NULL, &tinycalebSwimChase }; -AISTATE tinycalebSwimGoto = { kAiStateMove, 8, nullptr, 600, NULL, &AF(aiMoveForward), &AF(calebThinkSwimGoto), &tinycalebSwimIdle }; -AISTATE tinycalebSwimSearch = { kAiStateSearch, 8, nullptr, 120, NULL, &AF(aiMoveForward), &AF(calebThinkSearch), &tinycalebSwimIdle }; -AISTATE tinycalebSwimAttack = { kAiStateChase, 10, &AF(SeqAttackCallback), 0, NULL, NULL, NULL, &tinycalebSwimChase }; -AISTATE tinycalebSwimRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &tinycalebSwimDodge }; -AISTATE tinycalebSwimUnused = { kAiStateOther, 8, nullptr, 120, NULL, &AF(calebSwimUnused), &AF(calebThinkSwimChase), &tinycalebSwimChase }; -AISTATE tinycalebSwimMoveIn = { kAiStateOther, 8, nullptr, 0, NULL, &AF(calebSwimMoveIn), &AF(calebThinkSwimChase), &tinycalebSwimChase }; -AISTATE tinycalebSwimTurn = { kAiStateOther, 8, nullptr, 120, NULL, &AF(aiMoveTurn), NULL, &tinycalebSwimChase }; - void SeqAttackCallback(DBloodActor* actor) { DVector3 vect(actor->spr.Angles.Yaw.ToVector(), actor->dudeSlope); diff --git a/source/games/blood/src/aicerber.cpp b/source/games/blood/src/aicerber.cpp index dad8f23b6..1c800b6d3 100644 --- a/source/games/blood/src/aicerber.cpp +++ b/source/games/blood/src/aicerber.cpp @@ -29,32 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void cerberusThinkSearch(DBloodActor* actor); -static void cerberusThinkTarget(DBloodActor* actor); -static void cerberusThinkGoto(DBloodActor* actor); -static void cerberusThinkChase(DBloodActor* actor); - - -AISTATE cerberusIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(cerberusThinkTarget), NULL }; -AISTATE cerberusSearch = { kAiStateSearch, 7, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(cerberusThinkSearch), &cerberusIdle }; -AISTATE cerberusChase = { kAiStateChase, 7, nullptr, 0, NULL, &AF(aiMoveForward), &AF(cerberusThinkChase), NULL }; -AISTATE cerberusRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &cerberusSearch }; -AISTATE cerberusTeslaRecoil = { kAiStateRecoil, 4, nullptr, 0, NULL, NULL, NULL, &cerberusSearch }; -AISTATE cerberusGoto = { kAiStateMove, 7, nullptr, 600, NULL, &AF(aiMoveForward), &AF(cerberusThinkGoto), &cerberusIdle }; -AISTATE cerberusBite = { kAiStateChase, 6, &AF(cerberusBiteSeqCallback), 60, NULL, NULL, NULL, &cerberusChase }; -AISTATE cerberusBurn = { kAiStateChase, 6, &AF(cerberusBurnSeqCallback), 60, NULL, NULL, NULL, &cerberusChase }; -AISTATE cerberus3Burn = { kAiStateChase, 6, &AF(cerberusBurnSeqCallback2), 60, NULL, NULL, NULL, &cerberusChase }; -AISTATE cerberus2Idle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(cerberusThinkTarget), NULL }; -AISTATE cerberus2Search = { kAiStateSearch, 7, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(cerberusThinkSearch), &cerberus2Idle }; -AISTATE cerberus2Chase = { kAiStateChase, 7, nullptr, 0, NULL, &AF(aiMoveForward), &AF(cerberusThinkChase), NULL }; -AISTATE cerberus2Recoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &cerberus2Search }; -AISTATE cerberus2Goto = { kAiStateMove, 7, nullptr, 600, NULL, &AF(aiMoveForward), &AF(cerberusThinkGoto), &cerberus2Idle }; -AISTATE cerberus2Bite = { kAiStateChase, 6, &AF(cerberusBiteSeqCallback), 60, NULL, NULL, NULL, &cerberus2Chase }; -AISTATE cerberus2Burn = { kAiStateChase, 6, &AF(cerberusBurnSeqCallback), 60, NULL, NULL, NULL, &cerberus2Chase }; -AISTATE cerberus4Burn = { kAiStateChase, 6, &AF(cerberusBurnSeqCallback2), 60, NULL, NULL, NULL, &cerberus2Chase }; -AISTATE cerberusTurn1 = { kAiStateOther, 7, nullptr, 120, NULL, &AF(aiMoveTurn), NULL, &cerberusChase }; -AISTATE cerberusTurn2 = { kAiStateOther, 7, nullptr, 120, NULL, &AF(aiMoveTurn), NULL, &cerberusChase }; - static constexpr double Cerberus_XYOff = 350. / 16; static constexpr double Cerberus_ZOff = 100. / 256; diff --git a/source/games/blood/src/aicult.cpp b/source/games/blood/src/aicult.cpp index 9d6617635..a0d957a92 100644 --- a/source/games/blood/src/aicult.cpp +++ b/source/games/blood/src/aicult.cpp @@ -29,49 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void cultThinkSearch(DBloodActor*); -static void cultThinkGoto(DBloodActor*); -static void cultThinkChase(DBloodActor*); - -AISTATE cultistIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE cultistProneIdle = { kAiStateIdle, 17, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE fanaticProneIdle = { kAiStateIdle, 17, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE cultistProneIdle3 = { kAiStateIdle, 17, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE cultistChase = { kAiStateChase, 9, nullptr, 0, NULL, &AF(aiMoveForward), &AF(cultThinkChase), NULL }; -AISTATE fanaticChase = { kAiStateChase, 0, nullptr, 0, NULL, &AF(aiMoveTurn), &AF(cultThinkChase), NULL }; -AISTATE cultistDodge = { kAiStateMove, 9, nullptr, 90, NULL, &AF(aiMoveDodge), NULL, &cultistChase }; -AISTATE cultistGoto = { kAiStateMove, 9, nullptr, 600, NULL, &AF(aiMoveForward), &AF(cultThinkGoto), &cultistIdle }; -AISTATE cultistProneChase = { kAiStateChase, 14, nullptr, 0, NULL, &AF(aiMoveForward), &AF(cultThinkChase), NULL }; -AISTATE cultistProneDodge = { kAiStateMove, 14, nullptr, 90, NULL, &AF(aiMoveDodge), NULL, &cultistProneChase }; -AISTATE cultistTThrow = { kAiStateChase, 7, &AF(cultThrowSeqCallback), 120, NULL, NULL, NULL, &cultistTFire }; -AISTATE cultistSThrow = { kAiStateChase, 7, &AF(cultThrowSeqCallback), 120, NULL, NULL, NULL, &cultistSFire }; -AISTATE cultistTsThrow = { kAiStateChase, 7, &AF(cultThrowSeqCallback), 120, NULL, NULL, NULL, &cultistTsFire }; -AISTATE cultistDThrow = { kAiStateChase, 7, &AF(cultThrowSeqCallback), 120, NULL, NULL, NULL, &cultistChase }; -AISTATE cultistDThrow2 = { kAiStateChase, 7, &AF(cultThrowSeqCallback2), 120, NULL, NULL, NULL, &cultistChase }; -AISTATE cultistDThrow3C = { kAiStateChase, 7, &AF(cultThrowSeqCallback3), 120, NULL, NULL, NULL, &cultistIdle }; -AISTATE cultistDThrow3B = { kAiStateChase, 7, &AF(cultThrowSeqCallback3), 120, NULL, NULL, &AF(cultThinkSearch), &cultistDThrow3C }; -AISTATE cultistDThrow3A = { kAiStateChase, 7, &AF(cultThrowSeqCallback3), 120, NULL, NULL, &AF(cultThinkSearch), &cultistDThrow3B }; -AISTATE cultistDThrow4 = { kAiStateChase, 7, &AF(cultThrowSeqCallback3), 120, NULL, NULL, &AF(cultThinkSearch), &cultistDThrow4 }; -AISTATE cultistSearch = { kAiStateSearch, 9, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(cultThinkSearch), &cultistIdle }; -AISTATE cultistSFire = { kAiStateChase, 6, &AF(ShotSeqCallback), 60, NULL, NULL, NULL, &cultistChase }; -AISTATE cultistTFire = { kAiStateChase, 6, &AF(TommySeqCallback), 0, NULL, &AF(aiMoveTurn), &AF(cultThinkChase), &cultistTFire }; -AISTATE cultistTsFire = { kAiStateChase, 6, &AF(TeslaSeqCallback), 0, NULL, &AF(aiMoveTurn), &AF(cultThinkChase), &cultistChase }; -AISTATE cultistSProneFire = { kAiStateChase, 8, &AF(ShotSeqCallback), 60, NULL, NULL, NULL, &cultistProneChase }; -AISTATE cultistTProneFire = { kAiStateChase, 8, &AF(TommySeqCallback), 0, NULL, &AF(aiMoveTurn), &AF(cultThinkChase), &cultistTProneFire }; -AISTATE cultistTsProneFire = { kAiStateChase, 8, &AF(TeslaSeqCallback), 0, NULL, &AF(aiMoveTurn), NULL, &cultistTsProneFire }; // vanilla, broken -AISTATE cultistTsProneFireFixed = { kAiStateChase, 8, &AF(TeslaSeqCallback), 0, NULL, &AF(aiMoveTurn), &AF(cultThinkChase), &cultistTsProneFireFixed }; -AISTATE cultistRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &cultistDodge }; -AISTATE cultistProneRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &cultistProneDodge }; -AISTATE cultistTeslaRecoil = { kAiStateRecoil, 4, nullptr, 0, NULL, NULL, NULL, &cultistDodge }; -AISTATE cultistSwimIdle = { kAiStateIdle, 13, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE cultistSwimChase = { kAiStateChase, 13, nullptr, 0, NULL, &AF(aiMoveForward), &AF(cultThinkChase), NULL }; -AISTATE cultistSwimDodge = { kAiStateMove, 13, nullptr, 90, NULL, &AF(aiMoveDodge), NULL, &cultistSwimChase }; -AISTATE cultistSwimGoto = { kAiStateMove, 13, nullptr, 600, NULL, &AF(aiMoveForward), &AF(cultThinkGoto), &cultistSwimIdle }; -AISTATE cultistSwimSearch = { kAiStateSearch, 13, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(cultThinkSearch), &cultistSwimIdle }; -AISTATE cultistSSwimFire = { kAiStateChase, 8, &AF(ShotSeqCallback), 60, NULL, NULL, NULL, &cultistSwimChase }; -AISTATE cultistTSwimFire = { kAiStateChase, 8, &AF(TommySeqCallback), 0, NULL, &AF(aiMoveTurn), &AF(cultThinkChase), &cultistTSwimFire }; -AISTATE cultistTsSwimFire = { kAiStateChase, 8, &AF(TeslaSeqCallback), 0, NULL, &AF(aiMoveTurn), &AF(cultThinkChase), &cultistTsSwimFire }; -AISTATE cultistSwimRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &cultistSwimDodge }; void TommySeqCallback(DBloodActor* actor) { diff --git a/source/games/blood/src/aigarg.cpp b/source/games/blood/src/aigarg.cpp index e381e65d6..66237755b 100644 --- a/source/games/blood/src/aigarg.cpp +++ b/source/games/blood/src/aigarg.cpp @@ -29,46 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void gargThinkTarget(DBloodActor*); -static void gargThinkSearch(DBloodActor*); -static void gargThinkGoto(DBloodActor*); -static void gargMoveDodgeUp(DBloodActor*); -static void gargMoveDodgeDown(DBloodActor*); -static void gargThinkChase(DBloodActor*); -static void entryFStatue(DBloodActor*); -static void entrySStatue(DBloodActor*); -static void gargMoveForward(DBloodActor*); -static void gargMoveSlow(DBloodActor*); -static void gargMoveSwoop(DBloodActor*); -static void gargMoveFly(DBloodActor*); -static void playStatueBreakSnd(DBloodActor*); - -AISTATE gargoyleFIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(gargThinkTarget), NULL }; -AISTATE gargoyleStatueIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, NULL, NULL }; -AISTATE gargoyleFChase = { kAiStateChase, 0, nullptr, 0, NULL, &AF(gargMoveForward), &AF(gargThinkChase), &gargoyleFIdle }; -AISTATE gargoyleFGoto = { kAiStateMove, 0, nullptr, 600, NULL, &AF(gargMoveForward), &AF(gargThinkGoto), &gargoyleFIdle }; -AISTATE gargoyleFSlash = { kAiStateChase, 6, &AF(SlashFSeqCallback), 120, NULL, NULL, NULL, &gargoyleFChase }; -AISTATE gargoyleFThrow = { kAiStateChase, 6, &AF(ThrowFSeqCallback), 120, NULL, NULL, NULL, &gargoyleFChase }; -AISTATE gargoyleSThrow = { kAiStateChase, 6, &AF(ThrowSSeqCallback), 120, NULL, &AF(gargMoveForward), NULL, &gargoyleFChase }; -AISTATE gargoyleSBlast = { kAiStateChase, 7, &AF(BlastSSeqCallback), 60, NULL, &AF(gargMoveSlow), NULL, &gargoyleFChase }; -AISTATE gargoyleFRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &gargoyleFChase }; -AISTATE gargoyleFSearch = { kAiStateSearch, 0, nullptr, 120, NULL, &AF(gargMoveForward), &AF(gargThinkSearch), &gargoyleFIdle }; -AISTATE gargoyleFMorph2 = { kAiStateOther, -1, nullptr, 0, &AF(entryFStatue), NULL, NULL, &gargoyleFIdle }; -AISTATE gargoyleFMorph = { kAiStateOther, 6, nullptr, 0, NULL, NULL, NULL, &gargoyleFMorph2 }; -AISTATE gargoyleSMorph2 = { kAiStateOther, -1, nullptr, 0, &AF(entrySStatue), NULL, NULL, &gargoyleFIdle }; -AISTATE gargoyleSMorph = { kAiStateOther, 6, nullptr, 0, NULL, NULL, NULL, &gargoyleSMorph2 }; -AISTATE gargoyleSwoop = { kAiStateOther, 0, nullptr, 120, NULL, &AF(gargMoveSwoop), &AF(gargThinkChase), &gargoyleFChase }; -AISTATE gargoyleFly = { kAiStateMove, 0, nullptr, 120, NULL, &AF(gargMoveFly), &AF(gargThinkChase), &gargoyleFChase }; -AISTATE gargoyleTurn = { kAiStateMove, 0, nullptr, 120, NULL, &AF(aiMoveTurn), NULL, &gargoyleFChase }; -AISTATE gargoyleDodgeUp = { kAiStateMove, 0, nullptr, 60, NULL, &AF(gargMoveDodgeUp), NULL, &gargoyleFChase }; -AISTATE gargoyleFDodgeUpRight = { kAiStateMove, 0, nullptr, 90, NULL, &AF(gargMoveDodgeUp), NULL, &gargoyleFChase }; -AISTATE gargoyleFDodgeUpLeft = { kAiStateMove, 0, nullptr, 90, NULL, &AF(gargMoveDodgeUp), NULL, &gargoyleFChase }; -AISTATE gargoyleDodgeDown = { kAiStateMove, 0, nullptr, 120, NULL, &AF(gargMoveDodgeDown), NULL, &gargoyleFChase }; -AISTATE gargoyleFDodgeDownRight = { kAiStateMove, 0, nullptr, 90, NULL, &AF(gargMoveDodgeDown), NULL, &gargoyleFChase }; -AISTATE gargoyleFDodgeDownLeft = { kAiStateMove, 0, nullptr, 90, NULL, &AF(gargMoveDodgeDown), NULL, &gargoyleFChase }; - -AISTATE statueFBreakSEQ = { kAiStateOther, 5, nullptr, 0, &AF(entryFStatue), NULL, &AF(playStatueBreakSnd), &gargoyleFMorph2 }; -AISTATE statueSBreakSEQ = { kAiStateOther, 5, nullptr, 0, &AF(entrySStatue), NULL, &AF(playStatueBreakSnd), &gargoyleSMorph2 }; static void playStatueBreakSnd(DBloodActor* actor) { diff --git a/source/games/blood/src/aighost.cpp b/source/games/blood/src/aighost.cpp index 47858b6fc..9b0df80a1 100644 --- a/source/games/blood/src/aighost.cpp +++ b/source/games/blood/src/aighost.cpp @@ -29,37 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void ghostThinkTarget(DBloodActor*); -static void ghostThinkSearch(DBloodActor*); -static void ghostThinkGoto(DBloodActor*); -static void ghostMoveDodgeUp(DBloodActor*); -static void ghostMoveDodgeDown(DBloodActor*); -static void ghostThinkChase(DBloodActor*); -static void ghostMoveForward(DBloodActor*); -static void ghostMoveSlow(DBloodActor*); -static void ghostMoveSwoop(DBloodActor*); -static void ghostMoveFly(DBloodActor*); - - -AISTATE ghostIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(ghostThinkTarget), NULL }; -AISTATE ghostChase = { kAiStateChase, 0, nullptr, 0, NULL, &AF(ghostMoveForward), &AF(ghostThinkChase), &ghostIdle }; -AISTATE ghostGoto = { kAiStateMove, 0, nullptr, 600, NULL, &AF(ghostMoveForward), &AF(ghostThinkGoto), &ghostIdle }; -AISTATE ghostSlash = { kAiStateChase, 6, &AF(ghostSlashSeqCallback), 120, NULL, NULL, NULL, &ghostChase }; -AISTATE ghostThrow = { kAiStateChase, 6, &AF(ghostThrowSeqCallback), 120, NULL, NULL, NULL, &ghostChase }; -AISTATE ghostBlast = { kAiStateChase, 6, &AF(ghostBlastSeqCallback), 120, NULL, &AF(ghostMoveSlow), NULL, &ghostChase }; -AISTATE ghostRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &ghostChase }; -AISTATE ghostTeslaRecoil = { kAiStateRecoil, 4, nullptr, 0, NULL, NULL, NULL, &ghostChase }; -AISTATE ghostSearch = { kAiStateSearch, 0, nullptr, 120, NULL, &AF(ghostMoveForward), &AF(ghostThinkSearch), &ghostIdle }; -AISTATE ghostSwoop = { kAiStateOther, 0, nullptr, 120, NULL, &AF(ghostMoveSwoop), &AF(ghostThinkChase), &ghostChase }; -AISTATE ghostFly = { kAiStateMove, 0, nullptr, 0, NULL, &AF(ghostMoveFly), &AF(ghostThinkChase), &ghostChase }; -AISTATE ghostTurn = { kAiStateMove, 0, nullptr, 120, NULL, &AF(aiMoveTurn), NULL, &ghostChase }; -AISTATE ghostDodgeUp = { kAiStateMove, 0, nullptr, 60, NULL, &AF(ghostMoveDodgeUp), NULL, &ghostChase }; -AISTATE ghostDodgeUpRight = { kAiStateMove, 0, nullptr, 90, NULL, &AF(ghostMoveDodgeUp), NULL, &ghostChase }; -AISTATE ghostDodgeUpLeft = { kAiStateMove, 0, nullptr, 90, NULL, &AF(ghostMoveDodgeUp), NULL, &ghostChase }; -AISTATE ghostDodgeDown = { kAiStateMove, 0, nullptr, 120, NULL, &AF(ghostMoveDodgeDown), NULL, &ghostChase }; -AISTATE ghostDodgeDownRight = { kAiStateMove, 0, nullptr, 90, NULL, &AF(ghostMoveDodgeDown), NULL, &ghostChase }; -AISTATE ghostDodgeDownLeft = { kAiStateMove, 0, nullptr, 90, NULL, &AF(ghostMoveDodgeDown), NULL, &ghostChase }; - void ghostSlashSeqCallback(DBloodActor* actor) { if (!actor->ValidateTarget(__FUNCTION__)) return; diff --git a/source/games/blood/src/aigilbst.cpp b/source/games/blood/src/aigilbst.cpp index a051bf58e..b3eb26a7c 100644 --- a/source/games/blood/src/aigilbst.cpp +++ b/source/games/blood/src/aigilbst.cpp @@ -29,34 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void gillThinkSearch(DBloodActor*); -static void gillThinkGoto(DBloodActor*); -static void gillThinkChase(DBloodActor*); -static void gillThinkSwimGoto(DBloodActor*); -static void gillThinkSwimChase(DBloodActor*); -static void gillMoveSwimChase(DBloodActor*); -static void gillMoveSwimUnused(DBloodActor*); -static void gillSwimMoveIn(DBloodActor*); - - -AISTATE gillBeastIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE gillBeastChase = { kAiStateChase, 9, nullptr, 0, NULL, &AF(aiMoveForward), &AF(gillThinkChase), NULL }; -AISTATE gillBeastDodge = { kAiStateMove, 9, nullptr, 90, NULL, &AF(aiMoveDodge), NULL, &gillBeastChase }; -AISTATE gillBeastGoto = { kAiStateMove, 9, nullptr, 600, NULL, &AF(aiMoveForward), &AF(gillThinkGoto), &gillBeastIdle }; -AISTATE gillBeastBite = { kAiStateChase, 6, &AF(GillBiteSeqCallback), 120, NULL, NULL, NULL, &gillBeastChase }; -AISTATE gillBeastSearch = { kAiStateMove, 9, nullptr, 120, NULL, &AF(aiMoveForward), &AF(gillThinkSearch), &gillBeastIdle }; -AISTATE gillBeastRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &gillBeastDodge }; -AISTATE gillBeastSwimIdle = { kAiStateIdle, 10, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE gillBeastSwimChase = { kAiStateChase, 10, nullptr, 0, NULL, &AF(gillMoveSwimChase), &AF(gillThinkSwimChase), NULL }; -AISTATE gillBeastSwimDodge = { kAiStateMove, 10, nullptr, 90, NULL, &AF(aiMoveDodge), NULL, &gillBeastSwimChase }; -AISTATE gillBeastSwimGoto = { kAiStateMove, 10, nullptr, 600, NULL, &AF(aiMoveForward), &AF(gillThinkSwimGoto), &gillBeastSwimIdle }; -AISTATE gillBeastSwimSearch = { kAiStateSearch, 10, nullptr, 120, NULL, &AF(aiMoveForward), &AF(gillThinkSearch), &gillBeastSwimIdle }; -AISTATE gillBeastSwimBite = { kAiStateChase, 7, &AF(GillBiteSeqCallback), 0, NULL, NULL, &AF(gillThinkSwimChase), &gillBeastSwimChase }; -AISTATE gillBeastSwimRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &gillBeastSwimDodge }; -AISTATE gillBeastSwimUnused = { kAiStateOther, 10, nullptr, 120, NULL, &AF(gillMoveSwimUnused), &AF(gillThinkSwimChase), &gillBeastSwimChase }; -AISTATE gillBeastSwimMoveIn = { kAiStateOther, 10, nullptr, 0, NULL, &AF(gillSwimMoveIn), &AF(gillThinkSwimChase), &gillBeastSwimChase }; -AISTATE gillBeastSwimTurn = { kAiStateOther, 10, nullptr, 120, NULL, NULL, &AF(aiMoveTurn), &gillBeastSwimChase }; - void GillBiteSeqCallback(DBloodActor* actor) { if (!actor->ValidateTarget(__FUNCTION__)) return; diff --git a/source/games/blood/src/aihand.cpp b/source/games/blood/src/aihand.cpp index efb5ceabb..0812f4413 100644 --- a/source/games/blood/src/aihand.cpp +++ b/source/games/blood/src/aihand.cpp @@ -29,18 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void handThinkSearch(DBloodActor*); -static void handThinkGoto(DBloodActor*); -static void handThinkChase(DBloodActor*); - -AISTATE handIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE handChoke = { kAiStateOther, 0, nullptr, 0, NULL, NULL, NULL, NULL }; -AISTATE handSearch = { kAiStateMove, 6, nullptr, 600, NULL, &AF(aiMoveForward), &AF(handThinkSearch), &handIdle }; -AISTATE handChase = { kAiStateChase, 6, nullptr, 0, NULL, &AF(aiMoveForward), &AF(handThinkChase), NULL }; -AISTATE handRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &handSearch }; -AISTATE handGoto = { kAiStateMove, 6, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(handThinkGoto), &handIdle }; -AISTATE handJump = { kAiStateChase, 7, &AF(HandJumpSeqCallback), 120, NULL, NULL, NULL, &handChase }; - void HandJumpSeqCallback(DBloodActor* actor) { if (!actor->ValidateTarget(__FUNCTION__)) return; diff --git a/source/games/blood/src/aihound.cpp b/source/games/blood/src/aihound.cpp index f6969db8b..679a2f1cc 100644 --- a/source/games/blood/src/aihound.cpp +++ b/source/games/blood/src/aihound.cpp @@ -29,19 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void houndThinkSearch(DBloodActor*); -static void houndThinkGoto(DBloodActor*); -static void houndThinkChase(DBloodActor*); - -AISTATE houndIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE houndSearch = { kAiStateMove, 8, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(houndThinkSearch), &houndIdle }; -AISTATE houndChase = { kAiStateChase, 8, nullptr, 0, NULL, &AF(aiMoveForward), &AF(houndThinkChase), NULL }; -AISTATE houndRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &houndSearch }; -AISTATE houndTeslaRecoil = { kAiStateRecoil, 4, nullptr, 0, NULL, NULL, NULL, &houndSearch }; -AISTATE houndGoto = { kAiStateMove, 8, nullptr, 600, NULL, &AF(aiMoveForward), &AF(houndThinkGoto), &houndIdle }; -AISTATE houndBite = { kAiStateChase, 6, &AF(houndBiteSeqCallback), 60, NULL, NULL, NULL, &houndChase }; -AISTATE houndBurn = { kAiStateChase, 7, &AF(houndBurnSeqCallback), 60, NULL, NULL, NULL, &houndChase }; - void houndBiteSeqCallback(DBloodActor* actor) { if (!(actor->IsDudeActor())) { diff --git a/source/games/blood/src/aiinnoc.cpp b/source/games/blood/src/aiinnoc.cpp index 9983adedb..6ce9122ec 100644 --- a/source/games/blood/src/aiinnoc.cpp +++ b/source/games/blood/src/aiinnoc.cpp @@ -29,17 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void innocThinkSearch(DBloodActor*); -static void innocThinkGoto(DBloodActor*); -static void innocThinkChase(DBloodActor*); - -AISTATE innocentIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE innocentSearch = { kAiStateSearch, 6, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(innocThinkSearch), &innocentIdle }; -AISTATE innocentChase = { kAiStateChase, 6, nullptr, 0, NULL, &AF(aiMoveForward), &AF(innocThinkChase), NULL }; -AISTATE innocentRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &innocentChase }; -AISTATE innocentTeslaRecoil = { kAiStateRecoil, 4, nullptr, 0, NULL, NULL, NULL, &innocentChase }; -AISTATE innocentGoto = { kAiStateMove, 6, nullptr, 600, NULL, &AF(aiMoveForward), &AF(innocThinkGoto), &innocentIdle }; - static void innocThinkSearch(DBloodActor* actor) { aiChooseDirection(actor, actor->xspr.goalAng); diff --git a/source/games/blood/src/aipod.cpp b/source/games/blood/src/aipod.cpp index 35901b38c..3f611e8df 100644 --- a/source/games/blood/src/aipod.cpp +++ b/source/games/blood/src/aipod.cpp @@ -29,27 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void aiPodSearch(DBloodActor* actor); -static void aiPodMove(DBloodActor* actor); -static void aiPodChase(DBloodActor* actor); - -AISTATE podIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE podMove = { kAiStateMove, 7, nullptr, 3600, NULL, &AF(aiMoveTurn), &AF(aiPodMove), &podSearch }; -AISTATE podSearch = { kAiStateSearch, 0, nullptr, 3600, NULL, &AF(aiMoveTurn), &AF(aiPodSearch), &podSearch }; -AISTATE podStartChase = { kAiStateChase, 8, &AF(podAttack), 600, NULL, NULL, NULL, &podChase }; -AISTATE podRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &podChase }; -AISTATE podChase = { kAiStateChase, 6, nullptr, 0, NULL, &AF(aiMoveTurn), &AF(aiPodChase), NULL }; -AISTATE tentacleIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE tentacle13A6A8 = { kAiStateOther, 7, &AF(podPlaySound1), 0, NULL, NULL, NULL, &tentacle13A6C4 }; -AISTATE tentacle13A6C4 = { kAiStateOther, -1, nullptr, 0, NULL, NULL, NULL, &tentacleChase }; -AISTATE tentacle13A6E0 = { kAiStateOther, 8, &AF(podPlaySound2), 0, NULL, NULL, NULL, &tentacle13A6FC }; -AISTATE tentacle13A6FC = { kAiStateOther, -1, nullptr, 0, NULL, NULL, NULL, &tentacleIdle }; -AISTATE tentacleMove = { kAiStateOther, 8, nullptr, 3600, NULL, &AF(aiMoveTurn), &AF(aiPodMove), &tentacleSearch }; -AISTATE tentacleSearch = { kAiStateOther, 0, nullptr, 3600, NULL, &AF(aiMoveTurn), &AF(aiPodSearch), NULL }; -AISTATE tentacleStartChase = { kAiStateOther, 6, &AF(podExplode), 120, NULL, NULL, NULL, &tentacleChase }; -AISTATE tentacleRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &tentacleChase }; -AISTATE tentacleChase = { kAiStateChase, 6, nullptr, 0, NULL, &AF(aiMoveTurn), &AF(aiPodChase), NULL }; - void podPlaySound1(DBloodActor* actor) { sfxPlay3DSound(actor, 2503, -1, 0); diff --git a/source/games/blood/src/airat.cpp b/source/games/blood/src/airat.cpp index 9b7c418dd..bcaa97043 100644 --- a/source/games/blood/src/airat.cpp +++ b/source/games/blood/src/airat.cpp @@ -29,18 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void ratThinkSearch(DBloodActor*); -static void ratThinkGoto(DBloodActor*); -static void ratThinkChase(DBloodActor*); - -AISTATE ratIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE ratSearch = { kAiStateSearch, 7, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(ratThinkSearch), &ratIdle }; -AISTATE ratChase = { kAiStateChase, 7, nullptr, 0, NULL, &AF(aiMoveForward), &AF(ratThinkChase), NULL }; -AISTATE ratDodge = { kAiStateMove, 7, nullptr, 0, NULL, NULL, NULL, &ratChase }; -AISTATE ratRecoil = { kAiStateRecoil, 7, nullptr, 0, NULL, NULL, NULL, &ratDodge }; -AISTATE ratGoto = { kAiStateMove, 7, nullptr, 600, NULL, &AF(aiMoveForward), &AF(ratThinkGoto), &ratIdle }; -AISTATE ratBite = { kAiStateChase, 6, &AF(ratBiteSeqCallback), 120, NULL, NULL, NULL, &ratChase }; - void ratBiteSeqCallback(DBloodActor* actor) { assert(actor->IsDudeActor()); diff --git a/source/games/blood/src/aispid.cpp b/source/games/blood/src/aispid.cpp index fe0be8e26..1a6db9229 100644 --- a/source/games/blood/src/aispid.cpp +++ b/source/games/blood/src/aispid.cpp @@ -29,20 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void spidThinkSearch(DBloodActor*); -static void spidThinkGoto(DBloodActor*); -static void spidThinkChase(DBloodActor*); - - -AISTATE spidIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE spidChase = { kAiStateChase, 7, nullptr, 0, NULL, &AF(aiMoveForward), &AF(spidThinkChase), NULL }; -AISTATE spidDodge = { kAiStateMove, 7, nullptr, 90, NULL, &AF(aiMoveDodge), NULL, &spidChase }; -AISTATE spidGoto = { kAiStateMove, 7, nullptr, 600, NULL, &AF(aiMoveForward), &AF(spidThinkGoto), &spidIdle }; -AISTATE spidSearch = { kAiStateSearch, 7, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(spidThinkSearch), &spidIdle }; -AISTATE spidBite = { kAiStateChase, 6, &AF(SpidBiteSeqCallback), 60, NULL, NULL, NULL, &spidChase }; -AISTATE spidJump = { kAiStateChase, 8, &AF(SpidJumpSeqCallback), 60, NULL, &AF(aiMoveForward), NULL, &spidChase }; -AISTATE spidBirth = { kAiStateOther, 0, &AF(SpidBirthSeqCallback), 60, NULL, NULL, NULL, &spidIdle }; - static void spidBlindEffect(DBloodActor* actor, int nBlind, int max) { if (actor->IsPlayerActor()) diff --git a/source/games/blood/src/aistate.h b/source/games/blood/src/aistate.h deleted file mode 100644 index 66a401e86..000000000 --- a/source/games/blood/src/aistate.h +++ /dev/null @@ -1,358 +0,0 @@ -//------------------------------------------------------------------------- -/* -Copyright (C) 2010-2019 EDuke32 developers and contributors -Copyright (C) 2019 Nuke.YKT - -This file is part of NBlood. - -NBlood is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License version 2 -as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ -//------------------------------------------------------------------------- -#pragma once -#include "ai.h" - -BEGIN_BLD_NS - -extern AISTATE batIdle; -extern AISTATE batFlyIdle; -extern AISTATE batChase; -extern AISTATE batPonder; -extern AISTATE batGoto; -extern AISTATE batBite; -extern AISTATE batRecoil; -extern AISTATE batSearch; -extern AISTATE batSwoop; -extern AISTATE batFly; -extern AISTATE batTurn; -extern AISTATE batHide; -extern AISTATE batDodgeUp; -extern AISTATE batDodgeUpRight; -extern AISTATE batDodgeUpLeft; -extern AISTATE batDodgeDown; -extern AISTATE batDodgeDownRight; -extern AISTATE batDodgeDownLeft; - -extern AISTATE beastIdle; -extern AISTATE beastChase; -extern AISTATE beastDodge; -extern AISTATE beastGoto; -extern AISTATE beastSlash; -extern AISTATE beastStomp; -extern AISTATE beastSearch; -extern AISTATE beastRecoil; -extern AISTATE beastTeslaRecoil; -extern AISTATE beastSwimIdle; -extern AISTATE beastSwimChase; -extern AISTATE beastSwimDodge; -extern AISTATE beastSwimGoto; -extern AISTATE beastSwimSearch; -extern AISTATE beastSwimSlash; -extern AISTATE beastSwimRecoil; -extern AISTATE beastMorphToBeast; -extern AISTATE beastMorphFromCultist; -extern AISTATE beastMoveSwimChaseAlt; -extern AISTATE beastSwimAttack; -extern AISTATE beastSwimTurn; - -extern AISTATE eelIdle; -extern AISTATE eelFlyIdle; -extern AISTATE eelChase; -extern AISTATE eelPonder; -extern AISTATE eelGoto; -extern AISTATE eelBite; -extern AISTATE eelRecoil; -extern AISTATE eelSearch; -extern AISTATE eelSwoop; -extern AISTATE eelFly; -extern AISTATE eelTurn; -extern AISTATE eelHide; -extern AISTATE eelDodgeUp; -extern AISTATE eelDodgeUpRight; -extern AISTATE eelDodgeUpLeft; -extern AISTATE eelDodgeDown; -extern AISTATE eelDodgeDownRight; -extern AISTATE eelDodgeDownLeft; - -extern AISTATE cultistBurnIdle; -extern AISTATE cultistBurnChase; -extern AISTATE cultistBurnGoto; -extern AISTATE cultistBurnSearch; -extern AISTATE cultistBurnAttack; -extern AISTATE zombieABurnChase; -extern AISTATE zombieABurnGoto; -extern AISTATE zombieABurnSearch; -extern AISTATE zombieABurnAttack; -extern AISTATE zombieFBurnChase; -extern AISTATE zombieFBurnGoto; -extern AISTATE zombieFBurnSearch; -extern AISTATE zombieFBurnAttack; -extern AISTATE innocentBurnChase; -extern AISTATE innocentBurnGoto; -extern AISTATE innocentBurnSearch; -extern AISTATE innocentBurnAttack; -extern AISTATE beastBurnChase; -extern AISTATE beastBurnGoto; -extern AISTATE beastBurnSearch; -extern AISTATE beastBurnAttack; -extern AISTATE tinycalebBurnChase; -extern AISTATE tinycalebBurnGoto; -extern AISTATE tinycalebBurnSearch; -extern AISTATE tinycalebBurnAttack; -extern AISTATE genDudeBurnIdle; -extern AISTATE genDudeBurnChase; -extern AISTATE genDudeBurnGoto; -extern AISTATE genDudeBurnSearch; -extern AISTATE genDudeBurnAttack; - -extern AISTATE tinycalebIdle; -extern AISTATE tinycalebChase; -extern AISTATE tinycalebDodge; -extern AISTATE tinycalebGoto; -extern AISTATE tinycalebAttack; -extern AISTATE tinycalebSearch; -extern AISTATE tinycalebRecoil; -extern AISTATE tinycalebTeslaRecoil; -extern AISTATE tinycalebSwimIdle; -extern AISTATE tinycalebSwimChase; -extern AISTATE tinycalebSwimDodge; -extern AISTATE tinycalebSwimGoto; -extern AISTATE tinycalebSwimSearch; -extern AISTATE tinycalebSwimAttack; -extern AISTATE tinycalebSwimRecoil; -extern AISTATE tinycalebSwimUnused; -extern AISTATE tinycalebSwimMoveIn; -extern AISTATE tinycalebSwimTurn; - -extern AISTATE cerberusIdle; -extern AISTATE cerberusSearch; -extern AISTATE cerberusChase; -extern AISTATE cerberusRecoil; -extern AISTATE cerberusTeslaRecoil; -extern AISTATE cerberusGoto; -extern AISTATE cerberusBite; -extern AISTATE cerberusBurn; -extern AISTATE cerberus3Burn; -extern AISTATE cerberus2Idle; -extern AISTATE cerberus2Search; -extern AISTATE cerberus2Chase; -extern AISTATE cerberus2Recoil; -extern AISTATE cerberus2Goto; -extern AISTATE cerberus2Bite; -extern AISTATE cerberus2Burn; -extern AISTATE cerberus4Burn; -extern AISTATE cerberusTurn1; -extern AISTATE cerberusTurn2; - -extern AISTATE cultistIdle; -extern AISTATE cultistProneIdle; -extern AISTATE fanaticProneIdle; -extern AISTATE cultistProneIdle3; -extern AISTATE cultistChase; -extern AISTATE fanaticChase; -extern AISTATE cultistDodge; -extern AISTATE cultistGoto; -extern AISTATE cultistProneChase; -extern AISTATE cultistProneDodge; -extern AISTATE cultistTThrow; -extern AISTATE cultistSThrow; -extern AISTATE cultistTsThrow; -extern AISTATE cultistDThrow; -extern AISTATE cultistDThrow2; -extern AISTATE cultistDThrow3C; -extern AISTATE cultistDThrow3B; -extern AISTATE cultistDThrow3A; -extern AISTATE cultistDThrow4; -extern AISTATE cultistSearch; -extern AISTATE cultistSFire; -extern AISTATE cultistTFire; -extern AISTATE cultistTsFire; -extern AISTATE cultistSProneFire; -extern AISTATE cultistTProneFire; -extern AISTATE cultistTsProneFire; -extern AISTATE cultistRecoil; -extern AISTATE cultistProneRecoil; -extern AISTATE cultistTeslaRecoil; -extern AISTATE cultistSwimIdle; -extern AISTATE cultistSwimChase; -extern AISTATE cultistSwimDodge; -extern AISTATE cultistSwimGoto; -extern AISTATE cultistSwimSearch; -extern AISTATE cultistSSwimFire; -extern AISTATE cultistTSwimFire; -extern AISTATE cultistTsSwimFire; -extern AISTATE cultistSwimRecoil; - -extern AISTATE gargoyleFIdle; -extern AISTATE gargoyleStatueIdle; -extern AISTATE gargoyleFChase; -extern AISTATE gargoyleFGoto; -extern AISTATE gargoyleFSlash; -extern AISTATE gargoyleFThrow; -extern AISTATE gargoyleSThrow; -extern AISTATE gargoyleSBlast; -extern AISTATE gargoyleFRecoil; -extern AISTATE gargoyleFSearch; -extern AISTATE gargoyleFMorph2; -extern AISTATE gargoyleFMorph; -extern AISTATE gargoyleSMorph2; -extern AISTATE gargoyleSMorph; -extern AISTATE gargoyleSwoop; -extern AISTATE gargoyleFly; -extern AISTATE gargoyleTurn; -extern AISTATE gargoyleDodgeUp; -extern AISTATE gargoyleFDodgeUpRight; -extern AISTATE gargoyleFDodgeUpLeft; -extern AISTATE gargoyleDodgeDown; -extern AISTATE gargoyleFDodgeDownRight; -extern AISTATE gargoyleFDodgeDownLeft; -extern AISTATE statueFBreakSEQ; -extern AISTATE statueSBreakSEQ; - -extern AISTATE ghostIdle; -extern AISTATE ghostChase; -extern AISTATE ghostGoto; -extern AISTATE ghostSlash; -extern AISTATE ghostThrow; -extern AISTATE ghostBlast; -extern AISTATE ghostRecoil; -extern AISTATE ghostTeslaRecoil; -extern AISTATE ghostSearch; -extern AISTATE ghostSwoop; -extern AISTATE ghostFly; -extern AISTATE ghostTurn; -extern AISTATE ghostDodgeUp; -extern AISTATE ghostDodgeUpRight; -extern AISTATE ghostDodgeUpLeft; -extern AISTATE ghostDodgeDown; -extern AISTATE ghostDodgeDownRight; -extern AISTATE ghostDodgeDownLeft; - -extern AISTATE gillBeastIdle; -extern AISTATE gillBeastChase; -extern AISTATE gillBeastDodge; -extern AISTATE gillBeastGoto; -extern AISTATE gillBeastBite; -extern AISTATE gillBeastSearch; -extern AISTATE gillBeastRecoil; -extern AISTATE gillBeastSwimIdle; -extern AISTATE gillBeastSwimChase; -extern AISTATE gillBeastSwimDodge; -extern AISTATE gillBeastSwimGoto; -extern AISTATE gillBeastSwimSearch; -extern AISTATE gillBeastSwimBite; -extern AISTATE gillBeastSwimRecoil; -extern AISTATE gillBeastSwimUnused; -extern AISTATE gillBeastSwimMoveIn; -extern AISTATE gillBeastSwimTurn; - -extern AISTATE handIdle; -extern AISTATE handChoke; -extern AISTATE handSearch; -extern AISTATE handChase; -extern AISTATE handRecoil; -extern AISTATE handGoto; -extern AISTATE handJump; - -extern AISTATE houndIdle; -extern AISTATE houndSearch; -extern AISTATE houndChase; -extern AISTATE houndRecoil; -extern AISTATE houndTeslaRecoil; -extern AISTATE houndGoto; -extern AISTATE houndBite; -extern AISTATE houndBurn; - -extern AISTATE innocentIdle; -extern AISTATE innocentSearch; -extern AISTATE innocentChase; -extern AISTATE innocentRecoil; -extern AISTATE innocentTeslaRecoil; -extern AISTATE innocentGoto; - -extern AISTATE podIdle; -extern AISTATE podMove; -extern AISTATE podSearch; -extern AISTATE podStartChase; -extern AISTATE podRecoil; -extern AISTATE podChase; -extern AISTATE tentacleIdle; -extern AISTATE tentacle13A6A8; -extern AISTATE tentacle13A6C4; -extern AISTATE tentacle13A6E0; -extern AISTATE tentacle13A6FC; -extern AISTATE tentacleMove; -extern AISTATE tentacleSearch; -extern AISTATE tentacleStartChase; -extern AISTATE tentacleRecoil; -extern AISTATE tentacleChase; - -extern AISTATE ratIdle; -extern AISTATE ratSearch; -extern AISTATE ratChase; -extern AISTATE ratDodge; -extern AISTATE ratRecoil; -extern AISTATE ratGoto; -extern AISTATE ratBite; - -extern AISTATE spidIdle; -extern AISTATE spidChase; -extern AISTATE spidDodge; -extern AISTATE spidGoto; -extern AISTATE spidSearch; -extern AISTATE spidBite; -extern AISTATE spidJump; -extern AISTATE spidBirth; - -extern AISTATE tchernobogIdle; -extern AISTATE tchernobogSearch; -extern AISTATE tchernobogChase; -extern AISTATE tchernobogRecoil; -extern AISTATE tchernobogGoto; -extern AISTATE tchernobogBurn1; -extern AISTATE tchernobogBurn2; -extern AISTATE tchernobogFireAtk; -extern AISTATE tchernobogTurn; - -extern AISTATE zombieAIdle; -extern AISTATE zombieAChase; -extern AISTATE zombieAPonder; -extern AISTATE zombieAGoto; -extern AISTATE zombieAHack; -extern AISTATE zombieASearch; -extern AISTATE zombieARecoil; -extern AISTATE zombieATeslaRecoil; -extern AISTATE zombieARecoil2; -extern AISTATE zombieAStand; -extern AISTATE zombieEIdle; -extern AISTATE zombieEUp2; -extern AISTATE zombieEUp; -extern AISTATE zombie2Idle; -extern AISTATE zombie2Search; -extern AISTATE zombieSIdle; -extern AISTATE zombieEStand; - -extern AISTATE zombieFIdle; -extern AISTATE zombieFChase; -extern AISTATE zombieFGoto; -extern AISTATE zombieFDodge; -extern AISTATE zombieFHack; -extern AISTATE zombieFPuke; -extern AISTATE zombieFThrow; -extern AISTATE zombieFSearch; -extern AISTATE zombieFRecoil; -extern AISTATE zombieFTeslaRecoil; - - -END_BLD_NS diff --git a/source/games/blood/src/aitchern.cpp b/source/games/blood/src/aitchern.cpp index 67def16b5..824d60616 100644 --- a/source/games/blood/src/aitchern.cpp +++ b/source/games/blood/src/aitchern.cpp @@ -29,22 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void tchernobogThinkSearch(DBloodActor*); -static void tchernobogThinkTarget(DBloodActor*); -static void tchernobogThinkGoto(DBloodActor*); -static void tchernobogThinkChase(DBloodActor*); - - -AISTATE tchernobogIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(tchernobogThinkTarget), NULL }; -AISTATE tchernobogSearch = { kAiStateSearch, 8, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(tchernobogThinkSearch), &tchernobogIdle }; -AISTATE tchernobogChase = { kAiStateChase, 8, nullptr, 0, NULL, &AF(aiMoveForward), &AF(tchernobogThinkChase), NULL }; -AISTATE tchernobogRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &tchernobogSearch }; -AISTATE tchernobogGoto = { kAiStateMove, 8, nullptr, 600, NULL, &AF(aiMoveForward), &AF(tchernobogThinkGoto), &tchernobogIdle }; -AISTATE tchernobogBurn1 = { kAiStateMove, 6, &AF(tchernobogBurnSeqCallback), 60, NULL, NULL, NULL, &tchernobogChase }; -AISTATE tchernobogBurn2 = { kAiStateChase, 6, &AF(tchernobogBurnSeqCallback2), 60, NULL, NULL, NULL, &tchernobogChase }; -AISTATE tchernobogFireAtk = { kAiStateChase, 7, &AF(tchernobogFire), 60, NULL, NULL, NULL, &tchernobogChase }; -AISTATE tchernobogTurn = { kAiStateChase, 8, nullptr, 60, NULL, &AF(aiMoveTurn), NULL, &tchernobogChase }; - static constexpr double Tchernnobog_XYOff = 350. / 16; void tchernobogFire(DBloodActor* actor) diff --git a/source/games/blood/src/aizomba.cpp b/source/games/blood/src/aizomba.cpp index e4e152a5e..6d8919037 100644 --- a/source/games/blood/src/aizomba.cpp +++ b/source/games/blood/src/aizomba.cpp @@ -29,35 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void zombaThinkSearch(DBloodActor*); -static void zombaThinkGoto(DBloodActor*); -static void zombaThinkChase(DBloodActor*); -static void zombaThinkPonder(DBloodActor*); -static void myThinkTarget(DBloodActor*); -static void myThinkSearch(DBloodActor*); -static void entryEZombie(DBloodActor*); -static void entryAIdle(DBloodActor*); -static void entryEStand(DBloodActor*); - - -AISTATE zombieAIdle = { kAiStateIdle, 0, nullptr, 0, &AF(entryAIdle), NULL, &AF(aiThinkTarget), NULL }; -AISTATE zombieAChase = { kAiStateChase, 8, nullptr, 0, NULL, &AF(aiMoveForward), &AF(zombaThinkChase), NULL }; -AISTATE zombieAPonder = { kAiStateOther, 0, nullptr, 0, NULL, &AF(aiMoveTurn), &AF(zombaThinkPonder), NULL }; -AISTATE zombieAGoto = { kAiStateMove, 8, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(zombaThinkGoto), &zombieAIdle }; -AISTATE zombieAHack = { kAiStateChase, 6, &AF(HackSeqCallback), 80, NULL, NULL, NULL, &zombieAPonder }; -AISTATE zombieASearch = { kAiStateSearch, 8, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(zombaThinkSearch), &zombieAIdle }; -AISTATE zombieARecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &zombieAPonder }; -AISTATE zombieATeslaRecoil = { kAiStateRecoil, 4, nullptr, 0, NULL, NULL, NULL, &zombieAPonder }; -AISTATE zombieARecoil2 = { kAiStateRecoil, 1, nullptr, 360, NULL, NULL, NULL, &zombieAStand }; -AISTATE zombieAStand = { kAiStateMove, 11, &AF(StandSeqCallback), 0, NULL, NULL, NULL, &zombieAPonder }; -AISTATE zombieEIdle = { kAiStateIdle, 12, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE zombieEUp2 = { kAiStateMove, 0, nullptr, 1, &AF(entryEZombie), NULL, NULL, &zombieASearch }; -AISTATE zombieEUp = { kAiStateMove, 9, nullptr, 180, &AF(entryEStand), NULL, NULL, &zombieEUp2 }; -AISTATE zombie2Idle = { kAiStateIdle, 0, nullptr, 0, &AF(entryAIdle), NULL, &AF(myThinkTarget), NULL }; -AISTATE zombie2Search = { kAiStateSearch, 8, nullptr, 1800, NULL, NULL, &AF(myThinkSearch), &zombie2Idle }; -AISTATE zombieSIdle = { kAiStateIdle, 10, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE zombieEStand = { kAiStateOther, 11, &AF(StandSeqCallback), 0, &AF(entryEZombie), NULL, NULL, &zombieAPonder }; - void HackSeqCallback(DBloodActor* actor) { auto target = actor->GetTarget(); diff --git a/source/games/blood/src/aizombf.cpp b/source/games/blood/src/aizombf.cpp index 46e841941..cad789d50 100644 --- a/source/games/blood/src/aizombf.cpp +++ b/source/games/blood/src/aizombf.cpp @@ -29,22 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -static void zombfThinkSearch(DBloodActor* actor); -static void zombfThinkGoto(DBloodActor* actor); -static void zombfThinkChase(DBloodActor* actor); - - -AISTATE zombieFIdle = { kAiStateIdle, 0, nullptr, 0, NULL, NULL, &AF(aiThinkTarget), NULL }; -AISTATE zombieFChase = { kAiStateChase, 8, nullptr, 0, NULL, &AF(aiMoveForward), &AF(zombfThinkChase), NULL }; -AISTATE zombieFGoto = { kAiStateMove, 8, nullptr, 600, NULL, &AF(aiMoveForward), &AF(zombfThinkGoto), &zombieFIdle }; -AISTATE zombieFDodge = { kAiStateMove, 8, nullptr, 0, NULL, &AF(aiMoveDodge), &AF(zombfThinkChase), &zombieFChase }; -AISTATE zombieFHack = { kAiStateChase, 6, &AF(zombfHackSeqCallback), 120, NULL, NULL, NULL, &zombieFChase }; -AISTATE zombieFPuke = { kAiStateChase, 9, &AF(PukeSeqCallback), 120, NULL, NULL, NULL, &zombieFChase }; -AISTATE zombieFThrow = { kAiStateChase, 6, &AF(ThrowSeqCallback), 120, NULL, NULL, NULL, &zombieFChase }; -AISTATE zombieFSearch = { kAiStateSearch, 8, nullptr, 1800, NULL, &AF(aiMoveForward), &AF(zombfThinkSearch), &zombieFIdle }; -AISTATE zombieFRecoil = { kAiStateRecoil, 5, nullptr, 0, NULL, NULL, NULL, &zombieFChase }; -AISTATE zombieFTeslaRecoil = { kAiStateRecoil, 4, nullptr, 0, NULL, NULL, NULL, &zombieFChase }; - void zombfHackSeqCallback(DBloodActor* actor) { if (actor->GetType() != kDudeZombieButcher) diff --git a/source/games/blood/src/blood.h b/source/games/blood/src/blood.h index c87322914..3b4ce5039 100644 --- a/source/games/blood/src/blood.h +++ b/source/games/blood/src/blood.h @@ -36,7 +36,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "actor.h" #include "ai.h" -#include "aistate.h" #include "aiunicult.h" #include "callback.h" #include "db.h" diff --git a/source/games/blood/src/db.h b/source/games/blood/src/db.h index b176b43b1..f3617e442 100644 --- a/source/games/blood/src/db.h +++ b/source/games/blood/src/db.h @@ -42,9 +42,6 @@ enum #pragma pack(push, 1) -struct AISTATE; - - struct MAPSIGNATURE { char signature[4]; int16_t version; diff --git a/source/games/blood/src/mapstructs.h b/source/games/blood/src/mapstructs.h index bf25af790..29af14e3f 100644 --- a/source/games/blood/src/mapstructs.h +++ b/source/games/blood/src/mapstructs.h @@ -57,7 +57,6 @@ struct walltypedisk BEGIN_BLD_NS class DBloodActor; -struct AISTATE; struct XSPRITE {