mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-12-24 16:50:00 +00:00
commit
34090ab4d6
|
@ -75,6 +75,9 @@ WRAPPER void CGarages::TriggerMessage(const char *text, int16, uint16 time, int1
|
||||||
WRAPPER bool CGarages::IsPointWithinHideOutGarage(CVector&) { EAXJMP(0x428260); }
|
WRAPPER bool CGarages::IsPointWithinHideOutGarage(CVector&) { EAXJMP(0x428260); }
|
||||||
WRAPPER bool CGarages::IsPointWithinAnyGarage(CVector&) { EAXJMP(0x428320); }
|
WRAPPER bool CGarages::IsPointWithinAnyGarage(CVector&) { EAXJMP(0x428320); }
|
||||||
WRAPPER void CGarages::PlayerArrestedOrDied() { EAXJMP(0x427F60); }
|
WRAPPER void CGarages::PlayerArrestedOrDied() { EAXJMP(0x427F60); }
|
||||||
|
WRAPPER int16 CGarages::AddOne(float, float, float, float, float, float, uint8, uint32) { EAXJMP(0x421FA0); }
|
||||||
|
WRAPPER void CGarages::SetTargetCarForMissonGarage(int16, CVehicle*) { EAXJMP(0x426BD0); }
|
||||||
|
WRAPPER bool CGarages::HasCarBeenDroppedOffYet(int16) { EAXJMP(0x426C20); }
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
WRAPPER void CGarages::PrintMessages(void) { EAXJMP(0x426310); }
|
WRAPPER void CGarages::PrintMessages(void) { EAXJMP(0x426310); }
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
class CVehicle;
|
||||||
|
|
||||||
class CGarages
|
class CGarages
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -30,4 +32,7 @@ public:
|
||||||
static void PlayerArrestedOrDied();
|
static void PlayerArrestedOrDied();
|
||||||
static void Init(void);
|
static void Init(void);
|
||||||
static void Update(void);
|
static void Update(void);
|
||||||
|
static int16 AddOne(float, float, float, float, float, float, uint8, uint32);
|
||||||
|
static void SetTargetCarForMissonGarage(int16, CVehicle*);
|
||||||
|
static bool HasCarBeenDroppedOffYet(int16);
|
||||||
};
|
};
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -31,6 +31,7 @@ public:
|
||||||
static CCutsceneObject* GetCutsceneObject(int id) { return ms_pCutsceneObjects[id]; }
|
static CCutsceneObject* GetCutsceneObject(int id) { return ms_pCutsceneObjects[id]; }
|
||||||
static int GetCutsceneTimeInMilleseconds(void) { return 1000.0f * ms_cutsceneTimer; }
|
static int GetCutsceneTimeInMilleseconds(void) { return 1000.0f * ms_cutsceneTimer; }
|
||||||
static char *GetCutsceneName(void) { return ms_cutsceneName; }
|
static char *GetCutsceneName(void) { return ms_cutsceneName; }
|
||||||
|
static void SetCutsceneOffset(const CVector& vec) { ms_cutsceneOffset = vec; }
|
||||||
static bool HasCutsceneFinished(void);
|
static bool HasCutsceneFinished(void);
|
||||||
|
|
||||||
static void Initialise(void);
|
static void Initialise(void);
|
||||||
|
|
|
@ -72,6 +72,22 @@ CPlayerInfo::ArrestPlayer()
|
||||||
CStats::TimesArrested++;
|
CStats::TimesArrested++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
CPlayerInfo::IsPlayerInRemoteMode()
|
||||||
|
{
|
||||||
|
return m_pRemoteVehicle || m_bInRemoteMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CPlayerInfo::PlayerFailedCriticalMission()
|
||||||
|
{
|
||||||
|
if (m_WBState != WBSTATE_PLAYING)
|
||||||
|
return;
|
||||||
|
m_WBState = WBSTATE_FAILED_CRITICAL_MISSION;
|
||||||
|
m_nWBTime = CTimer::GetTimeInMilliseconds();
|
||||||
|
CDarkel::ResetOnPlayerDeath();
|
||||||
|
}
|
||||||
|
|
||||||
STARTPATCHES
|
STARTPATCHES
|
||||||
InjectHook(0x4A1700, &CPlayerInfo::LoadPlayerSkin, PATCH_JUMP);
|
InjectHook(0x4A1700, &CPlayerInfo::LoadPlayerSkin, PATCH_JUMP);
|
||||||
InjectHook(0x4A1750, &CPlayerInfo::DeletePlayerSkin, PATCH_JUMP);
|
InjectHook(0x4A1750, &CPlayerInfo::DeletePlayerSkin, PATCH_JUMP);
|
||||||
|
|
|
@ -75,6 +75,8 @@ public:
|
||||||
void Process(void);
|
void Process(void);
|
||||||
void KillPlayer(void);
|
void KillPlayer(void);
|
||||||
void ArrestPlayer(void);
|
void ArrestPlayer(void);
|
||||||
|
bool IsPlayerInRemoteMode(void);
|
||||||
|
void PlayerFailedCriticalMission(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
static_assert(sizeof(CPlayerInfo) == 0x13C, "CPlayerInfo: error");
|
static_assert(sizeof(CPlayerInfo) == 0x13C, "CPlayerInfo: error");
|
||||||
|
|
|
@ -998,6 +998,19 @@ CWorld::RemoveFallenCars(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CWorld::StopAllLawEnforcersInTheirTracks(void)
|
||||||
|
{
|
||||||
|
int poolSize = CPools::GetVehiclePool()->GetSize();
|
||||||
|
for (int poolIndex = poolSize - 1; poolIndex >= 0; poolIndex--) {
|
||||||
|
CVehicle* veh = CPools::GetVehiclePool()->GetSlot(poolIndex);
|
||||||
|
if (veh) {
|
||||||
|
if (veh->bIsLawEnforcer)
|
||||||
|
veh->SetMoveSpeed(0.0f, 0.0f, 0.0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CWorld::Process(void)
|
CWorld::Process(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -120,6 +120,8 @@ public:
|
||||||
static void RemoveFallenPeds();
|
static void RemoveFallenPeds();
|
||||||
static void RemoveFallenCars();
|
static void RemoveFallenCars();
|
||||||
|
|
||||||
|
static void StopAllLawEnforcersInTheirTracks();
|
||||||
|
|
||||||
static void Initialise();
|
static void Initialise();
|
||||||
static void ShutDown();
|
static void ShutDown();
|
||||||
static void RepositionCertainDynamicObjects();
|
static void RepositionCertainDynamicObjects();
|
||||||
|
|
|
@ -27,6 +27,11 @@ float &CWeather::Rainbow = *(float*)0x940598;
|
||||||
bool &CWeather::bScriptsForceRain = *(bool*)0x95CD7D;
|
bool &CWeather::bScriptsForceRain = *(bool*)0x95CD7D;
|
||||||
bool &CWeather::Stored_StateStored = *(bool*)0x95CDC1;
|
bool &CWeather::Stored_StateStored = *(bool*)0x95CDC1;
|
||||||
|
|
||||||
|
float &CWeather::Stored_InterpolationValue = *(float*)0x942F54;
|
||||||
|
int16 &CWeather::Stored_OldWeatherType = *(int16*)0x95CC68;
|
||||||
|
int16 &CWeather::Stored_NewWeatherType = *(int16*)0x95CCAE;
|
||||||
|
float &CWeather::Stored_Rain = *(float*)0x885B4C;
|
||||||
|
|
||||||
WRAPPER void CWeather::RenderRainStreaks(void) { EAXJMP(0x524550); }
|
WRAPPER void CWeather::RenderRainStreaks(void) { EAXJMP(0x524550); }
|
||||||
WRAPPER void CWeather::Update(void) { EAXJMP(0x522C10); }
|
WRAPPER void CWeather::Update(void) { EAXJMP(0x522C10); }
|
||||||
|
|
||||||
|
@ -46,3 +51,23 @@ void CWeather::ForceWeatherNow(int16 weather)
|
||||||
NewWeatherType = weather;
|
NewWeatherType = weather;
|
||||||
ForcedWeatherType = weather;
|
ForcedWeatherType = weather;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CWeather::StoreWeatherState()
|
||||||
|
{
|
||||||
|
Stored_StateStored = true;
|
||||||
|
Stored_InterpolationValue = InterpolationValue;
|
||||||
|
Stored_Rain = Rain;
|
||||||
|
Stored_NewWeatherType = NewWeatherType;
|
||||||
|
Stored_OldWeatherType = OldWeatherType;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CWeather::RestoreWeatherState()
|
||||||
|
{
|
||||||
|
#ifdef FIX_BUGS // it's not used anyway though
|
||||||
|
Stored_StateStored = false;
|
||||||
|
#endif
|
||||||
|
InterpolationValue = Stored_InterpolationValue;
|
||||||
|
Rain = Stored_Rain;
|
||||||
|
NewWeatherType = Stored_NewWeatherType;
|
||||||
|
OldWeatherType = Stored_OldWeatherType;
|
||||||
|
}
|
|
@ -32,6 +32,10 @@ public:
|
||||||
|
|
||||||
static bool &bScriptsForceRain;
|
static bool &bScriptsForceRain;
|
||||||
static bool &Stored_StateStored;
|
static bool &Stored_StateStored;
|
||||||
|
static float &Stored_InterpolationValue;
|
||||||
|
static int16 &Stored_OldWeatherType;
|
||||||
|
static int16 &Stored_NewWeatherType;
|
||||||
|
static float &Stored_Rain;
|
||||||
|
|
||||||
static void RenderRainStreaks(void);
|
static void RenderRainStreaks(void);
|
||||||
static void Update(void);
|
static void Update(void);
|
||||||
|
@ -39,4 +43,6 @@ public:
|
||||||
static void ReleaseWeather();
|
static void ReleaseWeather();
|
||||||
static void ForceWeather(int16);
|
static void ForceWeather(int16);
|
||||||
static void ForceWeatherNow(int16);
|
static void ForceWeatherNow(int16);
|
||||||
|
static void StoreWeatherState();
|
||||||
|
static void RestoreWeatherState();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue