summaryrefslogtreecommitdiffstats
path: root/src/control/CarAI.cpp
diff options
context:
space:
mode:
authorNikolay <nickvnuk@gmail.com>2021-01-09 15:43:47 +0100
committerGitHub <noreply@github.com>2021-01-09 15:43:47 +0100
commit3a2a4dee5c26be15cfca7f3a8bbeff085b00d026 (patch)
tree4cbea1fb214622f77142b99a1b55d71dbf77453c /src/control/CarAI.cpp
parentChange window name (diff)
parentfix (diff)
downloadre3-3a2a4dee5c26be15cfca7f3a8bbeff085b00d026.tar
re3-3a2a4dee5c26be15cfca7f3a8bbeff085b00d026.tar.gz
re3-3a2a4dee5c26be15cfca7f3a8bbeff085b00d026.tar.bz2
re3-3a2a4dee5c26be15cfca7f3a8bbeff085b00d026.tar.lz
re3-3a2a4dee5c26be15cfca7f3a8bbeff085b00d026.tar.xz
re3-3a2a4dee5c26be15cfca7f3a8bbeff085b00d026.tar.zst
re3-3a2a4dee5c26be15cfca7f3a8bbeff085b00d026.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 e7f3a546..06438e0a 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: