MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / GetInArena

Method GetInArena

src/SB/Game/zNPCGoalRobo.cpp:725–753  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

723}
724
725void zNPCGoalAlertFodder::GetInArena(F32 dt)
726{
727 zNPCRobot* npc;
728 xVec3 vec1;
729 xVec3 dir_want;
730 xVec3 dir;
731
732 npc = (zNPCRobot*)this->psyche->clt_owner;
733
734 xVec3Sub(&vec1, npc->arena.Pos(), npc->zNPCCommon::Pos());
735
736 F32 rot = xVec3Length(&vec1);
737
738 if (rot < 1.0f)
739 {
740 xVec3Copy(&vec1, NPCC_rightDir(npc));
741 }
742 else
743 {
744 xVec3SMulBy(&vec1, 1.0f / rot);
745 }
746
747 xVec3Copy(&dir_want, &vec1);
748
749 npc->ThrottleAdjust(dt, 6.0f, -1.0f);
750 rot = npc->TurnToFace(dt, &dir_want, -1.0f);
751 NPCC_ang_toXZDir(npc->frame->rot.angle + rot, &dir);
752 npc->ThrottleApply(dt, &dir, 0);
753}
754
755S32 zNPCGoalAlertChomper::MoveEvadePos(const xVec3* pos, F32 dt)
756{

Callers 1

ProcessMethod · 0.95

Calls 10

xVec3SubFunction · 0.85
xVec3LengthFunction · 0.85
xVec3CopyFunction · 0.85
NPCC_rightDirFunction · 0.85
xVec3SMulByFunction · 0.85
NPCC_ang_toXZDirFunction · 0.85
ThrottleAdjustMethod · 0.80
TurnToFaceMethod · 0.80
ThrottleApplyMethod · 0.80
PosMethod · 0.45

Tested by

no test coverage detected