summaryrefslogtreecommitdiffstats
path: root/src/control/Script.cpp
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2020-05-17 20:20:14 +0200
committerGitHub <noreply@github.com>2020-05-17 20:20:14 +0200
commit8a7210cad162930e800f9632afd99ec15a75ebcf (patch)
treeb4f2b7bcc798fbc86867839b00cb9b79fd6eecf1 /src/control/Script.cpp
parentloading screens (diff)
parentWeapon fixes and thingies (diff)
downloadre3-8a7210cad162930e800f9632afd99ec15a75ebcf.tar
re3-8a7210cad162930e800f9632afd99ec15a75ebcf.tar.gz
re3-8a7210cad162930e800f9632afd99ec15a75ebcf.tar.bz2
re3-8a7210cad162930e800f9632afd99ec15a75ebcf.tar.lz
re3-8a7210cad162930e800f9632afd99ec15a75ebcf.tar.xz
re3-8a7210cad162930e800f9632afd99ec15a75ebcf.tar.zst
re3-8a7210cad162930e800f9632afd99ec15a75ebcf.zip
Diffstat (limited to 'src/control/Script.cpp')
-rw-r--r--src/control/Script.cpp31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/control/Script.cpp b/src/control/Script.cpp
index f496ed33..13f242e2 100644
--- a/src/control/Script.cpp
+++ b/src/control/Script.cpp
@@ -2901,13 +2901,7 @@ int8 CRunningScript::ProcessCommands200To299(int32 command)
pVehicle->AutoPilot.m_nCarMission = MISSION_CRUISE;
pVehicle->bEngineOn = true;
pPed->bUsesCollision = false;
-#ifdef FIX_BUGS
- AnimationId anim = pVehicle->GetDriverAnim();
-#else
- AnimationId anim = pVehicle->bLowVehicle ? ANIM_CAR_LSIT : ANIM_CAR_SIT;
-#endif
- pPed->m_pVehicleAnim = CAnimManager::BlendAnimation(pPed->GetClump(), ASSOCGRP_STD, anim, 100.0f);
- pPed->StopNonPartialAnims();
+ pPed->AddInCarAnims(pVehicle, true);
pPed->m_nZoneLevel = CTheZones::GetLevelFromPosition(&pPed->GetPosition());
CWorld::Add(pPed);
ScriptParams[0] = CPools::GetPedPool()->GetIndex(pPed);
@@ -4080,13 +4074,7 @@ int8 CRunningScript::ProcessCommands400To499(int32 command)
pPed->SetPedState(PED_DRIVING);
pVehicle->SetStatus(STATUS_PHYSICS);
pPed->bUsesCollision = false;
-#ifdef FIX_BUGS
- AnimationId anim = pVehicle->GetDriverAnim();
-#else
- AnimationId anim = pVehicle->bLowVehicle ? ANIM_CAR_LSIT : ANIM_CAR_SIT;
-#endif
- pPed->m_pVehicleAnim = CAnimManager::BlendAnimation(pPed->GetClump(), ASSOCGRP_STD, anim, 100.0f);
- pPed->StopNonPartialAnims();
+ pPed->AddInCarAnims(pVehicle, false);
pPed->m_nZoneLevel = CTheZones::GetLevelFromPosition(&pPed->GetPosition());
CWorld::Add(pPed);
ScriptParams[0] = CPools::GetPedPool()->GetIndex(pPed);
@@ -9753,6 +9741,12 @@ int8 CRunningScript::ProcessCommands1100To1199(int32 command)
return 0;
}
case COMMAND_IS_ANY_PICKUP_AT_COORDS:
+ {
+ CollectParameters(&m_nIp, 3);
+ CVector pos = *(CVector*)&ScriptParams[0];
+ CRunningScript::UpdateCompareFlag(CPickups::TestForPickupsInBubble(pos, 0.5f));
+ return 0;
+ }
case COMMAND_GET_FIRST_PICKUP_COORDS:
case COMMAND_GET_NEXT_PICKUP_COORDS:
case COMMAND_REMOVE_ALL_CHAR_WEAPONS:
@@ -9778,6 +9772,15 @@ int8 CRunningScript::ProcessCommands1100To1199(int32 command)
case COMMAND_IS_INT_VAR_EQUAL_TO_CONSTANT:
case COMMAND_IS_INT_LVAR_EQUAL_TO_CONSTANT:
case COMMAND_GET_DEAD_CHAR_PICKUP_COORDS:
+ {
+ CollectParameters(&m_nIp, 1);
+ CPed *pTarget = CPools::GetPedPool()->GetAt(ScriptParams[0]);
+ CVector pos;
+ pTarget->CreateDeadPedPickupCoors(&pos.x, &pos.y, &pos.z);
+ *(CVector*)&ScriptParams[0] = pos;
+ StoreParameters(&m_nIp, 3);
+ return 0;
+ }
case COMMAND_CREATE_PROTECTION_PICKUP:
case COMMAND_IS_CHAR_IN_ANY_BOAT:
case COMMAND_IS_PLAYER_IN_ANY_BOAT: