From 523400772eea08b89df9c71d9ee8daeba5e156fd Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 27 Sep 2022 22:26:32 +0200 Subject: [PATCH] - floatified zombaThinkChase and zombaThinkPonder --- source/games/blood/src/aizomba.cpp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/source/games/blood/src/aizomba.cpp b/source/games/blood/src/aizomba.cpp index 2295d53fc..e7e7a2a1e 100644 --- a/source/games/blood/src/aizomba.cpp +++ b/source/games/blood/src/aizomba.cpp @@ -113,9 +113,9 @@ static void zombaThinkChase(DBloodActor* actor) auto target = actor->GetTarget(); auto dvec = target->spr.pos.XY() - actor->spr.pos.XY(); - int nAngle = getangle(dvec); - int nDist = approxDist(dvec); - aiChooseDirection(actor, DAngle::fromBuild(nAngle)); + DAngle nAngle = VecToAngle(dvec); + double nDist = dvec.Length(); + aiChooseDirection(actor, nAngle); if (target->xspr.health == 0) { @@ -132,16 +132,16 @@ static void zombaThinkChase(DBloodActor* actor) actor->spr.type = kDudeZombieAxeNormal; - if (nDist <= pDudeInfo->seeDist) + if (nDist <= pDudeInfo->SeeDist()) { - int nDeltaAngle = getincangle(actor->int_ang(), nAngle); + DAngle nDeltaAngle = absangle(actor->spr.angle, nAngle); double height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) * REPEAT_SCALE; if (cansee(target->spr.pos, target->sector(), actor->spr.pos.plusZ(-height), actor->sector())) { - if (abs(nDeltaAngle) <= pDudeInfo->periphery) + if (nDeltaAngle <= pDudeInfo->Periphery()) { aiSetTarget(actor, actor->GetTarget()); - if (nDist < 0x400 && abs(nDeltaAngle) < 85) + if (nDist < 0x40 && nDeltaAngle < DAngle15) aiNewState(actor, &zombieAHack); return; } @@ -165,9 +165,9 @@ static void zombaThinkPonder(DBloodActor* actor) auto target = actor->GetTarget(); auto dvec = target->spr.pos.XY() - actor->spr.pos.XY(); - int nAngle = getangle(dvec); - int nDist = approxDist(dvec); - aiChooseDirection(actor, DAngle::fromBuild(nAngle)); + DAngle nAngle = VecToAngle(dvec); + double nDist = dvec.Length(); + aiChooseDirection(actor, nAngle); if (target->xspr.health == 0) { aiNewState(actor, &zombieASearch); @@ -179,18 +179,18 @@ static void zombaThinkPonder(DBloodActor* actor) return; } - if (nDist <= pDudeInfo->seeDist) + if (nDist <= pDudeInfo->SeeDist()) { - int nDeltaAngle = getincangle(actor->int_ang(), nAngle); + DAngle nDeltaAngle = absangle(actor->spr.angle, nAngle); double height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) * REPEAT_SCALE; if (cansee(target->spr.pos, target->sector(), actor->spr.pos.plusZ(-height), actor->sector())) { - if (abs(nDeltaAngle) <= pDudeInfo->periphery) + if (nDeltaAngle <= pDudeInfo->Periphery()) { aiSetTarget(actor, actor->GetTarget()); - if (nDist < 0x400) + if (nDist < 0x40) { - if (abs(nDeltaAngle) < 85) + if (nDeltaAngle < DAngle15) { sfxPlay3DSound(actor, 1101, 1, 0); aiNewState(actor, &zombieAHack);