1
0
Fork 0
mirror of https://git.rip/DMCA_FUCKER/re3.git synced 2024-06-29 09:57:06 +00:00

script fix

This commit is contained in:
Nikolay Korolev 2020-06-13 02:02:59 +03:00
parent 3900366a6b
commit f78f707935
4 changed files with 19 additions and 9 deletions

View file

@ -3825,7 +3825,6 @@ int8 CRunningScript::ProcessCommands400To499(int32 command)
{ {
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(ScriptParams[0]); CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(ScriptParams[0]);
assert(pVehicle);
CTheScripts::UpsideDownCars.RemoveCarFromCheck(ScriptParams[0]); CTheScripts::UpsideDownCars.RemoveCarFromCheck(ScriptParams[0]);
return 0; return 0;
} }
@ -5524,8 +5523,13 @@ int8 CRunningScript::ProcessCommands600To699(int32 command)
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(ScriptParams[0]); CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(ScriptParams[0]);
assert(pVehicle); assert(pVehicle);
assert(pVehicle->m_vehType == VEHICLE_TYPE_CAR); //assert(pVehicle->m_vehType == VEHICLE_TYPE_CAR);
((CAutomobile*)pVehicle)->bFixedColour = (ScriptParams[1] == 0); // 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; return 0;
} }
/* /*
@ -7926,7 +7930,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
CollectParameters(&m_nIp, 4); CollectParameters(&m_nIp, 4);
CObject* pObject = CPools::GetObjectPool()->GetAt(ScriptParams[0]); CObject* pObject = CPools::GetObjectPool()->GetAt(ScriptParams[0]);
assert(pObject); 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; return 0;
} }
case COMMAND_DRAW_SPRITE: case COMMAND_DRAW_SPRITE:
@ -9062,7 +9066,7 @@ int8 CRunningScript::ProcessCommands1000To1099(int32 command)
{ {
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
debug("CLEAR_MISSION_AUDIO not implemented\n"); debug("CLEAR_MISSION_AUDIO not implemented\n");
//DMAudio.ClearMissionAudio(); //DMAudio.ClearMissionAudio(ScriptParams[0]);
return 0; return 0;
} }
/* /*
@ -10372,6 +10376,7 @@ int8 CRunningScript::ProcessCommands1100To1199(int32 command)
bIsBurst = pCar->Damage.GetWheelStatus(ScriptParams[1] == WHEEL_STATUS_BURST); bIsBurst = pCar->Damage.GetWheelStatus(ScriptParams[1] == WHEEL_STATUS_BURST);
} }
UpdateCompareFlag(bIsBurst); UpdateCompareFlag(bIsBurst);
return 0;
} }
//case COMMAND_SET_CAR_DRIVE_STRAIGHT_AHEAD: //case COMMAND_SET_CAR_DRIVE_STRAIGHT_AHEAD:
//case COMMAND_SET_CAR_WAIT: //case COMMAND_SET_CAR_WAIT:
@ -11447,6 +11452,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command)
CPed* pPed = CWorld::Players[ScriptParams[0]].m_pPed; CPed* pPed = CWorld::Players[ScriptParams[0]].m_pPed;
assert(pPed); assert(pPed);
pPed->bDoomAim = ScriptParams[1]; pPed->bDoomAim = ScriptParams[1];
return 0;
} }
case COMMAND_FIRE_HUNTER_GUN: case COMMAND_FIRE_HUNTER_GUN:
{ {
@ -11806,6 +11812,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command)
CPed* pPed = CPools::GetPedPool()->GetAt(ScriptParams[0]); CPed* pPed = CPools::GetPedPool()->GetAt(ScriptParams[0]);
assert(pPed); assert(pPed);
UpdateCompareFlag(pPed->m_nWaitState == WAITSTATE_STUCK); UpdateCompareFlag(pPed->m_nWaitState == WAITSTATE_STUCK);
return 0;
} }
case COMMAND_SET_ALL_TAXIS_HAVE_NITRO: case COMMAND_SET_ALL_TAXIS_HAVE_NITRO:
{ {
@ -11827,6 +11834,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command)
pPed->bStopAndShoot = false; pPed->bStopAndShoot = false;
} }
pPed->m_nLastPedState = PED_NONE; pPed->m_nLastPedState = PED_NONE;
return 0;
} }
case COMMAND_FREEZE_CAR_POSITION_AND_DONT_LOAD_COLLISION: case COMMAND_FREEZE_CAR_POSITION_AND_DONT_LOAD_COLLISION:
{ {

View file

@ -87,7 +87,7 @@ enum Config {
NUMSKIDMARKS = 32, NUMSKIDMARKS = 32,
NUMONSCREENTIMERENTRIES = 1, NUMONSCREENTIMERENTRIES = 1,
NUMRADARBLIPS = 32, NUMRADARBLIPS = 75,
NUMGENERALPICKUPS = 320, NUMGENERALPICKUPS = 320,
NUMSCRIPTEDPICKUPS = 16, NUMSCRIPTEDPICKUPS = 16,
NUMPICKUPS = NUMGENERALPICKUPS + NUMSCRIPTEDPICKUPS, NUMPICKUPS = NUMGENERALPICKUPS + NUMSCRIPTEDPICKUPS,

View file

@ -19167,10 +19167,11 @@ CPed::AttachPedToEntity(CEntity *ent, CVector offset, uint16 type, float rot, eW
void void
CPed::DettachPedFromEntity(void) CPed::DettachPedFromEntity(void)
{ {
CEntity* pVehicleAttachedTo = m_attachedTo;
m_attachedTo = nil; m_attachedTo = nil;
if (m_nPedState == PED_DIE) { if (m_nPedState == PED_DIE) {
m_pCollidingEntity = m_attachedTo; m_pCollidingEntity = pVehicleAttachedTo;
ApplyMoveForce(m_attachedTo->GetForward() * -4.0f); ApplyMoveForce(pVehicleAttachedTo->GetForward() * -4.0f);
bIsStanding = false; bIsStanding = false;
} else if (m_nPedState != PED_DEAD) { } else if (m_nPedState != PED_DEAD) {
RestorePreviousState(); RestorePreviousState();

View file

@ -185,7 +185,7 @@ void CMovingThings::Update()
if (aMovingThings[i].m_nHidden == 0) if (aMovingThings[i].m_nHidden == 0)
aMovingThings[i].Update(); aMovingThings[i].Update();
} }
/* I don't think these are done yet?
for (i = 0; i < 11; ++i) for (i = 0; i < 11; ++i)
{ {
if (aScrollBars[i].IsVisible() || (CTimer::GetFrameCounter() + i) % 8 == 0) 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) if (aDigitalClocks[i].IsVisible() || (CTimer::GetFrameCounter() + i) % 8 == 0)
aDigitalClocks[i].Update(); aDigitalClocks[i].Update();
} }
*/
} }
void CMovingThings::Render() void CMovingThings::Render()