remove static declarators from exported action functions.

This made GCC error out.
This commit is contained in:
Christoph Oelckers 2023-10-08 12:22:18 +02:00
parent 1298f17c38
commit 66db6c5855
19 changed files with 113 additions and 230 deletions

View file

@ -29,17 +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 };
@ -75,7 +64,7 @@ void batBiteSeqCallback(DBloodActor* actor)
actFireVector(actor, 0., 0., DVector3(actor->spr.Angles.Yaw.ToVector() * 64, height2 - height), kVectorBatBite);
}
static void batThinkTarget(DBloodActor* actor)
void batThinkTarget(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -125,13 +114,13 @@ static void batThinkTarget(DBloodActor* actor)
}
}
static void batThinkSearch(DBloodActor* actor)
void batThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
batThinkTarget(actor);
}
static void batThinkGoto(DBloodActor* actor)
void batThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -144,7 +133,7 @@ static void batThinkGoto(DBloodActor* actor)
batThinkTarget(actor);
}
static void batThinkPonder(DBloodActor* actor)
void batThinkPonder(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -196,7 +185,7 @@ static void batThinkPonder(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void batMoveDodgeUp(DBloodActor* actor)
void batMoveDodgeUp(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -213,7 +202,7 @@ static void batMoveDodgeUp(DBloodActor* actor)
actor->vel.Z = FixedToFloat(-0x52aaa);
}
static void batMoveDodgeDown(DBloodActor* actor)
void batMoveDodgeDown(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -232,7 +221,7 @@ static void batMoveDodgeDown(DBloodActor* actor)
actor->vel.Z = 4.26666;
}
static void batThinkChase(DBloodActor* actor)
void batThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -294,7 +283,7 @@ static void batThinkChase(DBloodActor* actor)
aiNewState(actor, &batHide);
}
static void batMoveForward(DBloodActor* actor)
void batMoveForward(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -319,7 +308,7 @@ static void batMoveForward(DBloodActor* actor)
});
}
static void batMoveSwoop(DBloodActor* actor)
void batMoveSwoop(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -343,7 +332,7 @@ static void batMoveSwoop(DBloodActor* actor)
actor->vel.Z = 4.26666;
}
static void batMoveFly(DBloodActor* actor)
void batMoveFly(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);

View file

@ -29,16 +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 };
@ -156,19 +146,19 @@ void StompSeqCallback(DBloodActor* actor)
sfxPlay3DSound(actor, 9015 + Random(2), -1, 0);
}
static void MorphToBeast(DBloodActor* actor)
void MorphToBeast(DBloodActor* actor)
{
actHealDude(actor, dudeInfo[51].startHealth, dudeInfo[51].startHealth);
actor->ChangeType(kDudeBeast);
}
static void beastThinkSearch(DBloodActor* actor)
void beastThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void beastThinkGoto(DBloodActor* actor)
void beastThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -189,7 +179,7 @@ static void beastThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void beastThinkChase(DBloodActor* actor)
void beastThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -320,7 +310,7 @@ static void beastThinkChase(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void beastThinkSwimGoto(DBloodActor* actor)
void beastThinkSwimGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -333,7 +323,7 @@ static void beastThinkSwimGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void beastThinkSwimChase(DBloodActor* actor)
void beastThinkSwimChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -387,7 +377,7 @@ static void beastThinkSwimChase(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void beastMoveForward(DBloodActor* actor)
void beastMoveForward(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -403,7 +393,7 @@ static void beastMoveForward(DBloodActor* actor)
actor->vel.XY() += actor->spr.Angles.Yaw.ToVector() * pDudeInfo->FrontSpeed();
}
static void beastMoveSwim(DBloodActor* actor)
void beastMoveSwim(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -427,7 +417,7 @@ static void beastMoveSwim(DBloodActor* actor)
});
}
static void beastMoveSwimAlt(DBloodActor* actor)
void beastMoveSwimAlt(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -457,7 +447,7 @@ static void beastMoveSwimAlt(DBloodActor* actor)
actor->vel.Z = -dz / 256;
}
static void beastMoveIn(DBloodActor* actor)
void beastMoveIn(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);

View file

@ -29,17 +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 };
@ -87,7 +76,7 @@ void eelBiteSeqCallback(DBloodActor* actor)
actFireVector(actor, 0., 0., vect, kVectorBoneelBite);
}
static void eelThinkTarget(DBloodActor* actor)
void eelThinkTarget(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -138,13 +127,13 @@ static void eelThinkTarget(DBloodActor* actor)
}
}
static void eelThinkSearch(DBloodActor* actor)
void eelThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
eelThinkTarget(actor);
}
static void eelThinkGoto(DBloodActor* actor)
void eelThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -157,7 +146,7 @@ static void eelThinkGoto(DBloodActor* actor)
eelThinkTarget(actor);
}
static void eelThinkPonder(DBloodActor* actor)
void eelThinkPonder(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -211,7 +200,7 @@ static void eelThinkPonder(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void eelMoveDodgeUp(DBloodActor* actor)
void eelMoveDodgeUp(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -228,7 +217,7 @@ static void eelMoveDodgeUp(DBloodActor* actor)
actor->vel.Z = -0.5;
}
static void eelMoveDodgeDown(DBloodActor* actor)
void eelMoveDodgeDown(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -247,7 +236,7 @@ static void eelMoveDodgeDown(DBloodActor* actor)
actor->vel.Z = 4.26666;
}
static void eelThinkChase(DBloodActor* actor)
void eelThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -304,7 +293,7 @@ static void eelThinkChase(DBloodActor* actor)
aiNewState(actor, &eelSearch);
}
static void eelMoveForward(DBloodActor* actor)
void eelMoveForward(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -329,7 +318,7 @@ static void eelMoveForward(DBloodActor* actor)
}
static void eelMoveSwoop(DBloodActor* actor)
void eelMoveSwoop(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -350,7 +339,7 @@ static void eelMoveSwoop(DBloodActor* actor)
actor->vel.Z = FixedToFloat(0x22222);
}
static void eelMoveAscend(DBloodActor* actor)
void eelMoveAscend(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);

View file

@ -29,9 +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 };
@ -74,13 +71,13 @@ void BurnSeqCallback(DBloodActor*)
{
}
static void burnThinkSearch(DBloodActor* actor)
void burnThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void burnThinkGoto(DBloodActor* actor)
void burnThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -120,7 +117,7 @@ static void burnThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void burnThinkChase(DBloodActor* actor)
void burnThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{

View file

@ -29,14 +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 };
@ -79,13 +71,13 @@ void SeqAttackCallback(DBloodActor* actor)
sfxPlay3DSound(actor, 1002, -1, 0);
}
static void calebThinkSearch(DBloodActor* actor)
void calebThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void calebThinkGoto(DBloodActor* actor)
void calebThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -107,7 +99,7 @@ static void calebThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void calebThinkChase(DBloodActor* actor)
void calebThinkChase(DBloodActor* actor)
{
auto pSector = actor->sector();
auto pXSector = pSector->hasX() ? &pSector->xs() : nullptr;
@ -208,7 +200,7 @@ static void calebThinkChase(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void calebThinkSwimGoto(DBloodActor* actor)
void calebThinkSwimGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -221,7 +213,7 @@ static void calebThinkSwimGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void calebThinkSwimChase(DBloodActor* actor)
void calebThinkSwimChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -272,7 +264,7 @@ static void calebThinkSwimChase(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void calebMoveSwimChase(DBloodActor* actor)
void calebMoveSwimChase(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -297,7 +289,7 @@ static void calebMoveSwimChase(DBloodActor* actor)
}
static void calebSwimUnused(DBloodActor* actor)
void calebSwimUnused(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -325,7 +317,7 @@ static void calebSwimUnused(DBloodActor* actor)
actor->vel.Z = -dz / 256;
}
static void calebSwimMoveIn(DBloodActor* actor)
void calebSwimMoveIn(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);

View file

@ -29,10 +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 };
@ -207,13 +203,13 @@ void cerberusBurnSeqCallback2(DBloodActor* actor)
}
}
static void cerberusThinkSearch(DBloodActor* actor)
void cerberusThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void cerberusThinkTarget(DBloodActor* actor)
void cerberusThinkTarget(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -269,7 +265,7 @@ static void cerberusThinkTarget(DBloodActor* actor)
}
}
static void cerberusThinkGoto(DBloodActor* actor)
void cerberusThinkGoto(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -294,7 +290,7 @@ static void cerberusThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void cerberusThinkChase(DBloodActor* actor)
void cerberusThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr) {
switch (actor->GetType()) {

View file

@ -29,9 +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 };
@ -163,7 +160,7 @@ void cultThrowSeqCallback3(DBloodActor* actor)
pMissile->xspr.Impact = 1;
}
static bool TargetNearExplosion(sectortype* sector)
bool TargetNearExplosion(sectortype* sector)
{
BloodSectIterator it(sector);
while (auto actor = it.Next())
@ -174,13 +171,13 @@ static bool TargetNearExplosion(sectortype* sector)
return false;
}
static void cultThinkSearch(DBloodActor* actor)
void cultThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiLookForTarget(actor);
}
static void cultThinkGoto(DBloodActor* actor)
void cultThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -204,7 +201,7 @@ static void cultThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void cultThinkChase(DBloodActor* actor)
void cultThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{

View file

@ -29,19 +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 };
@ -70,7 +57,7 @@ AISTATE gargoyleFDodgeDownLeft = { kAiStateMove, 0, nullptr, 90, NULL, &AF(gargM
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) {
void playStatueBreakSnd(DBloodActor* actor) {
aiPlay3DSound(actor, 313, AI_SFX_PRIORITY_1, -1);
}
@ -173,7 +160,7 @@ void ThrowSSeqCallback(DBloodActor* actor)
actFireThing(actor, 0., 0., actor->dudeSlope * 0.25 - 0.11444, kThingBone, Chance(0x6000) ? 19.2 : 17.066666);
}
static void gargThinkTarget(DBloodActor* actor)
void gargThinkTarget(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -226,13 +213,13 @@ static void gargThinkTarget(DBloodActor* actor)
}
}
static void gargThinkSearch(DBloodActor* actor)
void gargThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiLookForTarget(actor);
}
static void gargThinkGoto(DBloodActor* actor)
void gargThinkGoto(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -248,7 +235,7 @@ static void gargThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void gargMoveDodgeUp(DBloodActor* actor)
void gargMoveDodgeUp(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -268,7 +255,7 @@ static void gargMoveDodgeUp(DBloodActor* actor)
actor->vel.Z = FixedToFloat(-0x1d555);
}
static void gargMoveDodgeDown(DBloodActor* actor)
void gargMoveDodgeDown(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -290,7 +277,7 @@ static void gargMoveDodgeDown(DBloodActor* actor)
actor->vel.Z = 4.26666;
}
static void gargThinkChase(DBloodActor* actor)
void gargThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -469,21 +456,21 @@ static void gargThinkChase(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void entryFStatue(DBloodActor* actor)
void entryFStatue(DBloodActor* actor)
{
DUDEINFO* pDudeInfo = &dudeInfo[6];
actHealDude(actor, pDudeInfo->startHealth, pDudeInfo->startHealth);
actor->ChangeType(kDudeGargoyleFlesh);
}
static void entrySStatue(DBloodActor* actor)
void entrySStatue(DBloodActor* actor)
{
DUDEINFO* pDudeInfo = &dudeInfo[7];
actHealDude(actor, pDudeInfo->startHealth, pDudeInfo->startHealth);
actor->ChangeType(kDudeGargoyleStone);
}
static void gargMoveForward(DBloodActor* actor)
void gargMoveForward(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -511,7 +498,7 @@ static void gargMoveForward(DBloodActor* actor)
}
static void gargMoveSlow(DBloodActor* actor)
void gargMoveSlow(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -546,7 +533,7 @@ static void gargMoveSlow(DBloodActor* actor)
}
}
static void gargMoveSwoop(DBloodActor* actor)
void gargMoveSwoop(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -581,7 +568,7 @@ static void gargMoveSwoop(DBloodActor* actor)
}
static void gargMoveFly(DBloodActor* actor)
void gargMoveFly(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");

View file

@ -29,16 +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 };
@ -154,7 +144,7 @@ void ghostBlastSeqCallback(DBloodActor* actor)
}
}
static void ghostThinkTarget(DBloodActor* actor)
void ghostThinkTarget(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -206,13 +196,13 @@ static void ghostThinkTarget(DBloodActor* actor)
}
}
static void ghostThinkSearch(DBloodActor* actor)
void ghostThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void ghostThinkGoto(DBloodActor* actor)
void ghostThinkGoto(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -228,7 +218,7 @@ static void ghostThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void ghostMoveDodgeUp(DBloodActor* actor)
void ghostMoveDodgeUp(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -248,7 +238,7 @@ static void ghostMoveDodgeUp(DBloodActor* actor)
actor->vel.Z = FixedToFloat(-0x1d555);
}
static void ghostMoveDodgeDown(DBloodActor* actor)
void ghostMoveDodgeDown(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -269,7 +259,7 @@ static void ghostMoveDodgeDown(DBloodActor* actor)
actor->vel.Z = 4.26666;
}
static void ghostThinkChase(DBloodActor* actor)
void ghostThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -379,7 +369,7 @@ static void ghostThinkChase(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void ghostMoveForward(DBloodActor* actor)
void ghostMoveForward(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -406,7 +396,7 @@ static void ghostMoveForward(DBloodActor* actor)
});
}
static void ghostMoveSlow(DBloodActor* actor)
void ghostMoveSlow(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -437,7 +427,7 @@ static void ghostMoveSlow(DBloodActor* actor)
}
}
static void ghostMoveSwoop(DBloodActor* actor)
void ghostMoveSwoop(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -467,7 +457,7 @@ static void ghostMoveSwoop(DBloodActor* actor)
});
}
static void ghostMoveFly(DBloodActor* actor)
void ghostMoveFly(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");

View file

@ -29,14 +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 };
@ -69,13 +61,13 @@ void GillBiteSeqCallback(DBloodActor* actor)
actFireVector(actor, 0, 0, vec, kVectorGillBite);
}
static void gillThinkSearch(DBloodActor* actor)
void gillThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void gillThinkGoto(DBloodActor* actor)
void gillThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -97,7 +89,7 @@ static void gillThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void gillThinkChase(DBloodActor* actor)
void gillThinkChase(DBloodActor* actor)
{
auto pSector = actor->sector();
auto pXSector = pSector->hasX() ? &pSector->xs() : nullptr;
@ -192,7 +184,7 @@ static void gillThinkChase(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void gillThinkSwimGoto(DBloodActor* actor)
void gillThinkSwimGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -205,7 +197,7 @@ static void gillThinkSwimGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void gillThinkSwimChase(DBloodActor* actor)
void gillThinkSwimChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -260,7 +252,7 @@ static void gillThinkSwimChase(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void gillMoveSwimChase(DBloodActor* actor)
void gillMoveSwimChase(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -285,7 +277,7 @@ static void gillMoveSwimChase(DBloodActor* actor)
}
static void gillMoveSwimUnused(DBloodActor* actor)
void gillMoveSwimUnused(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -312,7 +304,7 @@ static void gillMoveSwimUnused(DBloodActor* actor)
actor->vel.Z = -(target->spr.pos.Z - actor->spr.pos.Z) / 256.;
}
static void gillSwimMoveIn(DBloodActor* actor)
void gillSwimMoveIn(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);

View file

@ -29,9 +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 hand13A3B4 = { kAiStateOther, 0, nullptr, 0, NULL, NULL, NULL, NULL };
@ -56,13 +53,13 @@ void HandJumpSeqCallback(DBloodActor* actor)
}
}
static void handThinkSearch(DBloodActor* actor)
void handThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void handThinkGoto(DBloodActor* actor)
void handThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -75,7 +72,7 @@ static void handThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void handThinkChase(DBloodActor* actor)
void handThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{

View file

@ -29,9 +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 };
@ -61,13 +58,13 @@ void houndBurnSeqCallback(DBloodActor* actor)
actFireMissile(actor, 0, 0, DVector3(actor->spr.Angles.Yaw.ToVector(), 0), kMissileFlameHound);
}
static void houndThinkSearch(DBloodActor* actor)
void houndThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void houndThinkGoto(DBloodActor* actor)
void houndThinkGoto(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -84,7 +81,7 @@ static void houndThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void houndThinkChase(DBloodActor* actor)
void houndThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{

View file

@ -29,9 +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 };
@ -46,7 +43,7 @@ static void innocThinkSearch(DBloodActor* actor)
aiThinkTarget(actor);
}
static void innocThinkGoto(DBloodActor* actor)
void innocThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -59,7 +56,7 @@ static void innocThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void innocThinkChase(DBloodActor* actor)
void innocThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{

View file

@ -29,9 +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 };
@ -122,13 +119,13 @@ void podExplode(DBloodActor* actor)
actRadiusDamage(actor, actor->spr.pos, actor->sector(), nDist, 1, 5 * (1 + gGameOptions.nDifficulty), dmgType, 2, nBurn);
}
static void aiPodSearch(DBloodActor* actor)
void aiPodSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void aiPodMove(DBloodActor* actor)
void aiPodMove(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -156,7 +153,7 @@ static void aiPodMove(DBloodActor* actor)
aiThinkTarget(actor);
}
static void aiPodChase(DBloodActor* actor)
void aiPodChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr) {
switch (actor->GetType()) {

View file

@ -29,10 +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 };
@ -53,13 +49,13 @@ void ratBiteSeqCallback(DBloodActor* actor)
}
}
static void ratThinkSearch(DBloodActor* actor)
void ratThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void ratThinkGoto(DBloodActor* actor)
void ratThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -72,7 +68,7 @@ static void ratThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void ratThinkChase(DBloodActor* actor)
void ratThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{

View file

@ -29,9 +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 };
@ -161,13 +158,13 @@ void SpidBirthSeqCallback(DBloodActor* actor)
}
static void spidThinkSearch(DBloodActor* actor)
void spidThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void spidThinkGoto(DBloodActor* actor)
void spidThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -180,7 +177,7 @@ static void spidThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void spidThinkChase(DBloodActor* actor)
void spidThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{

View file

@ -29,10 +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 };
@ -171,13 +167,13 @@ void tchernobogBurnSeqCallback2(DBloodActor* actor)
actFireMissile(actor, -Tchernnobog_XYOff, 0, Aim2, kMissileFireballTchernobog);
}
static void tchernobogThinkSearch(DBloodActor* actor)
void tchernobogThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void tchernobogThinkTarget(DBloodActor* actor)
void tchernobogThinkTarget(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -232,7 +228,7 @@ static void tchernobogThinkTarget(DBloodActor* actor)
}
}
static void tchernobogThinkGoto(DBloodActor* actor)
void tchernobogThinkGoto(DBloodActor* actor)
{
if (!(actor->IsDudeActor())) {
Printf(PRINT_HIGH, "actor->IsDudeActor()");
@ -248,7 +244,7 @@ static void tchernobogThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void tchernobogThinkChase(DBloodActor* actor)
void tchernobogThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{

View file

@ -29,15 +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 };
@ -80,13 +71,13 @@ void StandSeqCallback(DBloodActor* actor)
sfxPlay3DSound(actor, 1102, -1, 0);
}
static void zombaThinkSearch(DBloodActor* actor)
void zombaThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiLookForTarget(actor);
}
static void zombaThinkGoto(DBloodActor* actor)
void zombaThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -99,7 +90,7 @@ static void zombaThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void zombaThinkChase(DBloodActor* actor)
void zombaThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -151,7 +142,7 @@ static void zombaThinkChase(DBloodActor* actor)
actor->SetTarget(nullptr);
}
static void zombaThinkPonder(DBloodActor* actor)
void zombaThinkPonder(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{
@ -203,7 +194,7 @@ static void zombaThinkPonder(DBloodActor* actor)
aiNewState(actor, &zombieAChase);
}
static void myThinkTarget(DBloodActor* actor)
void myThinkTarget(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -245,24 +236,24 @@ static void myThinkTarget(DBloodActor* actor)
//
//---------------------------------------------------------------------------
static void myThinkSearch(DBloodActor* actor)
void myThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
myThinkTarget(actor);
}
static void entryEZombie(DBloodActor* actor)
void entryEZombie(DBloodActor* actor)
{
actor->ChangeType(kDudeZombieAxeNormal);
actor->spr.flags |= 1;
}
static void entryAIdle(DBloodActor* actor)
void entryAIdle(DBloodActor* actor)
{
actor->SetTarget(nullptr);
}
static void entryEStand(DBloodActor* actor)
void entryEStand(DBloodActor* actor)
{
sfxPlay3DSound(actor, 1100, -1, 0);
actor->spr.Angles.Yaw = (actor->xspr.TargetPos - actor->spr.pos).Angle();

View file

@ -29,10 +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 };
@ -80,13 +76,13 @@ void ThrowSeqCallback(DBloodActor* actor)
actFireMissile(actor, 0, 0, DVector3(actor->spr.Angles.Yaw.ToVector(), 0), kMissileButcherKnife);
}
static void zombfThinkSearch(DBloodActor* actor)
void zombfThinkSearch(DBloodActor* actor)
{
aiChooseDirection(actor, actor->xspr.goalAng);
aiThinkTarget(actor);
}
static void zombfThinkGoto(DBloodActor* actor)
void zombfThinkGoto(DBloodActor* actor)
{
assert(actor->IsDudeActor());
DUDEINFO* pDudeInfo = getDudeInfo(actor);
@ -99,7 +95,7 @@ static void zombfThinkGoto(DBloodActor* actor)
aiThinkTarget(actor);
}
static void zombfThinkChase(DBloodActor* actor)
void zombfThinkChase(DBloodActor* actor)
{
if (actor->GetTarget() == nullptr)
{