summaryrefslogtreecommitdiffstats
path: root/src/control
diff options
context:
space:
mode:
authorNikolay Korolev <nickvnuk@gmail.com>2020-05-06 00:11:06 +0200
committerNikolay Korolev <nickvnuk@gmail.com>2020-05-06 00:11:06 +0200
commit0b104a59fe91ce7bf6d1e0fb131eff509aea9307 (patch)
tree26c7c2714b495b37df8759596127d68ce4a4e6fa /src/control
parentcolstore support in script (diff)
downloadre3-0b104a59fe91ce7bf6d1e0fb131eff509aea9307.tar
re3-0b104a59fe91ce7bf6d1e0fb131eff509aea9307.tar.gz
re3-0b104a59fe91ce7bf6d1e0fb131eff509aea9307.tar.bz2
re3-0b104a59fe91ce7bf6d1e0fb131eff509aea9307.tar.lz
re3-0b104a59fe91ce7bf6d1e0fb131eff509aea9307.tar.xz
re3-0b104a59fe91ce7bf6d1e0fb131eff509aea9307.tar.zst
re3-0b104a59fe91ce7bf6d1e0fb131eff509aea9307.zip
Diffstat (limited to 'src/control')
-rw-r--r--src/control/Script.cpp15
-rw-r--r--src/control/Script.h2
2 files changed, 17 insertions, 0 deletions
diff --git a/src/control/Script.cpp b/src/control/Script.cpp
index bd64db43..8e522203 100644
--- a/src/control/Script.cpp
+++ b/src/control/Script.cpp
@@ -249,6 +249,21 @@ void CMissionCleanup::CheckIfCollisionHasLoadedForMissionObject()
}
}
+CPhysical* CMissionCleanup::DoesThisEntityWaitForCollision(int i)
+{
+ if (m_sEntities[i].type == CLEANUP_CAR) {
+ CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(m_sEntities[i].id);
+ if (pVehicle && pVehicle->GetStatus() != STATUS_WRECKED)
+ return pVehicle;
+ }
+ else if (m_sEntities[i].type == CLEANUP_CHAR) {
+ CPed* pPed = CPools::GetPedPool()->GetAt(m_sEntities[i].id);
+ if (pPed && !pPed->DyingOrDead())
+ return pPed;
+ }
+ return nil;
+}
+
void CMissionCleanup::Process()
{
CPopulation::m_AllRandomPedsThisType = -1;
diff --git a/src/control/Script.h b/src/control/Script.h
index 85e36cbd..46c6ae20 100644
--- a/src/control/Script.h
+++ b/src/control/Script.h
@@ -6,6 +6,7 @@
class CEntity;
class CBuilding;
+class CPhysical;
class CVehicle;
class CPed;
class CObject;
@@ -132,6 +133,7 @@ public:
void RemoveEntityFromList(int32, uint8);
void Process();
void CheckIfCollisionHasLoadedForMissionObject();
+ CPhysical* DoesThisEntityWaitForCollision(int i);
};
struct CUpsideDownCarCheckEntry