From 14c7c1d7ca722935195a20817c96b1af75046359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?eray=20or=C3=A7unus?= Date: Thu, 12 Sep 2019 03:43:18 +0300 Subject: World and Peds --- src/control/Population.cpp | 9 +++++++++ src/control/Population.h | 1 + src/control/Record.cpp | 4 ++++ src/control/Record.h | 12 ++++++++---- 4 files changed, 22 insertions(+), 4 deletions(-) (limited to 'src/control') diff --git a/src/control/Population.cpp b/src/control/Population.cpp index 83259616..3e7ab427 100644 --- a/src/control/Population.cpp +++ b/src/control/Population.cpp @@ -1,6 +1,8 @@ #include "common.h" #include "patcher.h" #include "Game.h" +#include "World.h" +#include "Entity.h" #include "Population.h" PedGroup *CPopulation::ms_pPedGroups = (PedGroup*)0x6E9248; @@ -14,3 +16,10 @@ 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::RemovePed(CEntity* ent) +{ + CWorld::Remove(ent); + delete ent; +} diff --git a/src/control/Population.h b/src/control/Population.h index 3582ccef..7757a7a6 100644 --- a/src/control/Population.h +++ b/src/control/Population.h @@ -24,4 +24,5 @@ public: static void DealWithZoneChange(eLevelName oldLevel, eLevelName newLevel, bool); static CPed *AddPedInCar(CVehicle *vehicle); static bool IsPointInSafeZone(CVector *coors); + static void RemovePed(CEntity* ent); }; diff --git a/src/control/Record.cpp b/src/control/Record.cpp index 4cc2dccd..cff4a19b 100644 --- a/src/control/Record.cpp +++ b/src/control/Record.cpp @@ -1,6 +1,10 @@ #include "common.h" +#include "patcher.h" #include "Record.h" uint16 &CRecordDataForGame::RecordingState = *(uint16*)0x95CC24; uint8 &CRecordDataForChase::Status = *(uint8*)0x95CDCE; + +WRAPPER void CRecordDataForChase::ProcessControlCars(void) { EAXJMP(0x435540); } +WRAPPER void CRecordDataForChase::SaveOrRetrieveCarPositions(void) { EAXJMP(0x434B20); } \ No newline at end of file diff --git a/src/control/Record.h b/src/control/Record.h index 2705a955..08e9f7c8 100644 --- a/src/control/Record.h +++ b/src/control/Record.h @@ -6,14 +6,18 @@ enum { RECORDSTATE_2, }; -class CRecordDataForGame +class CRecordDataForChase { public: - static uint16 &RecordingState; + static uint8 &Status; + + static void ProcessControlCars(void); + static void SaveOrRetrieveCarPositions(void); }; -class CRecordDataForChase + +class CRecordDataForGame { public: - static uint8 &Status; + static uint16 &RecordingState; }; -- cgit v1.2.3