Finalized actor_patrol

This commit is contained in:
smallmodel 2023-10-22 16:26:28 +02:00
parent adf081ba3c
commit 6f58b34f87
No known key found for this signature in database
GPG key ID: 9F2D623CEDF08512

View file

@ -47,13 +47,16 @@ void Actor::End_Patrol(void)
parm.movefail = true; parm.movefail = true;
} }
void Actor::Resume_Patrol(void) void Actor::Resume_Patrol(void) {}
{
}
void Actor::Think_Patrol(void) void Actor::Think_Patrol(void)
{ {
if (Actor::RequireThink()) { bool bMoveInRadius;
if (!RequireThink()) {
return;
}
parm.movefail = false; parm.movefail = false;
UpdateEyeOrigin(); UpdateEyeOrigin();
@ -61,28 +64,29 @@ void Actor::Think_Patrol(void)
m_pszDebugState = ""; m_pszDebugState = "";
m_csPatrolCurrentAnim = STRING_ANIM_PATROL_SCR; m_csPatrolCurrentAnim = STRING_ANIM_PATROL_SCR;
bMoveInRadius = MoveToPatrolCurrentNode();
if (m_fLookAroundFov > 1.0) { if (m_fLookAroundFov > 1.0) {
LookAround(m_fLookAroundFov); LookAround(m_fLookAroundFov);
} }
CheckForThinkStateTransition(); CheckForThinkStateTransition();
if (m_patrolCurrentNode) {
if (!MoveToPatrolCurrentNode()) { if (!m_patrolCurrentNode) {
PostThink(true);
return;
}
} else {
SetThinkIdle(THINK_IDLE); SetThinkIdle(THINK_IDLE);
m_bScriptGoalValid = false; m_bScriptGoalValid = false;
}
parm.movedone = true;
parm.movedone = true;
Unregister(STRING_MOVEDONE); Unregister(STRING_MOVEDONE);
} else if (bMoveInRadius) {
ClearPatrolCurrentNode();
SetThinkIdle(THINK_IDLE);
parm.movedone = true;
Unregister(STRING_MOVEDONE);
}
PostThink(true); PostThink(true);
return;
}
} }
void Actor::ShowInfo_Patrol(void) void Actor::ShowInfo_Patrol(void)