summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolay Korolev <nickvnuk@gmail.com>2020-06-13 01:02:59 +0200
committerNikolay Korolev <nickvnuk@gmail.com>2020-06-13 01:02:59 +0200
commitf78f70793580d7ff63fc93f9e6e8a0aae37eb5f9 (patch)
tree66171e6fd0752e2db84a166a36c6d1ae3ed8921b
parentdebug fix (diff)
downloadre3-f78f70793580d7ff63fc93f9e6e8a0aae37eb5f9.tar
re3-f78f70793580d7ff63fc93f9e6e8a0aae37eb5f9.tar.gz
re3-f78f70793580d7ff63fc93f9e6e8a0aae37eb5f9.tar.bz2
re3-f78f70793580d7ff63fc93f9e6e8a0aae37eb5f9.tar.lz
re3-f78f70793580d7ff63fc93f9e6e8a0aae37eb5f9.tar.xz
re3-f78f70793580d7ff63fc93f9e6e8a0aae37eb5f9.tar.zst
re3-f78f70793580d7ff63fc93f9e6e8a0aae37eb5f9.zip
-rw-r--r--src/control/Script.cpp18
-rw-r--r--src/core/config.h2
-rw-r--r--src/peds/Ped.cpp5
-rw-r--r--src/render/Fluff.cpp3
4 files changed, 19 insertions, 9 deletions
diff --git a/src/control/Script.cpp b/src/control/Script.cpp
index d25fb173..ec2dea87 100644
--- a/src/control/Script.cpp
+++ b/src/control/Script.cpp
@@ -3825,7 +3825,6 @@ int8 CRunningScript::ProcessCommands400To499(int32 command)
{
CollectParameters(&m_nIp, 1);
CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(ScriptParams[0]);
- assert(pVehicle);
CTheScripts::UpsideDownCars.RemoveCarFromCheck(ScriptParams[0]);
return 0;
}
@@ -5524,8 +5523,13 @@ int8 CRunningScript::ProcessCommands600To699(int32 command)
CollectParameters(&m_nIp, 2);
CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(ScriptParams[0]);
assert(pVehicle);
- assert(pVehicle->m_vehType == VEHICLE_TYPE_CAR);
- ((CAutomobile*)pVehicle)->bFixedColour = (ScriptParams[1] == 0);
+ //assert(pVehicle->m_vehType == VEHICLE_TYPE_CAR);
+ // they DO call this for bikes, we don't really want to destroy the structure...
+#ifdef FIX_BUGS
+ if (pVehicle->m_vehType == VEHICLE_TYPE_CAR)
+#endif
+ ((CAutomobile*)pVehicle)->bFixedColour = (ScriptParams[1] == 0);
+
return 0;
}
/*
@@ -7926,7 +7930,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
CollectParameters(&m_nIp, 4);
CObject* pObject = CPools::GetObjectPool()->GetAt(ScriptParams[0]);
assert(pObject);
- pObject->SetMoveSpeed(pObject->GetMoveSpeed() + *(CVector*)&ScriptParams[1] / METERS_PER_SECOND_TO_GAME_SPEED);
+ pObject->AddToMoveSpeed(*(CVector*)&ScriptParams[1] * METERS_PER_SECOND_TO_GAME_SPEED);
return 0;
}
case COMMAND_DRAW_SPRITE:
@@ -9062,7 +9066,7 @@ int8 CRunningScript::ProcessCommands1000To1099(int32 command)
{
CollectParameters(&m_nIp, 1);
debug("CLEAR_MISSION_AUDIO not implemented\n");
- //DMAudio.ClearMissionAudio();
+ //DMAudio.ClearMissionAudio(ScriptParams[0]);
return 0;
}
/*
@@ -10372,6 +10376,7 @@ int8 CRunningScript::ProcessCommands1100To1199(int32 command)
bIsBurst = pCar->Damage.GetWheelStatus(ScriptParams[1] == WHEEL_STATUS_BURST);
}
UpdateCompareFlag(bIsBurst);
+ return 0;
}
//case COMMAND_SET_CAR_DRIVE_STRAIGHT_AHEAD:
//case COMMAND_SET_CAR_WAIT:
@@ -11447,6 +11452,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command)
CPed* pPed = CWorld::Players[ScriptParams[0]].m_pPed;
assert(pPed);
pPed->bDoomAim = ScriptParams[1];
+ return 0;
}
case COMMAND_FIRE_HUNTER_GUN:
{
@@ -11806,6 +11812,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command)
CPed* pPed = CPools::GetPedPool()->GetAt(ScriptParams[0]);
assert(pPed);
UpdateCompareFlag(pPed->m_nWaitState == WAITSTATE_STUCK);
+ return 0;
}
case COMMAND_SET_ALL_TAXIS_HAVE_NITRO:
{
@@ -11827,6 +11834,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command)
pPed->bStopAndShoot = false;
}
pPed->m_nLastPedState = PED_NONE;
+ return 0;
}
case COMMAND_FREEZE_CAR_POSITION_AND_DONT_LOAD_COLLISION:
{
diff --git a/src/core/config.h b/src/core/config.h
index 104c78c9..e23b0a90 100644
--- a/src/core/config.h
+++ b/src/core/config.h
@@ -87,7 +87,7 @@ enum Config {
NUMSKIDMARKS = 32,
NUMONSCREENTIMERENTRIES = 1,
- NUMRADARBLIPS = 32,
+ NUMRADARBLIPS = 75,
NUMGENERALPICKUPS = 320,
NUMSCRIPTEDPICKUPS = 16,
NUMPICKUPS = NUMGENERALPICKUPS + NUMSCRIPTEDPICKUPS,
diff --git a/src/peds/Ped.cpp b/src/peds/Ped.cpp
index 785050c9..12b4ef8d 100644
--- a/src/peds/Ped.cpp
+++ b/src/peds/Ped.cpp
@@ -19167,10 +19167,11 @@ CPed::AttachPedToEntity(CEntity *ent, CVector offset, uint16 type, float rot, eW
void
CPed::DettachPedFromEntity(void)
{
+ CEntity* pVehicleAttachedTo = m_attachedTo;
m_attachedTo = nil;
if (m_nPedState == PED_DIE) {
- m_pCollidingEntity = m_attachedTo;
- ApplyMoveForce(m_attachedTo->GetForward() * -4.0f);
+ m_pCollidingEntity = pVehicleAttachedTo;
+ ApplyMoveForce(pVehicleAttachedTo->GetForward() * -4.0f);
bIsStanding = false;
} else if (m_nPedState != PED_DEAD) {
RestorePreviousState();
diff --git a/src/render/Fluff.cpp b/src/render/Fluff.cpp
index 9770eb0a..f0f4b25d 100644
--- a/src/render/Fluff.cpp
+++ b/src/render/Fluff.cpp
@@ -185,7 +185,7 @@ void CMovingThings::Update()
if (aMovingThings[i].m_nHidden == 0)
aMovingThings[i].Update();
}
-
+ /* I don't think these are done yet?
for (i = 0; i < 11; ++i)
{
if (aScrollBars[i].IsVisible() || (CTimer::GetFrameCounter() + i) % 8 == 0)
@@ -201,6 +201,7 @@ void CMovingThings::Update()
if (aDigitalClocks[i].IsVisible() || (CTimer::GetFrameCounter() + i) % 8 == 0)
aDigitalClocks[i].Update();
}
+ */
}
void CMovingThings::Render()