mirror of
https://github.com/halpz/re3.git
synced 2025-07-04 01:20:51 +00:00
Merge branch 'master' into Radar2
This commit is contained in:
@ -2,6 +2,7 @@
|
||||
|
||||
class CClock
|
||||
{
|
||||
public:
|
||||
static uint8 &ms_nGameClockHours;
|
||||
static uint8 &ms_nGameClockMinutes;
|
||||
static uint16 &ms_nGameClockSeconds;
|
||||
@ -11,7 +12,6 @@ class CClock
|
||||
static uint32 &ms_nMillisecondsPerGameMinute;
|
||||
static uint32 &ms_nLastClockTick;
|
||||
static bool &ms_bClockHasBeenStored;
|
||||
public:
|
||||
|
||||
static void Initialise(uint32 scale);
|
||||
static void Update(void);
|
||||
|
@ -14,6 +14,13 @@ CObjectPool *&CPools::ms_pObjectPool = *(CObjectPool**)0x880E28;
|
||||
CDummyPool *&CPools::ms_pDummyPool = *(CDummyPool**)0x8F2C18;
|
||||
CAudioScriptObjectPool *&CPools::ms_pAudioScriptObjectPool = *(CAudioScriptObjectPool**)0x8F1B6C;
|
||||
|
||||
WRAPPER void CPools::LoadObjectPool(uint8* buf, uint32 size) { EAXJMP(0x4a2550); }
|
||||
WRAPPER void CPools::LoadPedPool(uint8* buf, uint32 size) { EAXJMP(0x4a2b50); }
|
||||
WRAPPER void CPools::LoadVehiclePool(uint8* buf, uint32 size) { EAXJMP(0x4a1b40); }
|
||||
WRAPPER void CPools::SaveObjectPool(uint8* buf, uint32 *size) { EAXJMP(0x4a22d0); }
|
||||
WRAPPER void CPools::SavePedPool(uint8* buf, uint32 *size) { EAXJMP(0x4a29b0); }
|
||||
WRAPPER void CPools::SaveVehiclePool(uint8* buf, uint32 *size) { EAXJMP(0x4a2080); }
|
||||
|
||||
void
|
||||
CPools::Initialise(void)
|
||||
{
|
||||
@ -30,16 +37,16 @@ CPools::Initialise(void)
|
||||
|
||||
void
|
||||
CPools::ShutDown(void)
|
||||
{
|
||||
debug("PtrNodes left %d\n", ms_pPtrNodePool->GetNoOfUsedSpaces());
|
||||
debug("EntryInfoNodes left %d\n", ms_pEntryInfoNodePool->GetNoOfUsedSpaces());
|
||||
debug("Peds left %d\n", ms_pPedPool->GetNoOfUsedSpaces());
|
||||
debug("Vehicles left %d\n", ms_pVehiclePool->GetNoOfUsedSpaces());
|
||||
debug("Buildings left %d\n", ms_pBuildingPool->GetNoOfUsedSpaces());
|
||||
debug("Treadables left %d\n", ms_pTreadablePool->GetNoOfUsedSpaces());
|
||||
debug("Objects left %d\n", ms_pObjectPool->GetNoOfUsedSpaces());
|
||||
debug("Dummys left %d\n", ms_pDummyPool->GetNoOfUsedSpaces());
|
||||
debug("AudioScriptObjects left %d\n", ms_pAudioScriptObjectPool->GetNoOfUsedSpaces());
|
||||
{
|
||||
debug("PtrNodes left %d\n", ms_pPtrNodePool->GetNoOfUsedSpaces());
|
||||
debug("EntryInfoNodes left %d\n", ms_pEntryInfoNodePool->GetNoOfUsedSpaces());
|
||||
debug("Peds left %d\n", ms_pPedPool->GetNoOfUsedSpaces());
|
||||
debug("Vehicles left %d\n", ms_pVehiclePool->GetNoOfUsedSpaces());
|
||||
debug("Buildings left %d\n", ms_pBuildingPool->GetNoOfUsedSpaces());
|
||||
debug("Treadables left %d\n", ms_pTreadablePool->GetNoOfUsedSpaces());
|
||||
debug("Objects left %d\n", ms_pObjectPool->GetNoOfUsedSpaces());
|
||||
debug("Dummys left %d\n", ms_pDummyPool->GetNoOfUsedSpaces());
|
||||
debug("AudioScriptObjects left %d\n", ms_pAudioScriptObjectPool->GetNoOfUsedSpaces());
|
||||
printf("Shutdown pool started\n");
|
||||
|
||||
delete ms_pPtrNodePool;
|
||||
@ -62,12 +69,12 @@ CVehicle *CPools::GetVehicle(int32 handle) { return ms_pVehiclePool->GetAt(handl
|
||||
int32 CPools::GetObjectRef(CObject *object) { return ms_pObjectPool->GetIndex(object); }
|
||||
CObject *CPools::GetObject(int32 handle) { return ms_pObjectPool->GetAt(handle); }
|
||||
|
||||
void
|
||||
CPools::CheckPoolsEmpty()
|
||||
{
|
||||
assert(ms_pPedPool->GetNoOfUsedSpaces() == 0);
|
||||
assert(ms_pVehiclePool->GetNoOfUsedSpaces() == 0);
|
||||
printf("pools have beem cleared \n");
|
||||
void
|
||||
CPools::CheckPoolsEmpty()
|
||||
{
|
||||
assert(ms_pPedPool->GetNoOfUsedSpaces() == 0);
|
||||
assert(ms_pVehiclePool->GetNoOfUsedSpaces() == 0);
|
||||
printf("pools have been cleared\n");
|
||||
}
|
||||
|
||||
|
||||
|
@ -52,4 +52,10 @@ public:
|
||||
static CObject *GetObject(int32 handle);
|
||||
static void CheckPoolsEmpty();
|
||||
static void MakeSureSlotInObjectPoolIsEmpty(int32 slot);
|
||||
static void LoadObjectPool(uint8 *buf, uint32 size);
|
||||
static void LoadPedPool(uint8 *buf, uint32 size);
|
||||
static void LoadVehiclePool(uint8 *buf, uint32 size);
|
||||
static void SaveObjectPool(uint8 *buf, uint32 *size);
|
||||
static void SavePedPool(uint8 *buf, uint32 *size);
|
||||
static void SaveVehiclePool(uint8 *buf, uint32 *size);
|
||||
};
|
||||
|
2644
src/core/Radar.cpp
2644
src/core/Radar.cpp
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,9 @@
|
||||
#include "common.h"
|
||||
#include "patcher.h"
|
||||
#include "Stats.h"
|
||||
|
||||
WRAPPER void CStats::SaveStats(uint8 *buf, uint32 *size) { EAXJMP(0x4ab3e0); }
|
||||
|
||||
int32 &CStats::DaysPassed = *(int32*)0x8F2BB8;
|
||||
int32 &CStats::HeadsPopped = *(int32*)0x8F647C;
|
||||
bool& CStats::CommercialPassed = *(bool*)0x8F4334;
|
||||
|
@ -73,4 +73,5 @@ public:
|
||||
static void CheckPointReachedUnsuccessfully() { KillsSinceLastCheckpoint = 0; };
|
||||
static void CheckPointReachedSuccessfully() { TotalLegitimateKills += KillsSinceLastCheckpoint; KillsSinceLastCheckpoint = 0; };
|
||||
static void RegisterElBurroTime(int32);
|
||||
};
|
||||
static void SaveStats(uint8 *buf, uint32 *size);
|
||||
};
|
||||
|
5
src/core/TimeStep.cpp
Normal file
5
src/core/TimeStep.cpp
Normal file
@ -0,0 +1,5 @@
|
||||
#include "TimeStep.h"
|
||||
|
||||
float &CTimeStep::ms_fTimeScale = *(float*)0x5F76C8;
|
||||
float &CTimeStep::ms_fFramesPerUpdate = *(float*)0x5F76CC;
|
||||
float &CTimeStep::ms_fTimeStep = *(float*)0x5F76D0;
|
10
src/core/TimeStep.h
Normal file
10
src/core/TimeStep.h
Normal file
@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
// Pretty sure this class is not used by the game
|
||||
class CTimeStep
|
||||
{
|
||||
public:
|
||||
static float &ms_fTimeScale;
|
||||
static float &ms_fFramesPerUpdate;
|
||||
static float &ms_fTimeStep;
|
||||
};
|
@ -2,6 +2,7 @@
|
||||
|
||||
class CTimer
|
||||
{
|
||||
public:
|
||||
static uint32 &m_snTimeInMilliseconds;
|
||||
static uint32 &m_snTimeInMillisecondsPauseMode;
|
||||
static uint32 &m_snTimeInMillisecondsNonClipped;
|
||||
@ -12,7 +13,7 @@ class CTimer
|
||||
static float &ms_fTimeStepNonClipped;
|
||||
static bool &m_UserPause;
|
||||
static bool &m_CodePause;
|
||||
public:
|
||||
|
||||
static float GetTimeStep(void) { return ms_fTimeStep; }
|
||||
static void SetTimeStep(float ts) { ms_fTimeStep = ts; }
|
||||
static float GetTimeStepInSeconds() { return ms_fTimeStep / 50.0f; }
|
||||
|
@ -321,9 +321,9 @@ _TWEEKCLASS(CTweakFloat, float);
|
||||
#undef _TWEEKCLASS
|
||||
|
||||
#ifdef VALIDATE_SAVE_SIZE
|
||||
extern int32 _bufBytesRead;
|
||||
#define INITSAVEBUF _bufBytesRead = 0;
|
||||
#define VALIDATESAVEBUF(b) assert(_bufBytesRead == b);
|
||||
extern int32 _saveBufCount;
|
||||
#define INITSAVEBUF _saveBufCount = 0;
|
||||
#define VALIDATESAVEBUF(b) assert(_saveBufCount == b);
|
||||
#else
|
||||
#define INITSAVEBUF
|
||||
#define VALIDATESAVEBUF(b)
|
||||
@ -333,7 +333,7 @@ inline void SkipSaveBuf(uint8 *&buf, int32 skip)
|
||||
{
|
||||
buf += skip;
|
||||
#ifdef VALIDATE_SAVE_SIZE
|
||||
_bufBytesRead += skip;
|
||||
_saveBufCount += skip;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -168,6 +168,10 @@ enum Config {
|
||||
#define USE_MEASUREMENTS_IN_METERS // makes game use meters instead of feet in script
|
||||
#define USE_PRECISE_MEASUREMENT_CONVERTION // makes game convert feet to meeters more precisely
|
||||
|
||||
// Replay
|
||||
//#define DONT_FIX_REPLAY_BUGS // keeps various bugs in CReplay, some of which are fairly cool!
|
||||
//#define USE_BETA_REPLAY_MODE // adds another replay mode, a few seconds slomo (caution: buggy!)
|
||||
|
||||
// Vehicles
|
||||
#define EXPLODING_AIRTRAIN // can blow up jumbo jet with rocket launcher
|
||||
//#define REMOVE_TREADABLE_PATHFIND
|
||||
|
@ -449,7 +449,7 @@ void re3_trace(const char *filename, unsigned int lineno, const char *func, cons
|
||||
}
|
||||
|
||||
#ifdef VALIDATE_SAVE_SIZE
|
||||
int32 _bufBytesRead;
|
||||
int32 _saveBufCount;
|
||||
#endif
|
||||
|
||||
void
|
||||
|
Reference in New Issue
Block a user