summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2020-12-15 03:16:29 +0100
committerSergeanur <s.anureev@yandex.ua>2020-12-15 03:16:29 +0100
commitac95138c1800140b8c0ca52536d15f77786f0aed (patch)
tree7530ee2d3b9183c9b0c102941227b0e1e1061908
parentSetPedState fixes (diff)
downloadre3-ac95138c1800140b8c0ca52536d15f77786f0aed.tar
re3-ac95138c1800140b8c0ca52536d15f77786f0aed.tar.gz
re3-ac95138c1800140b8c0ca52536d15f77786f0aed.tar.bz2
re3-ac95138c1800140b8c0ca52536d15f77786f0aed.tar.lz
re3-ac95138c1800140b8c0ca52536d15f77786f0aed.tar.xz
re3-ac95138c1800140b8c0ca52536d15f77786f0aed.tar.zst
re3-ac95138c1800140b8c0ca52536d15f77786f0aed.zip
-rw-r--r--src/control/Script5.cpp3
-rw-r--r--src/peds/Ped.cpp38
-rw-r--r--src/peds/Ped.h2
-rw-r--r--src/peds/PlayerPed.cpp42
4 files changed, 5 insertions, 80 deletions
diff --git a/src/control/Script5.cpp b/src/control/Script5.cpp
index 3fa416f8..62dc33ad 100644
--- a/src/control/Script5.cpp
+++ b/src/control/Script5.cpp
@@ -2122,9 +2122,6 @@ void CTheScripts::CleanUpThisPed(CPed* pPed)
if (pPed->IsPedInControl())
pPed->SetWanderPath(CGeneral::GetRandomNumber() & 7);
if (flees) {
- if (pPed->m_nPedState == PED_FOLLOW_PATH && state != PED_FOLLOW_PATH)
- pPed->ClearFollowPath();
-
pPed->SetPedState(state);
pPed->SetMoveState(ms);
}
diff --git a/src/peds/Ped.cpp b/src/peds/Ped.cpp
index 1bf31a58..639a4b74 100644
--- a/src/peds/Ped.cpp
+++ b/src/peds/Ped.cpp
@@ -2606,40 +2606,6 @@ CPed::ProcessControl(void)
case PED_WANDER_PATH:
WanderPath();
break;
- case PED_SEEK_POS:
- case PED_SEEK_ENTITY:
- case PED_PURSUE:
- case PED_SNIPER_MODE:
- case PED_ROCKET_MODE:
- case PED_DUMMY:
- case PED_FACE_PHONE:
- case PED_MAKE_CALL:
- case PED_MUG:
- case PED_AI_CONTROL:
- case PED_FOLLOW_ROUTE:
- case PED_CPR:
- case PED_SOLICIT:
- case PED_STEP_AWAY:
- case PED_SUN_BATHE:
- case PED_FLASH:
- case PED_JOG:
- case PED_UNKNOWN:
- case PED_STATES_NO_AI:
- case PED_ABSEIL:
- case PED_SIT:
- case PED_JUMP:
- case PED_STAGGER:
- case PED_DIVE_AWAY:
- case PED_STATES_NO_ST:
- case PED_ARREST_PLAYER:
- case PED_PASSENGER:
- case PED_TAXI_PASSENGER:
- case PED_OPEN_DOOR:
- case PED_DEAD:
- case PED_DRAG_FROM_CAR:
- case PED_STEAL_CAR:
- case PED_EXIT_CAR:
- break;
case PED_ENTER_CAR:
case PED_CARJACK:
{
@@ -6446,7 +6412,7 @@ CPed::SetFollowPathStatic(void)
if (m_nLastPedState == PED_NONE)
m_nLastPedState = oldLastState;
- m_nPedState = PED_FOLLOW_PATH;
+ SetPedState(PED_FOLLOW_PATH);
m_nMoveState = m_followPathMoveState;
} else {
RestorePreviousState();
@@ -6826,7 +6792,7 @@ CPed::SetFollowPathDynamic(void)
if (m_nLastPedState == PED_NONE)
m_nLastPedState = oldLastState;
- m_nPedState = PED_FOLLOW_PATH;
+ SetPedState(PED_FOLLOW_PATH);
m_nMoveState = m_followPathMoveState;
return true;
diff --git a/src/peds/Ped.h b/src/peds/Ped.h
index f8638c4b..c2f417c4 100644
--- a/src/peds/Ped.h
+++ b/src/peds/Ped.h
@@ -974,7 +974,7 @@ public:
PedState GetPedState(void) { return m_nPedState; }
void SetPedState(PedState state)
{
- if (GetPedState() == PED_FOLLOW_PATH)
+ if (GetPedState() == PED_FOLLOW_PATH && state != PED_FOLLOW_PATH)
ClearFollowPath();
m_nPedState = state;
}
diff --git a/src/peds/PlayerPed.cpp b/src/peds/PlayerPed.cpp
index 101d342e..60499ccd 100644
--- a/src/peds/PlayerPed.cpp
+++ b/src/peds/PlayerPed.cpp
@@ -1787,46 +1787,6 @@ CPlayerPed::ProcessControl(void)
if (IsPedInControl() && m_nPedState != PED_ANSWER_MOBILE && padUsed)
ProcessPlayerWeapon(padUsed);
break;
- case PED_LOOK_ENTITY:
- case PED_LOOK_HEADING:
- case PED_WANDER_RANGE:
- case PED_WANDER_PATH:
- case PED_PURSUE:
- case PED_FOLLOW_PATH:
- case PED_ROCKET_MODE:
- case PED_DUMMY:
- case PED_PAUSE:
- case PED_FACE_PHONE:
- case PED_MAKE_CALL:
- case PED_CHAT:
- case PED_MUG:
- case PED_AI_CONTROL:
- case PED_FOLLOW_ROUTE:
- case PED_CPR:
- case PED_SOLICIT:
- case PED_BUY_ICECREAM:
- case PED_INVESTIGATE:
- case PED_STEP_AWAY:
- case PED_ON_FIRE:
- case PED_SUN_BATHE:
- case PED_FLASH:
- case PED_JOG:
- case PED_UNKNOWN:
- case PED_STATES_NO_AI:
- case PED_ABSEIL:
- case PED_SIT:
- case PED_STAGGER:
- case PED_DIVE_AWAY:
- case PED_STATES_NO_ST:
- case PED_ARREST_PLAYER:
- case PED_DRIVING:
- case PED_PASSENGER:
- case PED_TAXI_PASSENGER:
- case PED_OPEN_DOOR:
- case PED_DIE:
- case PED_DEAD:
- case PED_HANDS_UP:
- break;
case PED_SEEK_ENTITY:
m_vecSeekPos = m_pSeekTarget->GetPosition();
@@ -1906,6 +1866,8 @@ CPlayerPed::ProcessControl(void)
if (m_nLastPedState == PED_DRAG_FROM_CAR && m_pVehicleAnim)
BeingDraggedFromCar();
break;
+ default:
+ break;
}
if (padUsed && IsPedShootable() && m_nPedState != PED_ANSWER_MOBILE && m_nLastPedState != PED_ANSWER_MOBILE) {
ProcessWeaponSwitch(padUsed);