summaryrefslogtreecommitdiffstats
path: root/src/control/CarAI.cpp
diff options
context:
space:
mode:
authorNikolay Korolev <nickvnuk@gmail.com>2020-11-16 20:20:56 +0100
committerNikolay Korolev <nickvnuk@gmail.com>2020-11-16 20:20:56 +0100
commitb9b9dabd7540faa4ce78159908c3c80b3253468e (patch)
treefcfa7458c97576ec9beaaaef93357cfecca27a56 /src/control/CarAI.cpp
parentMerge branch 'miami' into lcs-dev (diff)
downloadre3-b9b9dabd7540faa4ce78159908c3c80b3253468e.tar
re3-b9b9dabd7540faa4ce78159908c3c80b3253468e.tar.gz
re3-b9b9dabd7540faa4ce78159908c3c80b3253468e.tar.bz2
re3-b9b9dabd7540faa4ce78159908c3c80b3253468e.tar.lz
re3-b9b9dabd7540faa4ce78159908c3c80b3253468e.tar.xz
re3-b9b9dabd7540faa4ce78159908c3c80b3253468e.tar.zst
re3-b9b9dabd7540faa4ce78159908c3c80b3253468e.zip
Diffstat (limited to 'src/control/CarAI.cpp')
-rw-r--r--src/control/CarAI.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/control/CarAI.cpp b/src/control/CarAI.cpp
index a3fcbf9a..c8e80c32 100644
--- a/src/control/CarAI.cpp
+++ b/src/control/CarAI.cpp
@@ -4,6 +4,7 @@
#include "Accident.h"
#include "AutoPilot.h"
+#include "Bridge.h"
#include "CarCtrl.h"
#include "General.h"
#include "HandlingMgr.h"
@@ -74,6 +75,18 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
case STATUS_PLAYER_DISABLED:
break;
case STATUS_SIMPLE:
+ {
+ if (pVehicle->m_pCurGroundEntity && CBridge::ThisIsABridgeObjectMovingUp(pVehicle->m_pCurGroundEntity->GetModelIndex()))
+ pVehicle->SetStatus(STATUS_PHYSICS);
+ CColPoint colPoint;
+ CEntity* pEntity;
+ if (pVehicle->m_randomSeed & 0x3F == CTimer::GetFrameCounter() & 0x3F &&
+ !CWorld::ProcessVerticalLine(pVehicle->GetPosition(), -2.0f, colPoint, pEntity, true, false, false, false, true, false, nil)) {
+ debug("FLOATING CAR TURNED INTO PHYSICS CAR!\n");
+ pVehicle->SetStatus(STATUS_PHYSICS);
+ }
+ }
+ // fallthough
case STATUS_PHYSICS:
switch (pVehicle->AutoPilot.m_nCarMission) {
case MISSION_RAMPLAYER_FARAWAY: