mirror of
https://github.com/halpz/re3.git
synced 2025-07-03 09:40:44 +00:00
merge
This commit is contained in:
@ -6,6 +6,8 @@
|
||||
|
||||
CAccidentManager& gAccidentManager = *(CAccidentManager*)0x87FD10;
|
||||
|
||||
WRAPPER void CAccidentManager::Update(void) { EAXJMP(0x456710); }
|
||||
|
||||
uint16 CAccidentManager::CountActiveAccidents()
|
||||
{
|
||||
uint16 accidents = 0;
|
||||
|
@ -22,6 +22,7 @@ class CAccidentManager
|
||||
public:
|
||||
uint16 CountActiveAccidents();
|
||||
CAccident* FindNearestAccident(CVector, float*);
|
||||
void Update(void);
|
||||
};
|
||||
|
||||
extern CAccidentManager& gAccidentManager;
|
@ -123,8 +123,7 @@ void CBridge::FindBridgeEntities()
|
||||
pLiftRoad = nil;
|
||||
pLiftPart = nil;
|
||||
|
||||
for (int i = 1; i < CPools::GetBuildingPool()->GetSize(); ++i)
|
||||
{
|
||||
for (int i = CPools::GetBuildingPool()->GetSize()-1; i >= 0; i--) {
|
||||
CBuilding* entry = CPools::GetBuildingPool()->GetSlot(i);
|
||||
if (entry)
|
||||
{
|
||||
|
@ -588,7 +588,7 @@ void CCarAI::MakeWayForCarWithSiren(CVehicle *pVehicle)
|
||||
CVector2D forward = pVehicle->GetMoveSpeed() / flatSpeed;
|
||||
float projection = flatSpeed * 45 + 20;
|
||||
int i = CPools::GetVehiclePool()->GetSize();
|
||||
while (i--) {
|
||||
while (--i >= 0) {
|
||||
CVehicle* vehicle = CPools::GetVehiclePool()->GetSlot(i);
|
||||
if (!vehicle)
|
||||
continue;
|
||||
|
@ -648,8 +648,7 @@ CCarCtrl::AddToCarArray(int32 id, int32 vehclass)
|
||||
void
|
||||
CCarCtrl::RemoveDistantCars()
|
||||
{
|
||||
uint32 i = CPools::GetVehiclePool()->GetSize();
|
||||
while (--i){
|
||||
for (int i = CPools::GetVehiclePool()->GetSize()-1; i >= 0; i--) {
|
||||
CVehicle* pVehicle = CPools::GetVehiclePool()->GetSlot(i);
|
||||
if (!pVehicle)
|
||||
continue;
|
||||
@ -733,8 +732,7 @@ int32
|
||||
CCarCtrl::CountCarsOfType(int32 mi)
|
||||
{
|
||||
int32 total = 0;
|
||||
uint32 i = CPools::GetVehiclePool()->GetSize();
|
||||
while (i--){
|
||||
for (int i = CPools::GetVehiclePool()->GetSize()-1; i >= 0; i--) {
|
||||
CVehicle* pVehicle = CPools::GetVehiclePool()->GetSlot(i);
|
||||
if (!pVehicle)
|
||||
continue;
|
||||
|
@ -5,4 +5,6 @@
|
||||
WRAPPER bool CCranes::IsThisCarBeingTargettedByAnyCrane(CVehicle*) { EAXJMP(0x5451E0); }
|
||||
WRAPPER bool CCranes::IsThisCarBeingCarriedByAnyCrane(CVehicle*) { EAXJMP(0x545190); }
|
||||
WRAPPER void CCranes::ActivateCrane(float, float, float, float, float, float, float, float, bool, bool, float, float) { EAXJMP(0x543650); }
|
||||
WRAPPER void CCranes::DeActivateCrane(float, float) { EAXJMP(0x543890); }
|
||||
WRAPPER void CCranes::DeActivateCrane(float, float) { EAXJMP(0x543890); }
|
||||
WRAPPER void CCranes::InitCranes(void) { EAXJMP(0x543360); }
|
||||
WRAPPER void CCranes::UpdateCranes(void) { EAXJMP(0x5439E0); }
|
@ -10,4 +10,6 @@ public:
|
||||
static bool IsThisCarBeingCarriedByAnyCrane(CVehicle*);
|
||||
static void ActivateCrane(float, float, float, float, float, float, float, float, bool, bool, float, float);
|
||||
static void DeActivateCrane(float, float);
|
||||
static void InitCranes(void);
|
||||
static void UpdateCranes(void);
|
||||
};
|
||||
|
@ -30,7 +30,7 @@ CGameLogic::InitAtStartOfGame()
|
||||
void
|
||||
CGameLogic::PassTime(uint32 time)
|
||||
{
|
||||
uint8 minutes, hours, days;
|
||||
int32 minutes, hours, days;
|
||||
|
||||
minutes = time + CClock::GetMinutes();
|
||||
hours = CClock::GetHours();
|
||||
|
@ -25,6 +25,9 @@ bool &CGarages::PlayerInGarage = *(bool *)0x95CD83;
|
||||
int32 &CGarages::PoliceCarsCollected = *(int32 *)0x941444;
|
||||
uint32 &CGarages::GarageToBeTidied = *(uint32 *)0x623570;
|
||||
|
||||
WRAPPER void CGarages::Init(void) { EAXJMP(0x421C60); }
|
||||
WRAPPER void CGarages::Update(void) { EAXJMP(0x421E40); }
|
||||
|
||||
bool
|
||||
CGarages::IsModelIndexADoor(uint32 id)
|
||||
{
|
||||
@ -119,4 +122,4 @@ void CGarages::PrintMessages()
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
@ -30,6 +30,8 @@ public:
|
||||
static bool IsPointWithinHideOutGarage(CVector&);
|
||||
static bool IsPointWithinAnyGarage(CVector&);
|
||||
static void PlayerArrestedOrDied();
|
||||
static void Init(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);
|
||||
|
@ -15,6 +15,8 @@ CPhone *&CPhoneInfo::pickedUpPhone = *(CPhone**)0x6283B0;
|
||||
bool &CPhoneInfo::isPhoneBeingPickedUp = *(bool*)0x6283B4;
|
||||
CPed *&CPhoneInfo::pedWhoPickingUpPhone = *(CPed**)0x6283B8;
|
||||
|
||||
WRAPPER void CPhoneInfo::Update(void) { EAXJMP(0x42F7A0); }
|
||||
|
||||
int
|
||||
CPhoneInfo::FindNearestFreePhone(CVector *pos)
|
||||
{
|
||||
@ -151,8 +153,8 @@ CPhoneInfo::Initialise(void)
|
||||
pickedUpPhone = nil;
|
||||
m_nMax = 0;
|
||||
m_nNum = 0;
|
||||
for (int v5 = pool->GetSize() - 1; v5 >= 0; v5--) {
|
||||
CBuilding *building = pool->GetSlot(v5);
|
||||
for (int i = pool->GetSize() - 1; i >= 0; i--) {
|
||||
CBuilding *building = pool->GetSlot(i);
|
||||
if (building) {
|
||||
if (building->m_modelIndex == MI_PHONEBOOTH1) {
|
||||
CPhone *maxPhone = &m_aPhones[m_nMax];
|
||||
|
@ -56,6 +56,7 @@ public:
|
||||
int GrabPhone(float, float);
|
||||
void Initialise(void);
|
||||
void Shutdown(void);
|
||||
void Update(void);
|
||||
};
|
||||
|
||||
extern CPhoneInfo &gPhoneInfo;
|
||||
|
@ -47,6 +47,7 @@ uint8 aWeaponBlues[] = { 0, 0, 255, 0, 255, 255, 0, 128, 255, 0, 255, 0, 128, 25
|
||||
float aWeaponScale[] = { 1.0f, 2.0f, 1.5f, 1.0f, 1.0f, 1.5f, 1.0f, 2.0f, 1.0f, 2.0f, 2.5f, 1.0f, 1.0f, 1.0f, 1.0f };
|
||||
|
||||
WRAPPER void CPacManPickups::Render(void) { EAXJMP(0x432F60); }
|
||||
WRAPPER void CPacManPickups::Update(void) { EAXJMP(0x432800); }
|
||||
|
||||
|
||||
void
|
||||
@ -296,7 +297,7 @@ CPickup::Update(CPlayerPed *player, CVehicle *vehicle, int playerId)
|
||||
m_pObject->UpdateRwFrame();
|
||||
|
||||
bool touched = false;
|
||||
for (int32 i = CPools::GetVehiclePool()->GetSize(); i > 0; i--) { // TODO: check if i > 0 is not a R* mistake
|
||||
for (int32 i = CPools::GetVehiclePool()->GetSize()-1; i >= 0; i--) {
|
||||
CVehicle *vehicle = CPools::GetVehiclePool()->GetSlot(i);
|
||||
if (vehicle != nil && vehicle->IsSphereTouchingVehicle(m_pObject->GetPosition().x, m_pObject->GetPosition().y, m_pObject->GetPosition().z, 1.5f)) {
|
||||
touched = true;
|
||||
@ -323,7 +324,7 @@ CPickup::Update(CPlayerPed *player, CVehicle *vehicle, int playerId)
|
||||
if (CTimer::GetTimeInMilliseconds() > m_nTimer)
|
||||
explode = true;
|
||||
else {// added else here since vehicle lookup is useless
|
||||
for (int32 i = CPools::GetVehiclePool()->GetSize(); i > 0; i--) { // TODO: check if i > 0 is not a R* mistake
|
||||
for (int32 i = CPools::GetVehiclePool()->GetSize()-1; i >= 0; i--) {
|
||||
CVehicle *vehicle = CPools::GetVehiclePool()->GetSlot(i);
|
||||
if (vehicle != nil && vehicle->IsSphereTouchingVehicle(m_pObject->GetPosition().x, m_pObject->GetPosition().y, m_pObject->GetPosition().z, 1.5f)) {
|
||||
explode = true;
|
||||
|
@ -106,4 +106,5 @@ class CPacManPickups
|
||||
{
|
||||
public:
|
||||
static void Render(void);
|
||||
static void Update(void);
|
||||
};
|
||||
|
@ -11,15 +11,74 @@ int32 &CPopulation::m_AllRandomPedsThisType = *(int32*)0x5FA570;
|
||||
float &CPopulation::PedDensityMultiplier = *(float*)0x5FA56C;
|
||||
uint32 &CPopulation::ms_nTotalMissionPeds = *(uint32*)0x8F5F70;
|
||||
int32 &CPopulation::MaxNumberOfPedsInUse = *(int32*)0x5FA574;
|
||||
uint32& CPopulation::ms_nNumCivMale = *(uint32*)0x8F2548;
|
||||
uint32& CPopulation::ms_nNumCivFemale = *(uint32*)0x8F5F44;
|
||||
uint32& CPopulation::ms_nNumCop = *(uint32*)0x885AFC;
|
||||
bool& CPopulation::bZoneChangeHasHappened = *(bool*)0x95CD79;
|
||||
uint32& CPopulation::ms_nNumEmergency = *(uint32*)0x94071C;
|
||||
uint32& CPopulation::m_CountDownToPedsAtStart = *(uint32*)0x95CD4F;
|
||||
uint32& CPopulation::ms_nNumGang1 = *(uint32*)0x8F1B1C;
|
||||
uint32& CPopulation::ms_nNumGang2 = *(uint32*)0x8F1B14;
|
||||
uint32& CPopulation::ms_nTotalPeds = *(uint32*)0x95CB50;
|
||||
uint32& CPopulation::ms_nNumGang3 = *(uint32*)0x8F2548;
|
||||
uint32& CPopulation::ms_nTotalGangPeds = *(uint32*)0x885AF0;
|
||||
uint32& CPopulation::ms_nNumGang4 = *(uint32*)0x8F1B2C;
|
||||
uint32& CPopulation::ms_nTotalCivPeds = *(uint32*)0x8F2C3C;
|
||||
uint32& CPopulation::ms_nNumGang5 = *(uint32*)0x8F1B30;
|
||||
uint32& CPopulation::ms_nNumDummy = *(uint32*)0x8F1A98;
|
||||
uint32& CPopulation::ms_nNumGang6 = *(uint32*)0x8F1B20;
|
||||
uint32& CPopulation::ms_nNumGang9 = *(uint32*)0x8F1B10;
|
||||
uint32& CPopulation::ms_nNumGang7 = *(uint32*)0x8F1B28;
|
||||
uint32& CPopulation::ms_nNumGang8 = *(uint32*)0x8F1B0C;
|
||||
|
||||
WRAPPER void CPopulation::Update(void) { EAXJMP(0x4F39A0); }
|
||||
WRAPPER void CPopulation::LoadPedGroups() { EAXJMP(0x4F3870); }
|
||||
WRAPPER void CPopulation::UpdatePedCount(uint32, bool) { EAXJMP(0x4F5A60); }
|
||||
WRAPPER void CPopulation::DealWithZoneChange(eLevelName oldLevel, eLevelName newLevel, bool) { EAXJMP(0x4F6200); }
|
||||
WRAPPER CPed *CPopulation::AddPedInCar(CVehicle *vehicle) { EAXJMP(0x4F5800); }
|
||||
WRAPPER bool CPopulation::IsPointInSafeZone(CVector *coors) { EAXJMP(0x4F60C0); }
|
||||
|
||||
void
|
||||
CPopulation::Initialise()
|
||||
{
|
||||
debug("Initialising CPopulation...\n");
|
||||
|
||||
ms_nNumCivMale = 0;
|
||||
m_AllRandomPedsThisType = -1;
|
||||
ms_nNumCivFemale = 0;
|
||||
PedDensityMultiplier = 1.0;
|
||||
ms_nNumCop = 0;
|
||||
bZoneChangeHasHappened = 0;
|
||||
ms_nNumEmergency = 0;
|
||||
m_CountDownToPedsAtStart = 2;
|
||||
ms_nNumGang1 = 0;
|
||||
ms_nTotalMissionPeds = 0;
|
||||
ms_nNumGang2 = 0;
|
||||
ms_nTotalPeds = 0;
|
||||
ms_nNumGang3 = 0;
|
||||
ms_nTotalGangPeds = 0;
|
||||
ms_nNumGang4 = 0;
|
||||
ms_nTotalCivPeds = 0;
|
||||
ms_nNumGang5 = 0;
|
||||
ms_nNumDummy = 0;
|
||||
ms_nNumGang6 = 0;
|
||||
ms_nNumGang9 = 0;
|
||||
ms_nNumGang7 = 0;
|
||||
ms_nNumGang8 = 0;
|
||||
|
||||
LoadPedGroups();
|
||||
DealWithZoneChange(LEVEL_COMMERCIAL, LEVEL_INDUSTRIAL, true);
|
||||
|
||||
debug("CPopulation ready\n");
|
||||
}
|
||||
|
||||
void
|
||||
CPopulation::RemovePed(CEntity* ent)
|
||||
{
|
||||
CWorld::Remove(ent);
|
||||
delete ent;
|
||||
}
|
||||
|
||||
STARTPATCHES
|
||||
InjectHook(0x4F3770, CPopulation::Initialise, PATCH_JUMP);
|
||||
ENDPATCHES
|
@ -19,7 +19,29 @@ public:
|
||||
static float &PedDensityMultiplier;
|
||||
static uint32 &ms_nTotalMissionPeds;
|
||||
static int32 &MaxNumberOfPedsInUse;
|
||||
static uint32& ms_nNumCivMale;
|
||||
static uint32 &ms_nNumCivFemale;
|
||||
static uint32 &ms_nNumCop;
|
||||
static bool &bZoneChangeHasHappened;
|
||||
static uint32 &ms_nNumEmergency;
|
||||
static uint32& m_CountDownToPedsAtStart;
|
||||
static uint32& ms_nNumGang1;
|
||||
static uint32& ms_nNumGang2;
|
||||
static uint32& ms_nTotalPeds;
|
||||
static uint32& ms_nNumGang3;
|
||||
static uint32& ms_nTotalGangPeds;
|
||||
static uint32& ms_nNumGang4;
|
||||
static uint32& ms_nTotalCivPeds;
|
||||
static uint32& ms_nNumGang5;
|
||||
static uint32& ms_nNumDummy;
|
||||
static uint32& ms_nNumGang6;
|
||||
static uint32& ms_nNumGang9;
|
||||
static uint32& ms_nNumGang7;
|
||||
static uint32& ms_nNumGang8;
|
||||
|
||||
static void Initialise();
|
||||
static void Update(void);
|
||||
static void LoadPedGroups();
|
||||
static void UpdatePedCount(uint32, bool);
|
||||
static void DealWithZoneChange(eLevelName oldLevel, eLevelName newLevel, bool);
|
||||
static CPed *AddPedInCar(CVehicle *vehicle);
|
||||
|
@ -6,5 +6,8 @@ uint16 &CRecordDataForGame::RecordingState = *(uint16*)0x95CC24;
|
||||
|
||||
uint8 &CRecordDataForChase::Status = *(uint8*)0x95CDCE;
|
||||
|
||||
WRAPPER void CRecordDataForGame::SaveOrRetrieveDataForThisFrame(void) { EAXJMP(0x4341F0); }
|
||||
|
||||
WRAPPER void CRecordDataForChase::SaveOrRetrieveDataForThisFrame(void) { EAXJMP(0x4347F0); }
|
||||
WRAPPER void CRecordDataForChase::ProcessControlCars(void) { EAXJMP(0x435540); }
|
||||
WRAPPER void CRecordDataForChase::SaveOrRetrieveCarPositions(void) { EAXJMP(0x434B20); }
|
@ -11,6 +11,7 @@ class CRecordDataForChase
|
||||
public:
|
||||
static uint8 &Status;
|
||||
|
||||
static void SaveOrRetrieveDataForThisFrame(void);
|
||||
static void ProcessControlCars(void);
|
||||
static void SaveOrRetrieveCarPositions(void);
|
||||
};
|
||||
@ -20,4 +21,6 @@ class CRecordDataForGame
|
||||
{
|
||||
public:
|
||||
static uint16 &RecordingState;
|
||||
|
||||
static void SaveOrRetrieveDataForThisFrame(void);
|
||||
};
|
||||
|
@ -1036,7 +1036,7 @@ void CReplay::TriggerPlayback(uint8 cam_mode, float cam_x, float cam_y, float ca
|
||||
bAllowLookAroundCam = true;
|
||||
bPlayingBackFromFile = false;
|
||||
OldRadioStation = DMAudio.GetRadioInCar();
|
||||
DMAudio.ChangeMusicMode(0);
|
||||
DMAudio.ChangeMusicMode(MUSICMODE_FRONTEND);
|
||||
DMAudio.SetEffectsFadeVol(0);
|
||||
DMAudio.SetMusicFadeVol(0);
|
||||
int current;
|
||||
@ -1156,7 +1156,7 @@ void CReplay::RestoreStuffFromMem(void)
|
||||
FindPlayerPed()->m_pWanted = new CWanted(PlayerWanted); /* Nice memory leak */
|
||||
CWorld::Players[0] = PlayerInfo;
|
||||
int i = CPools::GetPedPool()->GetSize();
|
||||
while (i--){
|
||||
while (--i >= 0) {
|
||||
CPed* ped = CPools::GetPedPool()->GetSlot(i);
|
||||
if (!ped)
|
||||
continue;
|
||||
@ -1174,7 +1174,7 @@ void CReplay::RestoreStuffFromMem(void)
|
||||
ped->AddWeaponModel(ped->m_wepModelID);
|
||||
}
|
||||
i = CPools::GetVehiclePool()->GetSize();
|
||||
while (i--){
|
||||
while (--i >= 0) {
|
||||
CVehicle* vehicle = CPools::GetVehiclePool()->GetSlot(i);
|
||||
if (!vehicle)
|
||||
continue;
|
||||
@ -1233,7 +1233,7 @@ void CReplay::RestoreStuffFromMem(void)
|
||||
}
|
||||
PrintElementsInPtrList();
|
||||
i = CPools::GetObjectPool()->GetSize();
|
||||
while (i--){
|
||||
while (--i >= 0) {
|
||||
CObject* object = CPools::GetObjectPool()->GetSlot(i);
|
||||
if (!object)
|
||||
continue;
|
||||
@ -1248,7 +1248,7 @@ void CReplay::RestoreStuffFromMem(void)
|
||||
object->GetMatrix().AttachRW(RwFrameGetMatrix(RpAtomicGetFrame(object->m_rwObject)), false);
|
||||
}
|
||||
i = CPools::GetDummyPool()->GetSize();
|
||||
while (i--){
|
||||
while (--i >= 0) {
|
||||
CDummy* dummy = CPools::GetDummyPool()->GetSlot(i);
|
||||
if (!dummy)
|
||||
continue;
|
||||
@ -1282,9 +1282,9 @@ void CReplay::RestoreStuffFromMem(void)
|
||||
}
|
||||
delete[] pPedAnims;
|
||||
pPedAnims = nil;
|
||||
DMAudio.ChangeMusicMode(0);
|
||||
DMAudio.ChangeMusicMode(MUSICMODE_FRONTEND);
|
||||
DMAudio.SetRadioInCar(OldRadioStation);
|
||||
DMAudio.ChangeMusicMode(1);
|
||||
DMAudio.ChangeMusicMode(MUSICMODE_GAME);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1294,7 +1294,7 @@ WRAPPER void CReplay::EmptyPedsAndVehiclePools(void) { EAXJMP(0x5970E0); }
|
||||
void CReplay::EmptyPedsAndVehiclePools(void)
|
||||
{
|
||||
int i = CPools::GetVehiclePool()->GetSize();
|
||||
while (i--) {
|
||||
while (--i >= 0) {
|
||||
CVehicle* v = CPools::GetVehiclePool()->GetSlot(i);
|
||||
if (!v)
|
||||
continue;
|
||||
@ -1302,7 +1302,7 @@ void CReplay::EmptyPedsAndVehiclePools(void)
|
||||
delete v;
|
||||
}
|
||||
i = CPools::GetPedPool()->GetSize();
|
||||
while (i--) {
|
||||
while (--i >= 0) {
|
||||
CPed* p = CPools::GetPedPool()->GetSlot(i);
|
||||
if (!p)
|
||||
continue;
|
||||
@ -1319,7 +1319,7 @@ void CReplay::EmptyAllPools(void)
|
||||
{
|
||||
EmptyPedsAndVehiclePools();
|
||||
int i = CPools::GetObjectPool()->GetSize();
|
||||
while (i--) {
|
||||
while (--i >= 0) {
|
||||
CObject* o = CPools::GetObjectPool()->GetSlot(i);
|
||||
if (!o)
|
||||
continue;
|
||||
@ -1327,7 +1327,7 @@ void CReplay::EmptyAllPools(void)
|
||||
delete o;
|
||||
}
|
||||
i = CPools::GetDummyPool()->GetSize();
|
||||
while (i--) {
|
||||
while (--i >= 0) {
|
||||
CDummy* d = CPools::GetDummyPool()->GetSlot(i);
|
||||
if (!d)
|
||||
continue;
|
||||
@ -1343,14 +1343,14 @@ WRAPPER void CReplay::MarkEverythingAsNew(void) { EAXJMP(0x597280); }
|
||||
void CReplay::MarkEverythingAsNew(void)
|
||||
{
|
||||
int i = CPools::GetVehiclePool()->GetSize();
|
||||
while (i--) {
|
||||
while (--i >= 0) {
|
||||
CVehicle* v = CPools::GetVehiclePool()->GetSlot(i);
|
||||
if (!v)
|
||||
continue;
|
||||
v->bHasAlreadyBeenRecorded = false;
|
||||
}
|
||||
i = CPools::GetPedPool()->GetSize();
|
||||
while (i--) {
|
||||
while (--i >= 0) {
|
||||
CPed* p = CPools::GetPedPool()->GetSlot(i);
|
||||
if (!p)
|
||||
continue;
|
||||
|
@ -2,4 +2,6 @@
|
||||
#include "patcher.h"
|
||||
#include "RoadBlocks.h"
|
||||
|
||||
WRAPPER void CRoadBlocks::Init(void) { EAXJMP(0x436F50); }
|
||||
WRAPPER void CRoadBlocks::GenerateRoadBlockCopsForCar(CVehicle*, int32, int16) { EAXJMP(0x4376A0); }
|
||||
WRAPPER void CRoadBlocks::GenerateRoadBlocks(void) { EAXJMP(0x436FA0); }
|
@ -6,5 +6,7 @@ class CVehicle;
|
||||
class CRoadBlocks
|
||||
{
|
||||
public:
|
||||
static void Init(void);
|
||||
static void GenerateRoadBlockCopsForCar(CVehicle*, int32, int16);
|
||||
static void GenerateRoadBlocks(void);
|
||||
};
|
||||
|
5
src/control/SceneEdit.cpp
Normal file
5
src/control/SceneEdit.cpp
Normal file
@ -0,0 +1,5 @@
|
||||
#include "common.h"
|
||||
#include "patcher.h"
|
||||
#include "SceneEdit.h"
|
||||
|
||||
WRAPPER void CSceneEdit::Update(void) { EAXJMP(0x585570); }
|
7
src/control/SceneEdit.h
Normal file
7
src/control/SceneEdit.h
Normal file
@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
class CSceneEdit
|
||||
{
|
||||
public:
|
||||
static void Update(void);
|
||||
};
|
@ -670,12 +670,12 @@ void CRunningScript::Process()
|
||||
if (!CPad::GetPad(0)->GetCrossJustDown())
|
||||
return;
|
||||
m_nWakeTime = 0;
|
||||
for (int i = 0; i < 6; i++){ /* TODO: add constant for number of messages */
|
||||
if (CMessages::BIGMessages[i].m_Current.m_pText)
|
||||
CMessages::BIGMessages[i].m_Current.m_nStartTime = 0;
|
||||
if (CMessages::BriefMessages[0].m_pText)
|
||||
CMessages::BriefMessages[0].m_nStartTime = 0;
|
||||
for (int i = 0; i < NUMBIGMESSAGES; i++){
|
||||
if (CMessages::BIGMessages[i].m_Stack[0].m_pText != nil)
|
||||
CMessages::BIGMessages[i].m_Stack[0].m_nStartTime = 0;
|
||||
}
|
||||
if (CMessages::BriefMessages[0].m_pText != nil)
|
||||
CMessages::BriefMessages[0].m_nStartTime = 0;
|
||||
}
|
||||
|
||||
int8 CRunningScript::ProcessOneCommand()
|
||||
@ -2191,7 +2191,7 @@ int8 CRunningScript::ProcessCommandsFrom100To199(int32 command)
|
||||
wchar* key = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]);
|
||||
m_nIp += 8;
|
||||
CollectParameters(&m_nIp, 2);
|
||||
CMessages::AddMessage(key, ScriptParams[0], ScriptParams[1]);
|
||||
CMessages::AddMessageSoon(key, ScriptParams[0], ScriptParams[1]);
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_CLEAR_PRINTS:
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include "Vehicle.h"
|
||||
|
||||
WRAPPER void CTrafficLights::DisplayActualLight(CEntity *ent) { EAXJMP(0x455800); }
|
||||
WRAPPER void CTrafficLights::ScanForLightsOnMap(void) { EAXJMP(0x454F40); }
|
||||
WRAPPER bool CTrafficLights::ShouldCarStopForLight(CVehicle*, bool) { EAXJMP(0x455350); }
|
||||
WRAPPER bool CTrafficLights::ShouldCarStopForBridge(CVehicle*) { EAXJMP(0x456460); }
|
||||
|
||||
|
@ -13,6 +13,7 @@ class CTrafficLights
|
||||
{
|
||||
public:
|
||||
static void DisplayActualLight(CEntity *ent);
|
||||
static void ScanForLightsOnMap(void);
|
||||
static uint8 LightForPeds(void);
|
||||
static bool ShouldCarStopForLight(CVehicle*, bool);
|
||||
static bool ShouldCarStopForBridge(CVehicle*);
|
||||
|
Reference in New Issue
Block a user