mirror of
https://github.com/GTAmodding/re3.git
synced 2021-02-19 17:49:54 +01:00
Merge remote-tracking branch 'Fire-Head/master' into Standalone
# Conflicts: # src/render/Coronas.cpp
This commit is contained in:
commit
b9c8ce0d37
@ -8,7 +8,7 @@
|
|||||||
#include "AnimBlendAssociation.h"
|
#include "AnimBlendAssociation.h"
|
||||||
#include "RpAnimBlend.h"
|
#include "RpAnimBlend.h"
|
||||||
|
|
||||||
RwInt32 &ClumpOffset = *(RwInt32*)0x8F1B84;
|
RwInt32 ClumpOffset;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -11,7 +11,7 @@ struct AnimBlendFrameUpdateData
|
|||||||
CAnimBlendNode *nodes[16];
|
CAnimBlendNode *nodes[16];
|
||||||
};
|
};
|
||||||
|
|
||||||
extern RwInt32 &ClumpOffset;
|
extern RwInt32 ClumpOffset;
|
||||||
#define RPANIMBLENDCLUMPDATA(o) (RWPLUGINOFFSET(CAnimBlendClumpData*, o, ClumpOffset))
|
#define RPANIMBLENDCLUMPDATA(o) (RWPLUGINOFFSET(CAnimBlendClumpData*, o, ClumpOffset))
|
||||||
|
|
||||||
bool RpAnimBlendPluginAttach(void);
|
bool RpAnimBlendPluginAttach(void);
|
||||||
|
@ -40,18 +40,18 @@
|
|||||||
#include "sampman.h"
|
#include "sampman.h"
|
||||||
|
|
||||||
cAudioManager AudioManager;
|
cAudioManager AudioManager;
|
||||||
uint32 gPornNextTime; // = *(uint32*)0x6508A0;
|
uint32 gPornNextTime;
|
||||||
uint32 gSawMillNextTime; // = *(uint32*)0x6508A4;
|
uint32 gSawMillNextTime;
|
||||||
uint32 gShopNextTime; // = *(uint32*)0x6508A8;
|
uint32 gShopNextTime;
|
||||||
uint32 gAirportNextTime; // = *(uint32*)0x6508AC;
|
uint32 gAirportNextTime;
|
||||||
uint32 gCinemaNextTime; //= *(uint32*)0x6508B0;
|
uint32 gCinemaNextTime;
|
||||||
uint32 gDocksNextTime; // = *(uint32*)0x6508B4;
|
uint32 gDocksNextTime;
|
||||||
uint32 gHomeNextTime; // = *(uint32*)0x6508B8;
|
uint32 gHomeNextTime;
|
||||||
uint32 gCellNextTime; // = *(uint32*)0x6508BC;
|
uint32 gCellNextTime;
|
||||||
uint32 gNextCryTime; // = *(uint32*)0x6508C0;
|
uint32 gNextCryTime;
|
||||||
uint8 gJumboVolOffsetPercentage; // = *(uint8 *)0x6508ED;
|
uint8 gJumboVolOffsetPercentage;
|
||||||
bool bPlayerJustEnteredCar; // = *(bool *)0x6508C4;
|
bool bPlayerJustEnteredCar;
|
||||||
bool g_bMissionAudioLoadFailed; // = *(bool *)0x95CD8E;
|
bool g_bMissionAudioLoadFailed;
|
||||||
|
|
||||||
const int channels = ARRAY_SIZE(cAudioManager::m_asActiveSamples);
|
const int channels = ARRAY_SIZE(cAudioManager::m_asActiveSamples);
|
||||||
const int policeChannel = channels + 1;
|
const int policeChannel = channels + 1;
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#include "AudioScriptObject.h"
|
#include "AudioScriptObject.h"
|
||||||
#include "sampman.h"
|
#include "sampman.h"
|
||||||
|
|
||||||
cDMAudio &DMAudio = *(cDMAudio*)0x95CDBE;
|
cDMAudio DMAudio;
|
||||||
|
|
||||||
void
|
void
|
||||||
cDMAudio::Initialise(void)
|
cDMAudio::Initialise(void)
|
||||||
|
@ -256,4 +256,4 @@ public:
|
|||||||
void SetRadioInCar(uint32 radio);
|
void SetRadioInCar(uint32 radio);
|
||||||
void SetRadioChannel(int8 radio, int32 pos);
|
void SetRadioChannel(int8 radio, int32 pos);
|
||||||
};
|
};
|
||||||
extern cDMAudio &DMAudio;
|
extern cDMAudio DMAudio;
|
||||||
|
@ -21,14 +21,14 @@ struct tPoliceRadioZone {
|
|||||||
int32 field_12;
|
int32 field_12;
|
||||||
};
|
};
|
||||||
|
|
||||||
tPoliceRadioZone (&ZoneSfx)[NUMAUDIOZONES] = *(tPoliceRadioZone(*)[NUMAUDIOZONES])*(uintptr*)0x880240;
|
tPoliceRadioZone ZoneSfx[NUMAUDIOZONES];
|
||||||
char *SubZo2Label = (char*)0x6E9918;
|
char SubZo2Label[8];
|
||||||
char *SubZo3Label = (char*)0x6E9870;
|
char SubZo3Label[8];
|
||||||
|
|
||||||
int32 &g_nMissionAudioSfx = *(int32*)0x60ED84;
|
int32 g_nMissionAudioSfx = TOTAL_AUDIO_SAMPLES;
|
||||||
int8 &g_nMissionAudioPlayingStatus = *(int8*)0x60ED88;
|
int8 g_nMissionAudioPlayingStatus = 2;
|
||||||
uint8 &gSpecialSuspectLastSeenReport = *(uint8*)0x95CD4D;
|
uint8 gSpecialSuspectLastSeenReport;
|
||||||
uint32 (&gMinTimeToNextReport)[NUM_CRIME_TYPES] = *(uint32(*)[NUM_CRIME_TYPES])*(uintptr*)0x8E2828;
|
uint32 gMinTimeToNextReport[NUM_CRIME_TYPES];
|
||||||
|
|
||||||
void
|
void
|
||||||
cAudioManager::InitialisePoliceRadioZones()
|
cAudioManager::InitialisePoliceRadioZones()
|
||||||
|
@ -33,7 +33,6 @@ float CCarAI::FindSwitchDistanceFar(CVehicle* pVehicle)
|
|||||||
|
|
||||||
void CCarAI::UpdateCarAI(CVehicle* pVehicle)
|
void CCarAI::UpdateCarAI(CVehicle* pVehicle)
|
||||||
{
|
{
|
||||||
//((void(*)(CVehicle*))(0x413E50))(pVehicle);
|
|
||||||
//return;
|
//return;
|
||||||
if (pVehicle->bIsLawEnforcer){
|
if (pVehicle->bIsLawEnforcer){
|
||||||
if (pVehicle->AutoPilot.m_nCarMission == MISSION_BLOCKCAR_FARAWAY ||
|
if (pVehicle->AutoPilot.m_nCarMission == MISSION_BLOCKCAR_FARAWAY ||
|
||||||
|
@ -67,25 +67,25 @@
|
|||||||
#define MIN_ANGLE_TO_APPLY_HANDBRAKE 0.7f
|
#define MIN_ANGLE_TO_APPLY_HANDBRAKE 0.7f
|
||||||
#define MIN_SPEED_TO_APPLY_HANDBRAKE 0.3f
|
#define MIN_SPEED_TO_APPLY_HANDBRAKE 0.3f
|
||||||
|
|
||||||
int &CCarCtrl::NumLawEnforcerCars = *(int*)0x8F1B38;
|
int CCarCtrl::NumLawEnforcerCars;
|
||||||
int &CCarCtrl::NumAmbulancesOnDuty = *(int*)0x885BB0;
|
int CCarCtrl::NumAmbulancesOnDuty;
|
||||||
int &CCarCtrl::NumFiretrucksOnDuty = *(int*)0x9411F0;
|
int CCarCtrl::NumFiretrucksOnDuty;
|
||||||
bool &CCarCtrl::bCarsGeneratedAroundCamera = *(bool*)0x95CD8A;
|
bool CCarCtrl::bCarsGeneratedAroundCamera;
|
||||||
float& CCarCtrl::CarDensityMultiplier = *(float*)0x5EC8B4;
|
float CCarCtrl::CarDensityMultiplier = 1.0f;
|
||||||
int32 &CCarCtrl::NumMissionCars = *(int32*)0x8F1B54;
|
int32 CCarCtrl::NumMissionCars;
|
||||||
int32 &CCarCtrl::NumRandomCars = *(int32*)0x943118;
|
int32 CCarCtrl::NumRandomCars;
|
||||||
int32 &CCarCtrl::NumParkedCars = *(int32*)0x8F29E0;
|
int32 CCarCtrl::NumParkedCars;
|
||||||
int32 &CCarCtrl::NumPermanentCars = *(int32*)0x8F29F0;
|
int32 CCarCtrl::NumPermanentCars;
|
||||||
int8 &CCarCtrl::CountDownToCarsAtStart = *(int8*)0x95CD63;
|
int8 CCarCtrl::CountDownToCarsAtStart;
|
||||||
int32 &CCarCtrl::MaxNumberOfCarsInUse = *(int32*)0x5EC8B8;
|
int32 CCarCtrl::MaxNumberOfCarsInUse = 12;
|
||||||
uint32 &CCarCtrl::LastTimeLawEnforcerCreated = *(uint32*)0x8F5FF0;
|
uint32 CCarCtrl::LastTimeLawEnforcerCreated;
|
||||||
uint32 &CCarCtrl::LastTimeFireTruckCreated = *(uint32*)0x880F5C;
|
uint32 CCarCtrl::LastTimeFireTruckCreated;
|
||||||
uint32 &CCarCtrl::LastTimeAmbulanceCreated = *(uint32*)0x941450;
|
uint32 CCarCtrl::LastTimeAmbulanceCreated;
|
||||||
int32 (&CCarCtrl::TotalNumOfCarsOfRating)[TOTAL_CUSTOM_CLASSES] = *(int32(*)[TOTAL_CUSTOM_CLASSES])*(uintptr*)0x8F1A60;
|
int32 CCarCtrl::TotalNumOfCarsOfRating[TOTAL_CUSTOM_CLASSES];
|
||||||
int32 (&CCarCtrl::NextCarOfRating)[TOTAL_CUSTOM_CLASSES] = *(int32(*)[TOTAL_CUSTOM_CLASSES])*(uintptr*)0x9412AC;
|
int32 CCarCtrl::NextCarOfRating[TOTAL_CUSTOM_CLASSES];
|
||||||
int32 (&CCarCtrl::CarArrays)[TOTAL_CUSTOM_CLASSES][MAX_CAR_MODELS_IN_ARRAY] = *(int32(*)[TOTAL_CUSTOM_CLASSES][MAX_CAR_MODELS_IN_ARRAY])*(uintptr*)0x6EB860;
|
int32 CCarCtrl::CarArrays[TOTAL_CUSTOM_CLASSES][MAX_CAR_MODELS_IN_ARRAY];
|
||||||
CVehicle* (&apCarsToKeep)[MAX_CARS_TO_KEEP] = *(CVehicle*(*)[MAX_CARS_TO_KEEP])*(uintptr*)0x70D830;
|
CVehicle* apCarsToKeep[MAX_CARS_TO_KEEP];
|
||||||
uint32 (&aCarsToKeepTime)[MAX_CARS_TO_KEEP] = *(uint32(*)[MAX_CARS_TO_KEEP])*(uintptr*)0x87F9A8;
|
uint32 aCarsToKeepTime[MAX_CARS_TO_KEEP];
|
||||||
|
|
||||||
void
|
void
|
||||||
CCarCtrl::GenerateRandomCars()
|
CCarCtrl::GenerateRandomCars()
|
||||||
|
@ -120,23 +120,23 @@ public:
|
|||||||
return angle;
|
return angle;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32 &NumLawEnforcerCars;
|
static int32 NumLawEnforcerCars;
|
||||||
static int32 &NumAmbulancesOnDuty;
|
static int32 NumAmbulancesOnDuty;
|
||||||
static int32 &NumFiretrucksOnDuty;
|
static int32 NumFiretrucksOnDuty;
|
||||||
static int32 &NumRandomCars;
|
static int32 NumRandomCars;
|
||||||
static int32 &NumMissionCars;
|
static int32 NumMissionCars;
|
||||||
static int32 &NumParkedCars;
|
static int32 NumParkedCars;
|
||||||
static int32 &NumPermanentCars;
|
static int32 NumPermanentCars;
|
||||||
static bool &bCarsGeneratedAroundCamera;
|
static bool bCarsGeneratedAroundCamera;
|
||||||
static float &CarDensityMultiplier;
|
static float CarDensityMultiplier;
|
||||||
static int8 &CountDownToCarsAtStart;
|
static int8 CountDownToCarsAtStart;
|
||||||
static int32 &MaxNumberOfCarsInUse;
|
static int32 MaxNumberOfCarsInUse;
|
||||||
static uint32 &LastTimeLawEnforcerCreated;
|
static uint32 LastTimeLawEnforcerCreated;
|
||||||
static uint32 &LastTimeFireTruckCreated;
|
static uint32 LastTimeFireTruckCreated;
|
||||||
static uint32 &LastTimeAmbulanceCreated;
|
static uint32 LastTimeAmbulanceCreated;
|
||||||
static int32 (&TotalNumOfCarsOfRating)[TOTAL_CUSTOM_CLASSES];
|
static int32 TotalNumOfCarsOfRating[TOTAL_CUSTOM_CLASSES];
|
||||||
static int32 (&NextCarOfRating)[TOTAL_CUSTOM_CLASSES];
|
static int32 NextCarOfRating[TOTAL_CUSTOM_CLASSES];
|
||||||
static int32 (&CarArrays)[TOTAL_CUSTOM_CLASSES][MAX_CAR_MODELS_IN_ARRAY];
|
static int32 CarArrays[TOTAL_CUSTOM_CLASSES][MAX_CAR_MODELS_IN_ARRAY];
|
||||||
};
|
};
|
||||||
|
|
||||||
extern CVehicle* (&apCarsToKeep)[MAX_CARS_TO_KEEP];
|
extern CVehicle* apCarsToKeep[MAX_CARS_TO_KEEP];
|
@ -20,7 +20,7 @@
|
|||||||
#include "Script.h"
|
#include "Script.h"
|
||||||
#include "Garages.h"
|
#include "Garages.h"
|
||||||
|
|
||||||
uint8 CGameLogic::ActivePlayers; // 0x95CD5E
|
uint8 CGameLogic::ActivePlayers;
|
||||||
|
|
||||||
void
|
void
|
||||||
CGameLogic::InitAtStartOfGame()
|
CGameLogic::InitAtStartOfGame()
|
||||||
|
@ -12,7 +12,7 @@ bool gbShowPedPaths;
|
|||||||
bool gbShowCarPaths;
|
bool gbShowCarPaths;
|
||||||
bool gbShowCarPathsLinks;
|
bool gbShowCarPathsLinks;
|
||||||
|
|
||||||
CPathFind &ThePaths = *(CPathFind*)0x8F6754;
|
CPathFind ThePaths;
|
||||||
|
|
||||||
#define MAX_DIST INT16_MAX-1
|
#define MAX_DIST INT16_MAX-1
|
||||||
#define MIN_PED_ROUTE_DISTANCE 23.8f
|
#define MIN_PED_ROUTE_DISTANCE 23.8f
|
||||||
@ -21,11 +21,11 @@ CPathFind &ThePaths = *(CPathFind*)0x8F6754;
|
|||||||
// 1 UseInRoadBlock
|
// 1 UseInRoadBlock
|
||||||
// 2 east/west road(?)
|
// 2 east/west road(?)
|
||||||
|
|
||||||
CPathInfoForObject *&InfoForTileCars = *(CPathInfoForObject**)0x8F1A8C;
|
CPathInfoForObject *InfoForTileCars;
|
||||||
CPathInfoForObject *&InfoForTilePeds = *(CPathInfoForObject**)0x8F1AE4;
|
CPathInfoForObject *InfoForTilePeds;
|
||||||
// unused
|
// unused
|
||||||
CTempDetachedNode *&DetachedNodesCars = *(CTempDetachedNode**)0x8E2824;
|
CTempDetachedNode *DetachedNodesCars;
|
||||||
CTempDetachedNode *&DetachedNodesPeds = *(CTempDetachedNode**)0x8E28A0;
|
CTempDetachedNode *DetachedNodesPeds;
|
||||||
|
|
||||||
bool
|
bool
|
||||||
CPedPath::CalcPedRoute(int8 pathType, CVector position, CVector destination, CVector *pointPoses, int16 *pointsFound, int16 maxPoints)
|
CPedPath::CalcPedRoute(int8 pathType, CVector position, CVector destination, CVector *pointPoses, int16 *pointsFound, int16 maxPoints)
|
||||||
|
@ -138,8 +138,8 @@ struct CPathInfoForObject
|
|||||||
int8 numRightLanes;
|
int8 numRightLanes;
|
||||||
uint8 crossing : 1;
|
uint8 crossing : 1;
|
||||||
};
|
};
|
||||||
extern CPathInfoForObject *&InfoForTileCars;
|
extern CPathInfoForObject *InfoForTileCars;
|
||||||
extern CPathInfoForObject *&InfoForTilePeds;
|
extern CPathInfoForObject *InfoForTilePeds;
|
||||||
|
|
||||||
struct CTempNode
|
struct CTempNode
|
||||||
{
|
{
|
||||||
@ -234,7 +234,7 @@ public:
|
|||||||
};
|
};
|
||||||
static_assert(sizeof(CPathFind) == 0x49bf4, "CPathFind: error");
|
static_assert(sizeof(CPathFind) == 0x49bf4, "CPathFind: error");
|
||||||
|
|
||||||
extern CPathFind &ThePaths;
|
extern CPathFind ThePaths;
|
||||||
|
|
||||||
extern bool gbShowPedPaths;
|
extern bool gbShowPedPaths;
|
||||||
extern bool gbShowCarPaths;
|
extern bool gbShowCarPaths;
|
||||||
|
@ -13,13 +13,13 @@
|
|||||||
#include "RpAnimBlend.h"
|
#include "RpAnimBlend.h"
|
||||||
#include "AnimBlendAssociation.h"
|
#include "AnimBlendAssociation.h"
|
||||||
|
|
||||||
CPhoneInfo &gPhoneInfo = *(CPhoneInfo*)0x732A20;
|
CPhoneInfo gPhoneInfo;
|
||||||
|
|
||||||
bool &CPhoneInfo::bDisplayingPhoneMessage = *(bool*)0x6283AC; // is phone picked up
|
bool CPhoneInfo::bDisplayingPhoneMessage; // is phone picked up
|
||||||
uint32 &CPhoneInfo::PhoneEnableControlsTimer = *(uint32*)0x6283A8;
|
uint32 CPhoneInfo::PhoneEnableControlsTimer;
|
||||||
CPhone *&CPhoneInfo::pPhoneDisplayingMessages = *(CPhone**)0x6283B0;
|
CPhone *CPhoneInfo::pPhoneDisplayingMessages;
|
||||||
bool &CPhoneInfo::bPickingUpPhone = *(bool*)0x6283B4;
|
bool CPhoneInfo::bPickingUpPhone;
|
||||||
CPed *&CPhoneInfo::pCallBackPed = *(CPed**)0x6283B8; // ped who picking up the phone (reset after pickup cb)
|
CPed *CPhoneInfo::pCallBackPed; // ped who picking up the phone (reset after pickup cb)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Entering phonebooth cutscene, showing messages and triggering these things
|
Entering phonebooth cutscene, showing messages and triggering these things
|
||||||
|
@ -36,11 +36,11 @@ static_assert(sizeof(CPhone) == 0x34, "CPhone: error");
|
|||||||
|
|
||||||
class CPhoneInfo {
|
class CPhoneInfo {
|
||||||
public:
|
public:
|
||||||
static bool &bDisplayingPhoneMessage;
|
static bool bDisplayingPhoneMessage;
|
||||||
static uint32 &PhoneEnableControlsTimer;
|
static uint32 PhoneEnableControlsTimer;
|
||||||
static CPhone *&pPhoneDisplayingMessages;
|
static CPhone *pPhoneDisplayingMessages;
|
||||||
static bool &bPickingUpPhone;
|
static bool bPickingUpPhone;
|
||||||
static CPed *&pCallBackPed;
|
static CPed *pCallBackPed;
|
||||||
|
|
||||||
int32 m_nMax;
|
int32 m_nMax;
|
||||||
int32 m_nScriptPhonesMax;
|
int32 m_nScriptPhonesMax;
|
||||||
@ -63,7 +63,7 @@ public:
|
|||||||
void Update(void);
|
void Update(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern CPhoneInfo &gPhoneInfo;
|
extern CPhoneInfo gPhoneInfo;
|
||||||
|
|
||||||
void PhonePutDownCB(CAnimBlendAssociation *assoc, void *arg);
|
void PhonePutDownCB(CAnimBlendAssociation *assoc, void *arg);
|
||||||
void PhonePickUpCB(CAnimBlendAssociation *assoc, void *arg);
|
void PhonePickUpCB(CAnimBlendAssociation *assoc, void *arg);
|
||||||
|
@ -31,16 +31,16 @@
|
|||||||
#include "WaterLevel.h"
|
#include "WaterLevel.h"
|
||||||
#include "World.h"
|
#include "World.h"
|
||||||
|
|
||||||
CPickup(&CPickups::aPickUps)[NUMPICKUPS] = *(CPickup(*)[NUMPICKUPS])*(uintptr*)0x878C98;
|
CPickup CPickups::aPickUps[NUMPICKUPS];
|
||||||
int16 CPickups::NumMessages;// = *(int16*)0x95CC98;
|
int16 CPickups::NumMessages;
|
||||||
int32 CPickups::aPickUpsCollected[NUMCOLLECTEDPICKUPS];// = *(int32(*)[NUMCOLLECTEDPICKUPS])*(uintptr*)0x87C538;
|
int32 CPickups::aPickUpsCollected[NUMCOLLECTEDPICKUPS];
|
||||||
int16 CPickups::CollectedPickUpIndex;// = *(int16*)0x95CC8A;
|
int16 CPickups::CollectedPickUpIndex;
|
||||||
|
|
||||||
// unused
|
// unused
|
||||||
bool &CPickups::bPickUpcamActivated = *(bool*)0x95CD71;
|
bool CPickups::bPickUpcamActivated;
|
||||||
CVehicle *&CPickups::pPlayerVehicle = *(CVehicle**)0x8F29E8;
|
CVehicle *CPickups::pPlayerVehicle;
|
||||||
CVector &CPickups::StaticCamCoors = *(CVector*)0x9404C8;
|
CVector CPickups::StaticCamCoors;
|
||||||
uint32 &CPickups::StaticCamStartTime = *(uint32*)0x8E289C;
|
uint32 CPickups::StaticCamStartTime;
|
||||||
|
|
||||||
tPickupMessage CPickups::aMessages[NUMPICKUPMESSAGES];
|
tPickupMessage CPickups::aMessages[NUMPICKUPMESSAGES];
|
||||||
|
|
||||||
|
@ -89,13 +89,13 @@ public:
|
|||||||
static void Load(uint8 *buf, uint32 size);
|
static void Load(uint8 *buf, uint32 size);
|
||||||
static void Save(uint8 *buf, uint32 *size);
|
static void Save(uint8 *buf, uint32 *size);
|
||||||
|
|
||||||
static CPickup(&aPickUps)[NUMPICKUPS];
|
static CPickup aPickUps[NUMPICKUPS];
|
||||||
|
|
||||||
// unused
|
// unused
|
||||||
static bool &bPickUpcamActivated;
|
static bool bPickUpcamActivated;
|
||||||
static CVehicle *&pPlayerVehicle;
|
static CVehicle *pPlayerVehicle;
|
||||||
static CVector &StaticCamCoors;
|
static CVector StaticCamCoors;
|
||||||
static uint32 &StaticCamStartTime;
|
static uint32 StaticCamStartTime;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern uint16 AmmoForWeapon[20];
|
extern uint16 AmmoForWeapon[20];
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
#include "VehicleModelInfo.h"
|
#include "VehicleModelInfo.h"
|
||||||
#include "World.h"
|
#include "World.h"
|
||||||
|
|
||||||
uint16 &CRecordDataForGame::RecordingState = *(uint16*)0x95CC24;
|
uint16 CRecordDataForGame::RecordingState;
|
||||||
uint8*& CRecordDataForGame::pDataBuffer = *(uint8**)0x8F1B70;
|
uint8* CRecordDataForGame::pDataBuffer;
|
||||||
uint8*& CRecordDataForGame::pDataBufferPointer = *(uint8**)0x8F1AB0;
|
uint8* CRecordDataForGame::pDataBufferPointer;
|
||||||
int& CRecordDataForGame::FId = *(int*)0x885BA4;
|
int CRecordDataForGame::FId;
|
||||||
tGameBuffer& CRecordDataForGame::pDataBufferForFrame = *(tGameBuffer*)0x72CED0;
|
tGameBuffer CRecordDataForGame::pDataBufferForFrame;
|
||||||
|
|
||||||
#define MEMORY_FOR_GAME_RECORD (150000)
|
#define MEMORY_FOR_GAME_RECORD (150000)
|
||||||
|
|
||||||
@ -176,15 +176,15 @@ uint16 CRecordDataForGame::CalcGameChecksum(void)
|
|||||||
return checksum ^ checksum >> 16;
|
return checksum ^ checksum >> 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8& CRecordDataForChase::Status = *(uint8*)0x95CDCE;
|
uint8 CRecordDataForChase::Status;
|
||||||
int& CRecordDataForChase::PositionChanges = *(int*)0x8F59C8;
|
int CRecordDataForChase::PositionChanges;
|
||||||
uint8& CRecordDataForChase::CurrentCar = *(uint8*)0x95CDC9;
|
uint8 CRecordDataForChase::CurrentCar;
|
||||||
CAutomobile* (&CRecordDataForChase::pChaseCars)[NUM_CHASE_CARS] = *(CAutomobile * (*)[NUM_CHASE_CARS])*(uintptr*)0x6F46A8;
|
CAutomobile* CRecordDataForChase::pChaseCars[NUM_CHASE_CARS];
|
||||||
uint32& CRecordDataForChase::AnimStartTime = *(uint32*)0x8F1AEC;
|
uint32 CRecordDataForChase::AnimStartTime;
|
||||||
float& CRecordDataForChase::AnimTime = *(float*)0x880F88;
|
float CRecordDataForChase::AnimTime;
|
||||||
CCarStateEachFrame* (&CRecordDataForChase::pBaseMemForCar)[NUM_CHASE_CARS] = *(CCarStateEachFrame * (*)[NUM_CHASE_CARS])*(uintptr*)0x70EA18;
|
CCarStateEachFrame* CRecordDataForChase::pBaseMemForCar[NUM_CHASE_CARS];
|
||||||
float& CRecordDataForChase::TimeMultiplier = *(float*)0x8E2A94;
|
float CRecordDataForChase::TimeMultiplier;
|
||||||
int& CRecordDataForChase::FId2 = *(int*)0x8E2C18;
|
int CRecordDataForChase::FId2;
|
||||||
|
|
||||||
#define CHASE_SCENE_LENGTH_IN_SECONDS (80)
|
#define CHASE_SCENE_LENGTH_IN_SECONDS (80)
|
||||||
#define CHASE_SCENE_FRAMES_PER_SECOND (15) // skipping every second frame
|
#define CHASE_SCENE_FRAMES_PER_SECOND (15) // skipping every second frame
|
||||||
|
@ -23,7 +23,7 @@ public:
|
|||||||
CVector pos;
|
CVector pos;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern char* gString;
|
extern char gString[256];;
|
||||||
|
|
||||||
class CRecordDataForChase
|
class CRecordDataForChase
|
||||||
{
|
{
|
||||||
@ -37,15 +37,15 @@ class CRecordDataForChase
|
|||||||
STATE_PLAYBACK = 3,
|
STATE_PLAYBACK = 3,
|
||||||
STATE_PLAYBACK_BEFORE_RECORDING = 4
|
STATE_PLAYBACK_BEFORE_RECORDING = 4
|
||||||
};
|
};
|
||||||
static uint8 &Status;
|
static uint8 Status;
|
||||||
static int &PositionChanges;
|
static int PositionChanges;
|
||||||
static uint8 &CurrentCar;
|
static uint8 CurrentCar;
|
||||||
static CAutomobile*(&pChaseCars)[NUM_CHASE_CARS];
|
static CAutomobile*pChaseCars[NUM_CHASE_CARS];
|
||||||
static float &AnimTime;
|
static float AnimTime;
|
||||||
static uint32 &AnimStartTime;
|
static uint32 AnimStartTime;
|
||||||
static CCarStateEachFrame* (&pBaseMemForCar)[NUM_CHASE_CARS];
|
static CCarStateEachFrame* pBaseMemForCar[NUM_CHASE_CARS];
|
||||||
static float &TimeMultiplier;
|
static float TimeMultiplier;
|
||||||
static int &FId2;
|
static int FId2;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
static bool IsRecording(void) { return Status == STATE_RECORD; }
|
static bool IsRecording(void) { return Status == STATE_RECORD; }
|
||||||
@ -86,11 +86,11 @@ class CRecordDataForGame
|
|||||||
STATE_RECORD = 1,
|
STATE_RECORD = 1,
|
||||||
STATE_PLAYBACK = 2,
|
STATE_PLAYBACK = 2,
|
||||||
};
|
};
|
||||||
static uint16& RecordingState;
|
static uint16 RecordingState;
|
||||||
static uint8* &pDataBuffer;
|
static uint8* pDataBuffer;
|
||||||
static uint8* &pDataBufferPointer;
|
static uint8* pDataBufferPointer;
|
||||||
static int &FId;
|
static int FId;
|
||||||
static tGameBuffer &pDataBufferForFrame;
|
static tGameBuffer pDataBufferForFrame;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static bool IsRecording() { return RecordingState == STATE_RECORD; }
|
static bool IsRecording() { return RecordingState == STATE_RECORD; }
|
||||||
|
@ -39,71 +39,70 @@
|
|||||||
#include "Camera.h"
|
#include "Camera.h"
|
||||||
#include "Radar.h"
|
#include "Radar.h"
|
||||||
|
|
||||||
uint8 &CReplay::Mode = *(uint8*)0x95CD5B;
|
uint8 CReplay::Mode;
|
||||||
CAddressInReplayBuffer &CReplay::Record = *(CAddressInReplayBuffer*)0x942F7C;
|
CAddressInReplayBuffer CReplay::Record;
|
||||||
CAddressInReplayBuffer &CReplay::Playback = *(CAddressInReplayBuffer*)0x8F5F48;
|
CAddressInReplayBuffer CReplay::Playback;
|
||||||
uint8 *&CReplay::pBuf0 = *(uint8**)0x8E2C64;
|
uint8 *CReplay::pBuf0;
|
||||||
CAutomobile *&CReplay::pBuf1 = *(CAutomobile**)0x8E2C68;
|
CAutomobile *CReplay::pBuf1;
|
||||||
uint8 *&CReplay::pBuf2 = *(uint8**)0x8E2C6C;
|
uint8 *CReplay::pBuf2;
|
||||||
CPlayerPed *&CReplay::pBuf3 = *(CPlayerPed**)0x8E2C70;
|
CPlayerPed *CReplay::pBuf3;
|
||||||
uint8 *&CReplay::pBuf4 = *(uint8**)0x8E2C74;
|
uint8 *CReplay::pBuf4;
|
||||||
CCutsceneHead *&CReplay::pBuf5 = *(CCutsceneHead**)0x8E2C78;
|
CCutsceneHead *CReplay::pBuf5;
|
||||||
uint8 *&CReplay::pBuf6 = *(uint8**)0x8E2C80;
|
uint8 *CReplay::pBuf6;
|
||||||
CPtrNode *&CReplay::pBuf7 = *(CPtrNode**)0x8E2C84;
|
CPtrNode *CReplay::pBuf7;
|
||||||
uint8 *&CReplay::pBuf8 = *(uint8**)0x8E2C54;
|
uint8 *CReplay::pBuf8;
|
||||||
CEntryInfoNode *&CReplay::pBuf9 = *(CEntryInfoNode**)0x8E2C58;
|
CEntryInfoNode *CReplay::pBuf9;
|
||||||
uint8 *&CReplay::pBuf10 = *(uint8**)0x8F2C28;
|
uint8 *CReplay::pBuf10;
|
||||||
CDummyPed *&CReplay::pBuf11 = *(CDummyPed**)0x8F2C2C;
|
CDummyPed *CReplay::pBuf11;
|
||||||
uint8 *&CReplay::pRadarBlips = *(uint8**)0x8F29F8;
|
uint8 *CReplay::pRadarBlips;
|
||||||
uint8 *&CReplay::pStoredCam = *(uint8**)0x8F2C34;
|
uint8 *CReplay::pStoredCam;
|
||||||
uint8 *&CReplay::pWorld1 = *(uint8**)0x8E29C4;
|
uint8 *CReplay::pWorld1;
|
||||||
CReference *&CReplay::pEmptyReferences = *(CReference**)0x8F256C;
|
CReference *CReplay::pEmptyReferences;
|
||||||
CStoredDetailedAnimationState *&CReplay::pPedAnims = *(CStoredDetailedAnimationState**)0x8F6260;
|
CStoredDetailedAnimationState *CReplay::pPedAnims;
|
||||||
uint8 *&CReplay::pPickups = *(uint8**)0x8F1A48;
|
uint8 *CReplay::pPickups;
|
||||||
uint8 *&CReplay::pReferences = *(uint8**)0x880FAC;
|
uint8 *CReplay::pReferences;
|
||||||
uint8(&CReplay::BufferStatus)[NUM_REPLAYBUFFERS] = *(uint8(*)[NUM_REPLAYBUFFERS])*(uintptr*)0x8804D8;
|
uint8 CReplay::BufferStatus[NUM_REPLAYBUFFERS];
|
||||||
uint8(&CReplay::Buffers)[NUM_REPLAYBUFFERS][REPLAYBUFFERSIZE] = *(uint8(*)[NUM_REPLAYBUFFERS][REPLAYBUFFERSIZE])*(uintptr*)0x779958;
|
uint8 CReplay::Buffers[NUM_REPLAYBUFFERS][REPLAYBUFFERSIZE];
|
||||||
bool &CReplay::bPlayingBackFromFile = *(bool*)0x95CD58;
|
bool CReplay::bPlayingBackFromFile;
|
||||||
bool &CReplay::bReplayEnabled = *(bool*)0x617CAC;
|
bool CReplay::bReplayEnabled = true;
|
||||||
uint32 &CReplay::SlowMotion = *(uint32*)0x9414D4;
|
uint32 CReplay::SlowMotion;
|
||||||
uint32 &CReplay::FramesActiveLookAroundCam = *(uint32*)0x880F84;
|
uint32 CReplay::FramesActiveLookAroundCam;
|
||||||
bool &CReplay::bDoLoadSceneWhenDone = *(bool*)0x95CD76;
|
bool CReplay::bDoLoadSceneWhenDone;
|
||||||
CPtrList &CReplay::WorldPtrList = *(CPtrList*)0x880F90;
|
CPtrList CReplay::WorldPtrList;
|
||||||
CPtrList &CReplay::BigBuildingPtrList = *(CPtrList*)0x941284;
|
CPtrList CReplay::BigBuildingPtrList;
|
||||||
CWanted &CReplay::PlayerWanted = *(CWanted*)0x8F6278;
|
CWanted CReplay::PlayerWanted;
|
||||||
CPlayerInfo &CReplay::PlayerInfo = *(CPlayerInfo*)0x8F5840;
|
CPlayerInfo CReplay::PlayerInfo;
|
||||||
uint32 &CReplay::Time1 = *(uint32*)0x8F29DC;
|
uint32 CReplay::Time1;
|
||||||
uint32 &CReplay::Time2 = *(uint32*)0x8F29D0;
|
uint32 CReplay::Time2;
|
||||||
uint32 &CReplay::Time3 = *(uint32*)0x8F29D4;
|
uint32 CReplay::Time3;
|
||||||
uint32 &CReplay::Time4 = *(uint32*)0x8F29C8;
|
uint32 CReplay::Time4;
|
||||||
uint32 &CReplay::Frame = *(uint32*)0x8F2554;
|
uint32 CReplay::Frame;
|
||||||
uint8 &CReplay::ClockHours = *(uint8*)0x95CDC5;
|
uint8 CReplay::ClockHours;
|
||||||
uint8 &CReplay::ClockMinutes = *(uint8*)0x95CDA2;
|
uint8 CReplay::ClockMinutes;
|
||||||
uint16 &CReplay::OldWeatherType = *(uint16*)0x95CCEA;
|
uint16 CReplay::OldWeatherType;
|
||||||
uint16 &CReplay::NewWeatherType = *(uint16*)0x95CC6E;
|
uint16 CReplay::NewWeatherType;
|
||||||
float &CReplay::WeatherInterpolationValue = *(float*)0x8F1A28;
|
float CReplay::WeatherInterpolationValue;
|
||||||
float &CReplay::TimeStepNonClipped = *(float*)0x8F5FF4;
|
float CReplay::TimeStepNonClipped;
|
||||||
float &CReplay::TimeStep = *(float*)0x8F2C24;
|
float CReplay::TimeStep;
|
||||||
float &CReplay::TimeScale = *(float*)0x880E20;
|
float CReplay::TimeScale;
|
||||||
float &CReplay::CameraFixedX = *(float*)0x943054;
|
float CReplay::CameraFixedX;
|
||||||
float &CReplay::CameraFixedY = *(float*)0x943058;
|
float CReplay::CameraFixedY;
|
||||||
float &CReplay::CameraFixedZ = *(float*)0x94305C;
|
float CReplay::CameraFixedZ;
|
||||||
int32 &CReplay::OldRadioStation = *(int32*)0x94151C;
|
int32 CReplay::OldRadioStation;
|
||||||
int8 &CReplay::CameraMode = *(int8*)0x95CD5F;
|
int8 CReplay::CameraMode;
|
||||||
bool &CReplay::bAllowLookAroundCam = *(bool*)0x95CDCD;
|
bool CReplay::bAllowLookAroundCam;
|
||||||
float &CReplay::LoadSceneX = *(float*)0x880F9C;
|
float CReplay::LoadSceneX;
|
||||||
float &CReplay::LoadSceneY = *(float*)0x880F98;
|
float CReplay::LoadSceneY;
|
||||||
float &CReplay::LoadSceneZ = *(float*)0x880F94;
|
float CReplay::LoadSceneZ;
|
||||||
float &CReplay::CameraFocusX = *(float*)0x942F5C;
|
float CReplay::CameraFocusX;
|
||||||
float &CReplay::CameraFocusY = *(float*)0x942F74;
|
float CReplay::CameraFocusY;
|
||||||
float &CReplay::CameraFocusZ = *(float*)0x942F58;
|
float CReplay::CameraFocusZ;
|
||||||
bool &CReplay::bPlayerInRCBuggy = *(bool*)0x95CDC3;
|
bool CReplay::bPlayerInRCBuggy;
|
||||||
float &CReplay::fDistanceLookAroundCam = *(float*)0x885B44;
|
float CReplay::fDistanceLookAroundCam;
|
||||||
float &CReplay::fBetaAngleLookAroundCam = *(float*)0x94072C;
|
float CReplay::fBetaAngleLookAroundCam;
|
||||||
float &CReplay::fAlphaAngleLookAroundCam = *(float*)0x8F2A0C;
|
float CReplay::fAlphaAngleLookAroundCam;
|
||||||
|
|
||||||
static void(*(&CBArray)[30])(CAnimBlendAssociation*, void*) = *(void(*(*)[30])(CAnimBlendAssociation*, void*))*(uintptr*)0x61052C;
|
static void(*CBArray[])(CAnimBlendAssociation*, void*) =
|
||||||
static void(*CBArray_RE3[])(CAnimBlendAssociation*, void*) =
|
|
||||||
{
|
{
|
||||||
nil, &CPed::PedGetupCB, &CPed::PedStaggerCB, &CPed::PedEvadeCB, &CPed::FinishDieAnimCB,
|
nil, &CPed::PedGetupCB, &CPed::PedStaggerCB, &CPed::PedEvadeCB, &CPed::FinishDieAnimCB,
|
||||||
&CPed::FinishedWaitCB, &CPed::FinishLaunchCB, &CPed::FinishHitHeadCB, &CPed::PedAnimGetInCB, &CPed::PedAnimDoorOpenCB,
|
&CPed::FinishedWaitCB, &CPed::FinishLaunchCB, &CPed::FinishHitHeadCB, &CPed::PedAnimGetInCB, &CPed::PedAnimDoorOpenCB,
|
||||||
@ -119,16 +118,13 @@ static uint8 FindCBFunctionID(void(*f)(CAnimBlendAssociation*, void*))
|
|||||||
if (CBArray[i] == f)
|
if (CBArray[i] == f)
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < sizeof(CBArray_RE3) / sizeof(*CBArray_RE3); i++) {
|
|
||||||
if (CBArray_RE3[i] == f)
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void(*FindCBFunction(uint8 id))(CAnimBlendAssociation*, void*)
|
static void(*FindCBFunction(uint8 id))(CAnimBlendAssociation*, void*)
|
||||||
{
|
{
|
||||||
return CBArray_RE3[id];
|
return CBArray[id];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ApplyPanelDamageToCar(uint32 panels, CAutomobile* vehicle, bool flying)
|
static void ApplyPanelDamageToCar(uint32 panels, CAutomobile* vehicle, bool flying)
|
||||||
|
@ -205,68 +205,68 @@ class CReplay
|
|||||||
static_assert(sizeof(tVehicleUpdatePacket) == 48, "tVehicleUpdatePacket: error");
|
static_assert(sizeof(tVehicleUpdatePacket) == 48, "tVehicleUpdatePacket: error");
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static uint8 &Mode;
|
static uint8 Mode;
|
||||||
static CAddressInReplayBuffer &Record;
|
static CAddressInReplayBuffer Record;
|
||||||
static CAddressInReplayBuffer &Playback;
|
static CAddressInReplayBuffer Playback;
|
||||||
static uint8 *&pBuf0;
|
static uint8 *pBuf0;
|
||||||
static CAutomobile *&pBuf1;
|
static CAutomobile *pBuf1;
|
||||||
static uint8 *&pBuf2;
|
static uint8 *pBuf2;
|
||||||
static CPlayerPed *&pBuf3;
|
static CPlayerPed *pBuf3;
|
||||||
static uint8 *&pBuf4;
|
static uint8 *pBuf4;
|
||||||
static CCutsceneHead *&pBuf5;
|
static CCutsceneHead *pBuf5;
|
||||||
static uint8 *&pBuf6;
|
static uint8 *pBuf6;
|
||||||
static CPtrNode *&pBuf7;
|
static CPtrNode *pBuf7;
|
||||||
static uint8 *&pBuf8;
|
static uint8 *pBuf8;
|
||||||
static CEntryInfoNode *&pBuf9;
|
static CEntryInfoNode *pBuf9;
|
||||||
static uint8 *&pBuf10;
|
static uint8 *pBuf10;
|
||||||
static CDummyPed *&pBuf11;
|
static CDummyPed *pBuf11;
|
||||||
static uint8 *&pRadarBlips;
|
static uint8 *pRadarBlips;
|
||||||
static uint8 *&pStoredCam;
|
static uint8 *pStoredCam;
|
||||||
static uint8 *&pWorld1;
|
static uint8 *pWorld1;
|
||||||
static CReference *&pEmptyReferences;
|
static CReference *pEmptyReferences;
|
||||||
static CStoredDetailedAnimationState *&pPedAnims;
|
static CStoredDetailedAnimationState *pPedAnims;
|
||||||
static uint8 *&pPickups;
|
static uint8 *pPickups;
|
||||||
static uint8 *&pReferences;
|
static uint8 *pReferences;
|
||||||
static uint8 (&BufferStatus)[NUM_REPLAYBUFFERS];
|
static uint8 BufferStatus[NUM_REPLAYBUFFERS];
|
||||||
static uint8 (&Buffers)[NUM_REPLAYBUFFERS][REPLAYBUFFERSIZE];
|
static uint8 Buffers[NUM_REPLAYBUFFERS][REPLAYBUFFERSIZE];
|
||||||
static bool &bPlayingBackFromFile;
|
static bool bPlayingBackFromFile;
|
||||||
static bool &bReplayEnabled;
|
static bool bReplayEnabled;
|
||||||
static uint32 &SlowMotion;
|
static uint32 SlowMotion;
|
||||||
static uint32 &FramesActiveLookAroundCam;
|
static uint32 FramesActiveLookAroundCam;
|
||||||
static bool &bDoLoadSceneWhenDone;
|
static bool bDoLoadSceneWhenDone;
|
||||||
static CPtrList &WorldPtrList;
|
static CPtrList WorldPtrList;
|
||||||
static CPtrList &BigBuildingPtrList;
|
static CPtrList BigBuildingPtrList;
|
||||||
static CWanted &PlayerWanted;
|
static CWanted PlayerWanted;
|
||||||
static CPlayerInfo &PlayerInfo;
|
static CPlayerInfo PlayerInfo;
|
||||||
static uint32 &Time1;
|
static uint32 Time1;
|
||||||
static uint32 &Time2;
|
static uint32 Time2;
|
||||||
static uint32 &Time3;
|
static uint32 Time3;
|
||||||
static uint32 &Time4;
|
static uint32 Time4;
|
||||||
static uint32 &Frame;
|
static uint32 Frame;
|
||||||
static uint8 &ClockHours;
|
static uint8 ClockHours;
|
||||||
static uint8 &ClockMinutes;
|
static uint8 ClockMinutes;
|
||||||
static uint16 &OldWeatherType;
|
static uint16 OldWeatherType;
|
||||||
static uint16 &NewWeatherType;
|
static uint16 NewWeatherType;
|
||||||
static float &WeatherInterpolationValue;
|
static float WeatherInterpolationValue;
|
||||||
static float &TimeStepNonClipped;
|
static float TimeStepNonClipped;
|
||||||
static float &TimeStep;
|
static float TimeStep;
|
||||||
static float &TimeScale;
|
static float TimeScale;
|
||||||
static float &CameraFixedX;
|
static float CameraFixedX;
|
||||||
static float &CameraFixedY;
|
static float CameraFixedY;
|
||||||
static float &CameraFixedZ;
|
static float CameraFixedZ;
|
||||||
static int32 &OldRadioStation;
|
static int32 OldRadioStation;
|
||||||
static int8 &CameraMode;
|
static int8 CameraMode;
|
||||||
static bool &bAllowLookAroundCam;
|
static bool bAllowLookAroundCam;
|
||||||
static float &LoadSceneX;
|
static float LoadSceneX;
|
||||||
static float &LoadSceneY;
|
static float LoadSceneY;
|
||||||
static float &LoadSceneZ;
|
static float LoadSceneZ;
|
||||||
static float &CameraFocusX;
|
static float CameraFocusX;
|
||||||
static float &CameraFocusY;
|
static float CameraFocusY;
|
||||||
static float &CameraFocusZ;
|
static float CameraFocusZ;
|
||||||
static bool &bPlayerInRCBuggy;
|
static bool bPlayerInRCBuggy;
|
||||||
static float &fDistanceLookAroundCam;
|
static float fDistanceLookAroundCam;
|
||||||
static float &fAlphaAngleLookAroundCam;
|
static float fAlphaAngleLookAroundCam;
|
||||||
static float &fBetaAngleLookAroundCam;
|
static float fBetaAngleLookAroundCam;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void Init(void);
|
static void Init(void);
|
||||||
|
@ -4,22 +4,22 @@
|
|||||||
#include "Zones.h"
|
#include "Zones.h"
|
||||||
#include "PathFind.h"
|
#include "PathFind.h"
|
||||||
|
|
||||||
uint8 &CRestart::OverrideHospitalLevel = *(uint8*)0x95CD4C;
|
uint8 CRestart::OverrideHospitalLevel;
|
||||||
uint8 &CRestart::OverridePoliceStationLevel = *(uint8*)0x95CD50;
|
uint8 CRestart::OverridePoliceStationLevel;
|
||||||
bool &CRestart::bFadeInAfterNextArrest = *(bool*)0x95CD69;
|
bool CRestart::bFadeInAfterNextArrest;
|
||||||
bool &CRestart::bFadeInAfterNextDeath = *(bool*)0x95CD9D;
|
bool CRestart::bFadeInAfterNextDeath;
|
||||||
|
|
||||||
bool &CRestart::bOverrideRestart = *(bool*)0x95CD5D;
|
bool CRestart::bOverrideRestart;
|
||||||
CVector &CRestart::OverridePosition = *(CVector*)0x8E2C00;
|
CVector CRestart::OverridePosition;
|
||||||
float &CRestart::OverrideHeading = *(float*)0x8F2A18;
|
float CRestart::OverrideHeading;
|
||||||
|
|
||||||
CVector(&CRestart::HospitalRestartPoints)[NUM_RESTART_POINTS] = *(CVector(*)[NUM_RESTART_POINTS])*(uintptr*)0x87F9B0;
|
CVector CRestart::HospitalRestartPoints[NUM_RESTART_POINTS];
|
||||||
float(&CRestart::HospitalRestartHeadings)[NUM_RESTART_POINTS] = *(float(*)[NUM_RESTART_POINTS])*(uintptr*)0x6F1D40;
|
float CRestart::HospitalRestartHeadings[NUM_RESTART_POINTS];
|
||||||
uint16 &CRestart::NumberOfHospitalRestarts = *(uint16*)0x95CC46;
|
uint16 CRestart::NumberOfHospitalRestarts;
|
||||||
|
|
||||||
CVector(&CRestart::PoliceRestartPoints)[NUM_RESTART_POINTS] = *(CVector(*)[NUM_RESTART_POINTS])*(uintptr*)0x846228;
|
CVector CRestart::PoliceRestartPoints[NUM_RESTART_POINTS];
|
||||||
float(&CRestart::PoliceRestartHeadings)[NUM_RESTART_POINTS] = *(float(*)[NUM_RESTART_POINTS])*(uintptr*)0x6F1D20;
|
float CRestart::PoliceRestartHeadings[NUM_RESTART_POINTS];
|
||||||
uint16 &CRestart::NumberOfPoliceRestarts = *(uint16*)0x95CC44;
|
uint16 CRestart::NumberOfPoliceRestarts;
|
||||||
|
|
||||||
void
|
void
|
||||||
CRestart::Initialise()
|
CRestart::Initialise()
|
||||||
|
@ -17,20 +17,20 @@ public:
|
|||||||
static void LoadAllRestartPoints(uint8 *buf, uint32 size);
|
static void LoadAllRestartPoints(uint8 *buf, uint32 size);
|
||||||
static void SaveAllRestartPoints(uint8 *buf, uint32 *size);
|
static void SaveAllRestartPoints(uint8 *buf, uint32 *size);
|
||||||
|
|
||||||
static uint8 &OverrideHospitalLevel;
|
static uint8 OverrideHospitalLevel;
|
||||||
static uint8 &OverridePoliceStationLevel;
|
static uint8 OverridePoliceStationLevel;
|
||||||
static bool &bFadeInAfterNextArrest;
|
static bool bFadeInAfterNextArrest;
|
||||||
static bool &bFadeInAfterNextDeath;
|
static bool bFadeInAfterNextDeath;
|
||||||
|
|
||||||
static bool &bOverrideRestart;
|
static bool bOverrideRestart;
|
||||||
static CVector &OverridePosition;
|
static CVector OverridePosition;
|
||||||
static float &OverrideHeading;
|
static float OverrideHeading;
|
||||||
|
|
||||||
static CVector(&HospitalRestartPoints)[NUM_RESTART_POINTS];
|
static CVector HospitalRestartPoints[NUM_RESTART_POINTS];
|
||||||
static float (&HospitalRestartHeadings)[NUM_RESTART_POINTS];
|
static float HospitalRestartHeadings[NUM_RESTART_POINTS];
|
||||||
static uint16 &NumberOfHospitalRestarts;
|
static uint16 NumberOfHospitalRestarts;
|
||||||
|
|
||||||
static CVector (&PoliceRestartPoints)[NUM_RESTART_POINTS];
|
static CVector PoliceRestartPoints[NUM_RESTART_POINTS];
|
||||||
static float (&PoliceRestartHeadings)[NUM_RESTART_POINTS];
|
static float PoliceRestartHeadings[NUM_RESTART_POINTS];
|
||||||
static uint16 &NumberOfPoliceRestarts;
|
static uint16 NumberOfPoliceRestarts;
|
||||||
};
|
};
|
||||||
|
@ -15,9 +15,9 @@
|
|||||||
#include "CarCtrl.h"
|
#include "CarCtrl.h"
|
||||||
#include "General.h"
|
#include "General.h"
|
||||||
|
|
||||||
int16 &CRoadBlocks::NumRoadBlocks = *(int16*)0x95CC34;
|
int16 CRoadBlocks::NumRoadBlocks;
|
||||||
int16 (&CRoadBlocks::RoadBlockObjects)[NUMROADBLOCKS] = *(int16(*)[NUMROADBLOCKS]) * (uintptr*)0x72B3A8;
|
int16 CRoadBlocks::RoadBlockObjects[NUMROADBLOCKS];
|
||||||
bool (&CRoadBlocks::InOrOut)[NUMROADBLOCKS] = *(bool(*)[NUMROADBLOCKS]) * (uintptr*)0x733810;
|
bool CRoadBlocks::InOrOut[NUMROADBLOCKS];
|
||||||
|
|
||||||
void
|
void
|
||||||
CRoadBlocks::Init(void)
|
CRoadBlocks::Init(void)
|
||||||
|
@ -6,9 +6,9 @@ class CVehicle;
|
|||||||
class CRoadBlocks
|
class CRoadBlocks
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static int16 (&NumRoadBlocks);
|
static int16 NumRoadBlocks;
|
||||||
static int16 (&RoadBlockObjects)[NUMROADBLOCKS];
|
static int16 RoadBlockObjects[NUMROADBLOCKS];
|
||||||
static bool (&InOrOut)[NUMROADBLOCKS];
|
static bool InOrOut[NUMROADBLOCKS];
|
||||||
|
|
||||||
static void Init(void);
|
static void Init(void);
|
||||||
static void GenerateRoadBlockCopsForCar(CVehicle* pVehicle, int32 roadBlockType, int16 roadBlockNode);
|
static void GenerateRoadBlockCopsForCar(CVehicle* pVehicle, int32 roadBlockType, int16 roadBlockNode);
|
||||||
|
@ -87,47 +87,47 @@
|
|||||||
#define FEET_IN_METER 3.33f
|
#define FEET_IN_METER 3.33f
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uint8 (&CTheScripts::ScriptSpace)[SIZE_SCRIPT_SPACE] = *(uint8(*)[SIZE_SCRIPT_SPACE])*(uintptr*)0x74B248;
|
uint8 CTheScripts::ScriptSpace[SIZE_SCRIPT_SPACE];
|
||||||
CRunningScript(&CTheScripts::ScriptsArray)[MAX_NUM_SCRIPTS] = *(CRunningScript(*)[MAX_NUM_SCRIPTS])*(uintptr*)0x6F5C08;
|
CRunningScript CTheScripts::ScriptsArray[MAX_NUM_SCRIPTS];
|
||||||
int32(&CTheScripts::BaseBriefIdForContact)[MAX_NUM_CONTACTS] = *(int32(*)[MAX_NUM_CONTACTS])*(uintptr*)0x880200;
|
int32 CTheScripts::BaseBriefIdForContact[MAX_NUM_CONTACTS];
|
||||||
int32(&CTheScripts::OnAMissionForContactFlag)[MAX_NUM_CONTACTS] = *(int32(*)[MAX_NUM_CONTACTS])*(uintptr*)0x8622F0;
|
int32 CTheScripts::OnAMissionForContactFlag[MAX_NUM_CONTACTS];
|
||||||
intro_text_line (&CTheScripts::IntroTextLines)[MAX_NUM_INTRO_TEXT_LINES] = *(intro_text_line (*)[MAX_NUM_INTRO_TEXT_LINES])*(uintptr*)0x70EA68;
|
intro_text_line CTheScripts::IntroTextLines[MAX_NUM_INTRO_TEXT_LINES];
|
||||||
intro_script_rectangle (&CTheScripts::IntroRectangles)[MAX_NUM_INTRO_RECTANGLES] = *(intro_script_rectangle (*)[MAX_NUM_INTRO_RECTANGLES])*(uintptr*)0x72D108;
|
intro_script_rectangle CTheScripts::IntroRectangles[MAX_NUM_INTRO_RECTANGLES];
|
||||||
CSprite2d (&CTheScripts::ScriptSprites)[MAX_NUM_SCRIPT_SRPITES] = *(CSprite2d(*)[MAX_NUM_SCRIPT_SRPITES])*(uintptr*)0x72B090;
|
CSprite2d CTheScripts::ScriptSprites[MAX_NUM_SCRIPT_SRPITES];
|
||||||
script_sphere_struct(&CTheScripts::ScriptSphereArray)[MAX_NUM_SCRIPT_SPHERES] = *(script_sphere_struct(*)[MAX_NUM_SCRIPT_SPHERES])*(uintptr*)0x727D60;
|
script_sphere_struct CTheScripts::ScriptSphereArray[MAX_NUM_SCRIPT_SPHERES];
|
||||||
tCollectiveData(&CTheScripts::CollectiveArray)[MAX_NUM_COLLECTIVES] = *(tCollectiveData(*)[MAX_NUM_COLLECTIVES])*(uintptr*)0x6FA008;
|
tCollectiveData CTheScripts::CollectiveArray[MAX_NUM_COLLECTIVES];
|
||||||
tUsedObject(&CTheScripts::UsedObjectArray)[MAX_NUM_USED_OBJECTS] = *(tUsedObject(*)[MAX_NUM_USED_OBJECTS])*(uintptr*)0x6E69C8;
|
tUsedObject CTheScripts::UsedObjectArray[MAX_NUM_USED_OBJECTS];
|
||||||
int32(&CTheScripts::MultiScriptArray)[MAX_NUM_MISSION_SCRIPTS] = *(int32(*)[MAX_NUM_MISSION_SCRIPTS])*(uintptr*)0x6F0558;
|
int32 CTheScripts::MultiScriptArray[MAX_NUM_MISSION_SCRIPTS];
|
||||||
tBuildingSwap(&CTheScripts::BuildingSwapArray)[MAX_NUM_BUILDING_SWAPS] = *(tBuildingSwap(*)[MAX_NUM_BUILDING_SWAPS])*(uintptr*)0x880E30;
|
tBuildingSwap CTheScripts::BuildingSwapArray[MAX_NUM_BUILDING_SWAPS];
|
||||||
CEntity*(&CTheScripts::InvisibilitySettingArray)[MAX_NUM_INVISIBILITY_SETTINGS] = *(CEntity*(*)[MAX_NUM_INVISIBILITY_SETTINGS])*(uintptr*)0x8620F0;
|
CEntity* CTheScripts::InvisibilitySettingArray[MAX_NUM_INVISIBILITY_SETTINGS];
|
||||||
CStoredLine (&CTheScripts::aStoredLines)[MAX_NUM_STORED_LINES] = *(CStoredLine(*)[MAX_NUM_STORED_LINES])*(uintptr*)0x743018;
|
CStoredLine CTheScripts::aStoredLines[MAX_NUM_STORED_LINES];
|
||||||
bool &CTheScripts::DbgFlag = *(bool*)0x95CD87;
|
bool CTheScripts::DbgFlag;
|
||||||
uint32 &CTheScripts::OnAMissionFlag = *(uint32*)0x8F1B64;
|
uint32 CTheScripts::OnAMissionFlag;
|
||||||
int32 &CTheScripts::StoreVehicleIndex = *(int32*)0x8F5F3C;
|
int32 CTheScripts::StoreVehicleIndex;
|
||||||
bool &CTheScripts::StoreVehicleWasRandom = *(bool*)0x95CDBC;
|
bool CTheScripts::StoreVehicleWasRandom;
|
||||||
CRunningScript *&CTheScripts::pIdleScripts = *(CRunningScript**)0x9430D4;
|
CRunningScript *CTheScripts::pIdleScripts;
|
||||||
CRunningScript *&CTheScripts::pActiveScripts = *(CRunningScript**)0x8E2BF4;
|
CRunningScript *CTheScripts::pActiveScripts;
|
||||||
uint32 &CTheScripts::NextFreeCollectiveIndex = *(uint32*)0x942F98;
|
uint32 CTheScripts::NextFreeCollectiveIndex;
|
||||||
int32 &CTheScripts::LastRandomPedId = *(int32*)0x8F251C;
|
int32 CTheScripts::LastRandomPedId;
|
||||||
uint16 &CTheScripts::NumberOfUsedObjects = *(uint16*)0x95CC72;
|
uint16 CTheScripts::NumberOfUsedObjects;
|
||||||
bool &CTheScripts::bAlreadyRunningAMissionScript = *(bool*)0x95CDB3;
|
bool CTheScripts::bAlreadyRunningAMissionScript;
|
||||||
bool &CTheScripts::bUsingAMultiScriptFile = *(bool*)0x95CD55;
|
bool CTheScripts::bUsingAMultiScriptFile;
|
||||||
uint16 &CTheScripts::NumberOfMissionScripts = *(uint16*)0x95CC9A;
|
uint16 CTheScripts::NumberOfMissionScripts;
|
||||||
uint32 &CTheScripts::LargestMissionScriptSize = *(uint32*)0x9414C8;
|
uint32 CTheScripts::LargestMissionScriptSize;
|
||||||
uint32 &CTheScripts::MainScriptSize = *(uint32*)0x9405A4;
|
uint32 CTheScripts::MainScriptSize;
|
||||||
uint8 &CTheScripts::FailCurrentMission = *(uint8*)0x95CD41;
|
uint8 CTheScripts::FailCurrentMission;
|
||||||
uint8 &CTheScripts::CountdownToMakePlayerUnsafe = *(uint8*)0x95CD51;
|
uint8 CTheScripts::CountdownToMakePlayerUnsafe;
|
||||||
uint8 &CTheScripts::DelayMakingPlayerUnsafeThisTime = *(uint8*)0x95CD88;
|
uint8 CTheScripts::DelayMakingPlayerUnsafeThisTime;
|
||||||
uint16 &CTheScripts::NumScriptDebugLines = *(uint16*)0x95CC42;
|
uint16 CTheScripts::NumScriptDebugLines;
|
||||||
uint16 &CTheScripts::NumberOfIntroRectanglesThisFrame = *(uint16*)0x95CC88;
|
uint16 CTheScripts::NumberOfIntroRectanglesThisFrame;
|
||||||
uint16 &CTheScripts::NumberOfIntroTextLinesThisFrame = *(uint16*)0x95CC32;
|
uint16 CTheScripts::NumberOfIntroTextLinesThisFrame;
|
||||||
uint8 &CTheScripts::UseTextCommands = *(uint8*)0x95CD57;
|
uint8 CTheScripts::UseTextCommands;
|
||||||
CMissionCleanup (&CTheScripts::MissionCleanup) = *(CMissionCleanup*)0x8F2A24;
|
CMissionCleanup CTheScripts::MissionCleanup;
|
||||||
CUpsideDownCarCheck (&CTheScripts::UpsideDownCars) = *(CUpsideDownCarCheck*)0x6EE450;
|
CUpsideDownCarCheck CTheScripts::UpsideDownCars;
|
||||||
CStuckCarCheck (&CTheScripts::StuckCars) = *(CStuckCarCheck*)0x87C588;
|
CStuckCarCheck CTheScripts::StuckCars;
|
||||||
uint16 &CTheScripts::CommandsExecuted = *(uint16*)0x95CCA6;
|
uint16 CTheScripts::CommandsExecuted;
|
||||||
uint16 &CTheScripts::ScriptsUpdated = *(uint16*)0x95CC5E;
|
uint16 CTheScripts::ScriptsUpdated;
|
||||||
int32(&ScriptParams)[32] = *(int32(*)[32])*(uintptr*)0x6ED460;
|
int32 ScriptParams[32];
|
||||||
|
|
||||||
CMissionCleanup::CMissionCleanup()
|
CMissionCleanup::CMissionCleanup()
|
||||||
{
|
{
|
||||||
|
@ -240,46 +240,46 @@ enum {
|
|||||||
|
|
||||||
class CTheScripts
|
class CTheScripts
|
||||||
{
|
{
|
||||||
static uint8(&ScriptSpace)[SIZE_SCRIPT_SPACE];
|
static uint8 ScriptSpace[SIZE_SCRIPT_SPACE];
|
||||||
static CRunningScript(&ScriptsArray)[MAX_NUM_SCRIPTS];
|
static CRunningScript ScriptsArray[MAX_NUM_SCRIPTS];
|
||||||
static int32(&BaseBriefIdForContact)[MAX_NUM_CONTACTS];
|
static int32 BaseBriefIdForContact[MAX_NUM_CONTACTS];
|
||||||
static int32(&OnAMissionForContactFlag)[MAX_NUM_CONTACTS];
|
static int32 OnAMissionForContactFlag[MAX_NUM_CONTACTS];
|
||||||
static intro_text_line(&IntroTextLines)[MAX_NUM_INTRO_TEXT_LINES];
|
static intro_text_line IntroTextLines[MAX_NUM_INTRO_TEXT_LINES];
|
||||||
static intro_script_rectangle(&IntroRectangles)[MAX_NUM_INTRO_RECTANGLES];
|
static intro_script_rectangle IntroRectangles[MAX_NUM_INTRO_RECTANGLES];
|
||||||
static CSprite2d(&ScriptSprites)[MAX_NUM_SCRIPT_SRPITES];
|
static CSprite2d ScriptSprites[MAX_NUM_SCRIPT_SRPITES];
|
||||||
static script_sphere_struct(&ScriptSphereArray)[MAX_NUM_SCRIPT_SPHERES];
|
static script_sphere_struct ScriptSphereArray[MAX_NUM_SCRIPT_SPHERES];
|
||||||
static tCollectiveData(&CollectiveArray)[MAX_NUM_COLLECTIVES];
|
static tCollectiveData CollectiveArray[MAX_NUM_COLLECTIVES];
|
||||||
static tUsedObject(&UsedObjectArray)[MAX_NUM_USED_OBJECTS];
|
static tUsedObject UsedObjectArray[MAX_NUM_USED_OBJECTS];
|
||||||
static int32(&MultiScriptArray)[MAX_NUM_MISSION_SCRIPTS];
|
static int32 MultiScriptArray[MAX_NUM_MISSION_SCRIPTS];
|
||||||
static tBuildingSwap(&BuildingSwapArray)[MAX_NUM_BUILDING_SWAPS];
|
static tBuildingSwap BuildingSwapArray[MAX_NUM_BUILDING_SWAPS];
|
||||||
static CEntity*(&InvisibilitySettingArray)[MAX_NUM_INVISIBILITY_SETTINGS];
|
static CEntity* InvisibilitySettingArray[MAX_NUM_INVISIBILITY_SETTINGS];
|
||||||
static CStoredLine(&aStoredLines)[MAX_NUM_STORED_LINES];
|
static CStoredLine aStoredLines[MAX_NUM_STORED_LINES];
|
||||||
static bool &DbgFlag;
|
static bool DbgFlag;
|
||||||
static uint32 &OnAMissionFlag;
|
static uint32 OnAMissionFlag;
|
||||||
static CMissionCleanup &MissionCleanup;
|
static CMissionCleanup MissionCleanup;
|
||||||
static CStuckCarCheck &StuckCars;
|
static CStuckCarCheck StuckCars;
|
||||||
static CUpsideDownCarCheck &UpsideDownCars;
|
static CUpsideDownCarCheck UpsideDownCars;
|
||||||
static int32 &StoreVehicleIndex;
|
static int32 StoreVehicleIndex;
|
||||||
static bool &StoreVehicleWasRandom;
|
static bool StoreVehicleWasRandom;
|
||||||
static CRunningScript *&pIdleScripts;
|
static CRunningScript *pIdleScripts;
|
||||||
static CRunningScript *&pActiveScripts;
|
static CRunningScript *pActiveScripts;
|
||||||
static uint32 &NextFreeCollectiveIndex;
|
static uint32 NextFreeCollectiveIndex;
|
||||||
static int32 &LastRandomPedId;
|
static int32 LastRandomPedId;
|
||||||
static uint16 &NumberOfUsedObjects;
|
static uint16 NumberOfUsedObjects;
|
||||||
static bool &bAlreadyRunningAMissionScript;
|
static bool bAlreadyRunningAMissionScript;
|
||||||
static bool &bUsingAMultiScriptFile;
|
static bool bUsingAMultiScriptFile;
|
||||||
static uint16 &NumberOfMissionScripts;
|
static uint16 NumberOfMissionScripts;
|
||||||
static uint32 &LargestMissionScriptSize;
|
static uint32 LargestMissionScriptSize;
|
||||||
static uint32 &MainScriptSize;
|
static uint32 MainScriptSize;
|
||||||
static uint8 &FailCurrentMission;
|
static uint8 FailCurrentMission;
|
||||||
static uint8 &CountdownToMakePlayerUnsafe;
|
static uint8 CountdownToMakePlayerUnsafe;
|
||||||
static uint8 &DelayMakingPlayerUnsafeThisTime;
|
static uint8 DelayMakingPlayerUnsafeThisTime;
|
||||||
static uint16 &NumScriptDebugLines;
|
static uint16 NumScriptDebugLines;
|
||||||
static uint16 &NumberOfIntroRectanglesThisFrame;
|
static uint16 NumberOfIntroRectanglesThisFrame;
|
||||||
static uint16 &NumberOfIntroTextLinesThisFrame;
|
static uint16 NumberOfIntroTextLinesThisFrame;
|
||||||
static uint8 &UseTextCommands;
|
static uint8 UseTextCommands;
|
||||||
static uint16 &CommandsExecuted;
|
static uint16 CommandsExecuted;
|
||||||
static uint16 &ScriptsUpdated;
|
static uint16 ScriptsUpdated;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void Init();
|
static void Init();
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#include "Pools.h"
|
#include "Pools.h"
|
||||||
#include "World.h"
|
#include "World.h"
|
||||||
|
|
||||||
CAccidentManager& gAccidentManager = *(CAccidentManager*)0x87FD10;
|
CAccidentManager gAccidentManager;
|
||||||
|
|
||||||
CAccident*
|
CAccident*
|
||||||
CAccidentManager::GetNextFreeAccident()
|
CAccidentManager::GetNextFreeAccident()
|
||||||
|
@ -29,4 +29,4 @@ public:
|
|||||||
bool WorkToDoForMedics();
|
bool WorkToDoForMedics();
|
||||||
};
|
};
|
||||||
|
|
||||||
extern CAccidentManager& gAccidentManager;
|
extern CAccidentManager gAccidentManager;
|
@ -28,7 +28,7 @@
|
|||||||
const float DefaultFOV = 70.0f; // beta: 80.0f
|
const float DefaultFOV = 70.0f; // beta: 80.0f
|
||||||
|
|
||||||
bool PrintDebugCode = false;
|
bool PrintDebugCode = false;
|
||||||
int16 &DebugCamMode = *(int16*)0x95CCF2;
|
int16 DebugCamMode;
|
||||||
|
|
||||||
#ifdef FREE_CAM
|
#ifdef FREE_CAM
|
||||||
bool CCamera::bFreeCam = false;
|
bool CCamera::bFreeCam = false;
|
||||||
|
@ -58,9 +58,9 @@ enum
|
|||||||
#define PLAYER (CWorld::Players[CWorld::PlayerInFocus].m_pPed)
|
#define PLAYER (CWorld::Players[CWorld::PlayerInFocus].m_pPed)
|
||||||
// NB: removed explicit TheCamera from all functions
|
// NB: removed explicit TheCamera from all functions
|
||||||
|
|
||||||
CCamera &TheCamera = *(CCamera*)0x6FACF8;
|
CCamera TheCamera;
|
||||||
bool &CCamera::m_bUseMouse3rdPerson = *(bool *)0x5F03D8;
|
bool CCamera::m_bUseMouse3rdPerson = true;
|
||||||
bool &bDidWeProcessAnyCinemaCam = *(bool*)0x95CD46;
|
bool bDidWeProcessAnyCinemaCam;
|
||||||
|
|
||||||
#ifdef IMPROVED_CAMERA
|
#ifdef IMPROVED_CAMERA
|
||||||
#define KEYJUSTDOWN(k) ControlsManager.GetIsKeyboardKeyJustDown((RsKeyCodes)k)
|
#define KEYJUSTDOWN(k) ControlsManager.GetIsKeyboardKeyJustDown((RsKeyCodes)k)
|
||||||
|
@ -6,7 +6,7 @@ class CPed;
|
|||||||
class CAutomobile;
|
class CAutomobile;
|
||||||
class CGarage;
|
class CGarage;
|
||||||
|
|
||||||
extern int16 &DebugCamMode;
|
extern int16 DebugCamMode;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
@ -540,7 +540,7 @@ uint32 unknown; // some counter having to do with music
|
|||||||
uint32 m_uiFadeTimeStarted;
|
uint32 m_uiFadeTimeStarted;
|
||||||
uint32 m_uiFadeTimeStartedMusic;
|
uint32 m_uiFadeTimeStartedMusic;
|
||||||
|
|
||||||
static bool &m_bUseMouse3rdPerson;
|
static bool m_bUseMouse3rdPerson;
|
||||||
#ifdef FREE_CAM
|
#ifdef FREE_CAM
|
||||||
static bool bFreeCam;
|
static bool bFreeCam;
|
||||||
#endif
|
#endif
|
||||||
@ -647,7 +647,7 @@ static_assert(offsetof(CCamera, m_vecCutSceneOffset) == 0x6F8, "CCamera: error")
|
|||||||
static_assert(offsetof(CCamera, m_arrPathArray) == 0x7a8, "CCamera: error");
|
static_assert(offsetof(CCamera, m_arrPathArray) == 0x7a8, "CCamera: error");
|
||||||
static_assert(sizeof(CCamera) == 0xE9D8, "CCamera: wrong size");
|
static_assert(sizeof(CCamera) == 0xE9D8, "CCamera: wrong size");
|
||||||
|
|
||||||
extern CCamera &TheCamera;
|
extern CCamera TheCamera;
|
||||||
|
|
||||||
void CamShakeNoPos(CCamera*, float);
|
void CamShakeNoPos(CCamera*, float);
|
||||||
void MakeAngleLessThan180(float &Angle);
|
void MakeAngleLessThan180(float &Angle);
|
||||||
|
@ -6,17 +6,17 @@
|
|||||||
#include "Stats.h"
|
#include "Stats.h"
|
||||||
|
|
||||||
_TODO("gbFastTime");
|
_TODO("gbFastTime");
|
||||||
bool &gbFastTime = *(bool*)0x95CDBB;
|
bool gbFastTime;
|
||||||
|
|
||||||
uint8 &CClock::ms_nGameClockHours = *(uint8*)0x95CDA6;
|
uint8 CClock::ms_nGameClockHours;
|
||||||
uint8 &CClock::ms_nGameClockMinutes = *(uint8*)0x95CDC8;
|
uint8 CClock::ms_nGameClockMinutes;
|
||||||
uint16 &CClock::ms_nGameClockSeconds = *(uint16*)0x95CC7C;
|
uint16 CClock::ms_nGameClockSeconds;
|
||||||
uint8 &CClock::ms_Stored_nGameClockHours = *(uint8*)0x95CD7B;
|
uint8 CClock::ms_Stored_nGameClockHours;
|
||||||
uint8 &CClock::ms_Stored_nGameClockMinutes = *(uint8*)0x95CD9B;
|
uint8 CClock::ms_Stored_nGameClockMinutes;
|
||||||
uint16 &CClock::ms_Stored_nGameClockSeconds = *(uint16*)0x95CC9C;
|
uint16 CClock::ms_Stored_nGameClockSeconds;
|
||||||
uint32 &CClock::ms_nMillisecondsPerGameMinute = *(uint32*)0x8F2C64;
|
uint32 CClock::ms_nMillisecondsPerGameMinute;
|
||||||
uint32 &CClock::ms_nLastClockTick = *(uint32*)0x9430E4;
|
uint32 CClock::ms_nLastClockTick;
|
||||||
bool &CClock::ms_bClockHasBeenStored = *(bool*)0x95CD82;
|
bool CClock::ms_bClockHasBeenStored;
|
||||||
|
|
||||||
void
|
void
|
||||||
CClock::Initialise(uint32 scale)
|
CClock::Initialise(uint32 scale)
|
||||||
|
@ -3,15 +3,15 @@
|
|||||||
class CClock
|
class CClock
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static uint8 &ms_nGameClockHours;
|
static uint8 ms_nGameClockHours;
|
||||||
static uint8 &ms_nGameClockMinutes;
|
static uint8 ms_nGameClockMinutes;
|
||||||
static uint16 &ms_nGameClockSeconds;
|
static uint16 ms_nGameClockSeconds;
|
||||||
static uint8 &ms_Stored_nGameClockHours;
|
static uint8 ms_Stored_nGameClockHours;
|
||||||
static uint8 &ms_Stored_nGameClockMinutes;
|
static uint8 ms_Stored_nGameClockMinutes;
|
||||||
static uint16 &ms_Stored_nGameClockSeconds;
|
static uint16 ms_Stored_nGameClockSeconds;
|
||||||
static uint32 &ms_nMillisecondsPerGameMinute;
|
static uint32 ms_nMillisecondsPerGameMinute;
|
||||||
static uint32 &ms_nLastClockTick;
|
static uint32 ms_nLastClockTick;
|
||||||
static bool &ms_bClockHasBeenStored;
|
static bool ms_bClockHasBeenStored;
|
||||||
|
|
||||||
static void Initialise(uint32 scale);
|
static void Initialise(uint32 scale);
|
||||||
static void Update(void);
|
static void Update(void);
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "GenericGameStorage.h"
|
#include "GenericGameStorage.h"
|
||||||
|
|
||||||
CControllerConfigManager &ControlsManager = *(CControllerConfigManager*)0x8F43A4;
|
CControllerConfigManager ControlsManager;
|
||||||
|
|
||||||
CControllerConfigManager::CControllerConfigManager()
|
CControllerConfigManager::CControllerConfigManager()
|
||||||
{
|
{
|
||||||
|
@ -198,4 +198,4 @@ public:
|
|||||||
|
|
||||||
VALIDATE_SIZE(CControllerConfigManager, 0x143C);
|
VALIDATE_SIZE(CControllerConfigManager, 0x143C);
|
||||||
|
|
||||||
extern CControllerConfigManager &ControlsManager;
|
extern CControllerConfigManager ControlsManager;
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
int32 CEventList::ms_nFirstFreeSlotIndex;
|
int32 CEventList::ms_nFirstFreeSlotIndex;
|
||||||
CEvent gaEvent[NUMEVENTS];
|
CEvent gaEvent[NUMEVENTS];
|
||||||
//CEvent *gaEvent = (CEvent*)0x6EF830;
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -168,8 +168,8 @@ myfeof(int fd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char *CFileMgr::ms_rootDirName = (char*)0x5F18F8;
|
char CFileMgr::ms_rootDirName[128] = {'\0'};
|
||||||
char *CFileMgr::ms_dirName = (char*)0x713CA8;
|
char CFileMgr::ms_dirName[128];
|
||||||
|
|
||||||
void
|
void
|
||||||
CFileMgr::Initialise(void)
|
CFileMgr::Initialise(void)
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
class CFileMgr
|
class CFileMgr
|
||||||
{
|
{
|
||||||
static char *ms_rootDirName; //[128];
|
static char ms_rootDirName[128];
|
||||||
static char *ms_dirName; //[128];
|
static char ms_dirName[128];
|
||||||
public:
|
public:
|
||||||
static void Initialise(void);
|
static void Initialise(void);
|
||||||
static void ChangeDir(const char *dir);
|
static void ChangeDir(const char *dir);
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#include "Ped.h"
|
#include "Ped.h"
|
||||||
#include "Fire.h"
|
#include "Fire.h"
|
||||||
|
|
||||||
CFireManager &gFireManager = *(CFireManager*)0x8F31D0;
|
CFireManager gFireManager;
|
||||||
|
|
||||||
CFire::CFire()
|
CFire::CFire()
|
||||||
{
|
{
|
||||||
|
@ -48,4 +48,4 @@ public:
|
|||||||
void RemoveScriptFire(int16 index);
|
void RemoveScriptFire(int16 index);
|
||||||
void SetScriptFireAudio(int16 index, bool state);
|
void SetScriptFireAudio(int16 index, bool state);
|
||||||
};
|
};
|
||||||
extern CFireManager &gFireManager;
|
extern CFireManager gFireManager;
|
||||||
|
@ -93,7 +93,7 @@ int8 CMenuManager::m_PrefsSpeakers;
|
|||||||
int32 CMenuManager::m_ControlMethod;
|
int32 CMenuManager::m_ControlMethod;
|
||||||
int8 CMenuManager::m_PrefsDMA = 1;
|
int8 CMenuManager::m_PrefsDMA = 1;
|
||||||
int32 CMenuManager::m_PrefsLanguage;
|
int32 CMenuManager::m_PrefsLanguage;
|
||||||
uint8 CMenuManager::m_PrefsStereoMono; // *(bool*)0x95CDB5; // unused except restore settings
|
uint8 CMenuManager::m_PrefsStereoMono; // unused except restore settings
|
||||||
|
|
||||||
bool CMenuManager::m_PrefsAllowNastyGame = true;
|
bool CMenuManager::m_PrefsAllowNastyGame = true;
|
||||||
bool CMenuManager::m_bStartUpFrontEndRequested;
|
bool CMenuManager::m_bStartUpFrontEndRequested;
|
||||||
|
@ -89,19 +89,19 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
eLevelName &CGame::currLevel = *(eLevelName*)0x941514;
|
eLevelName CGame::currLevel;
|
||||||
bool &CGame::bDemoMode = *(bool*)0x5F4DD0;
|
bool CGame::bDemoMode = true;
|
||||||
bool &CGame::nastyGame = *(bool*)0x5F4DD4;
|
bool CGame::nastyGame = true;
|
||||||
bool &CGame::frenchGame = *(bool*)0x95CDCB;
|
bool CGame::frenchGame;
|
||||||
bool &CGame::germanGame = *(bool*)0x95CD1E;
|
bool CGame::germanGame;
|
||||||
bool &CGame::noProstitutes = *(bool*)0x95CDCF;
|
bool CGame::noProstitutes;
|
||||||
bool &CGame::playingIntro = *(bool*)0x95CDC2;
|
bool CGame::playingIntro;
|
||||||
char *CGame::aDatFile = (char*)0x773A48;
|
char CGame::aDatFile[32];
|
||||||
#ifdef MORE_LANGUAGES
|
#ifdef MORE_LANGUAGES
|
||||||
bool CGame::russianGame = false;
|
bool CGame::russianGame = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int &gameTxdSlot = *(int*)0x628D88;
|
int gameTxdSlot;
|
||||||
|
|
||||||
bool
|
bool
|
||||||
CGame::InitialiseOnceBeforeRW(void)
|
CGame::InitialiseOnceBeforeRW(void)
|
||||||
@ -115,7 +115,9 @@ CGame::InitialiseOnceBeforeRW(void)
|
|||||||
bool
|
bool
|
||||||
CGame::InitialiseRenderWare(void)
|
CGame::InitialiseRenderWare(void)
|
||||||
{
|
{
|
||||||
|
#ifdef USE_TEXTURE_POOL
|
||||||
_TexturePoolsInitialise();
|
_TexturePoolsInitialise();
|
||||||
|
#endif
|
||||||
|
|
||||||
CTxdStore::Initialise();
|
CTxdStore::Initialise();
|
||||||
CVisibilityPlugins::Initialise();
|
CVisibilityPlugins::Initialise();
|
||||||
@ -188,7 +190,9 @@ void CGame::ShutdownRenderWare(void)
|
|||||||
|
|
||||||
CVisibilityPlugins::Shutdown();
|
CVisibilityPlugins::Shutdown();
|
||||||
|
|
||||||
|
#ifdef USE_TEXTURE_POOL
|
||||||
_TexturePoolsShutdown();
|
_TexturePoolsShutdown();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CGame::InitialiseOnceAfterRW(void)
|
bool CGame::InitialiseOnceAfterRW(void)
|
||||||
|
@ -11,17 +11,17 @@ enum eLevelName
|
|||||||
class CGame
|
class CGame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static eLevelName &currLevel;
|
static eLevelName currLevel;
|
||||||
static bool &bDemoMode;
|
static bool bDemoMode;
|
||||||
static bool &nastyGame;
|
static bool nastyGame;
|
||||||
static bool &frenchGame;
|
static bool frenchGame;
|
||||||
static bool &germanGame;
|
static bool germanGame;
|
||||||
#ifdef MORE_LANGUAGES
|
#ifdef MORE_LANGUAGES
|
||||||
static bool russianGame;
|
static bool russianGame;
|
||||||
#endif
|
#endif
|
||||||
static bool &noProstitutes;
|
static bool noProstitutes;
|
||||||
static bool &playingIntro;
|
static bool playingIntro;
|
||||||
static char *aDatFile; //[32];
|
static char aDatFile[32];
|
||||||
|
|
||||||
static bool InitialiseOnceBeforeRW(void);
|
static bool InitialiseOnceBeforeRW(void);
|
||||||
static bool InitialiseRenderWare(void);
|
static bool InitialiseRenderWare(void);
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "Population.h"
|
#include "Population.h"
|
||||||
|
|
||||||
float CIniFile::PedNumberMultiplier = 1.0f;// = *(float*)0x6182F4;
|
float CIniFile::PedNumberMultiplier = 1.0f;
|
||||||
float CIniFile::CarNumberMultiplier = 1.0f;// = *(float*)0x6182F8;
|
float CIniFile::CarNumberMultiplier = 1.0f;
|
||||||
|
|
||||||
void CIniFile::LoadIniFile()
|
void CIniFile::LoadIniFile()
|
||||||
{
|
{
|
||||||
|
@ -35,26 +35,26 @@
|
|||||||
#include "Wanted.h"
|
#include "Wanted.h"
|
||||||
#include "General.h"
|
#include "General.h"
|
||||||
|
|
||||||
CPad *Pads = (CPad*)0x6F0360; // [2]
|
CPad Pads[MAX_PADS];
|
||||||
CMousePointerStateHelper &MousePointerStateHelper = *(CMousePointerStateHelper*)0x95CC8C;
|
CMousePointerStateHelper MousePointerStateHelper;
|
||||||
|
|
||||||
bool &CPad::bDisplayNoControllerMessage = *(bool *)0x95CD52;
|
bool CPad::bDisplayNoControllerMessage;
|
||||||
bool &CPad::bObsoleteControllerMessage = *(bool *)0x95CDB8;
|
bool CPad::bObsoleteControllerMessage;
|
||||||
bool CPad::bOldDisplayNoControllerMessage;
|
bool CPad::bOldDisplayNoControllerMessage;
|
||||||
bool &CPad::m_bMapPadOneToPadTwo = *(bool *)0x95CD48;
|
bool CPad::m_bMapPadOneToPadTwo;
|
||||||
|
|
||||||
CKeyboardState &CPad::OldKeyState = *(CKeyboardState*)0x6F1E70;
|
CKeyboardState CPad::OldKeyState;
|
||||||
CKeyboardState &CPad::NewKeyState = *(CKeyboardState*)0x6E60D0;
|
CKeyboardState CPad::NewKeyState;
|
||||||
CKeyboardState &CPad::TempKeyState = *(CKeyboardState*)0x774DE8;
|
CKeyboardState CPad::TempKeyState;
|
||||||
|
|
||||||
char CPad::KeyBoardCheatString[20];
|
char CPad::KeyBoardCheatString[20];
|
||||||
|
|
||||||
CMouseControllerState &CPad::OldMouseControllerState = *(CMouseControllerState*)0x8472A0;
|
CMouseControllerState CPad::OldMouseControllerState;
|
||||||
CMouseControllerState &CPad::NewMouseControllerState = *(CMouseControllerState*)0x8809F0;
|
CMouseControllerState CPad::NewMouseControllerState;
|
||||||
CMouseControllerState &CPad::PCTempMouseControllerState = *(CMouseControllerState*)0x6F1E60;
|
CMouseControllerState CPad::PCTempMouseControllerState;
|
||||||
|
|
||||||
_TODO("gbFastTime");
|
_TODO("gbFastTime");
|
||||||
extern bool &gbFastTime;
|
extern bool gbFastTime;
|
||||||
|
|
||||||
void WeaponCheat()
|
void WeaponCheat()
|
||||||
{
|
{
|
||||||
|
@ -66,7 +66,7 @@ public:
|
|||||||
|
|
||||||
VALIDATE_SIZE(CMousePointerStateHelper, 0x2);
|
VALIDATE_SIZE(CMousePointerStateHelper, 0x2);
|
||||||
|
|
||||||
extern CMousePointerStateHelper &MousePointerStateHelper;
|
extern CMousePointerStateHelper MousePointerStateHelper;
|
||||||
|
|
||||||
|
|
||||||
class CKeyboardState
|
class CKeyboardState
|
||||||
@ -163,18 +163,18 @@ public:
|
|||||||
CPad() { }
|
CPad() { }
|
||||||
~CPad() { }
|
~CPad() { }
|
||||||
|
|
||||||
static bool &bDisplayNoControllerMessage;
|
static bool bDisplayNoControllerMessage;
|
||||||
static bool &bObsoleteControllerMessage;
|
static bool bObsoleteControllerMessage;
|
||||||
static bool bOldDisplayNoControllerMessage;
|
static bool bOldDisplayNoControllerMessage;
|
||||||
static bool &m_bMapPadOneToPadTwo;
|
static bool m_bMapPadOneToPadTwo;
|
||||||
|
|
||||||
static CKeyboardState &OldKeyState;
|
static CKeyboardState OldKeyState;
|
||||||
static CKeyboardState &NewKeyState;
|
static CKeyboardState NewKeyState;
|
||||||
static CKeyboardState &TempKeyState;
|
static CKeyboardState TempKeyState;
|
||||||
static char KeyBoardCheatString[20];
|
static char KeyBoardCheatString[20];
|
||||||
static CMouseControllerState &OldMouseControllerState;
|
static CMouseControllerState OldMouseControllerState;
|
||||||
static CMouseControllerState &NewMouseControllerState;
|
static CMouseControllerState NewMouseControllerState;
|
||||||
static CMouseControllerState &PCTempMouseControllerState;
|
static CMouseControllerState PCTempMouseControllerState;
|
||||||
|
|
||||||
|
|
||||||
#ifdef GTA_PS2_STUFF
|
#ifdef GTA_PS2_STUFF
|
||||||
@ -450,4 +450,4 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
VALIDATE_SIZE(CPad, 0xFC);
|
VALIDATE_SIZE(CPad, 0xFC);
|
||||||
extern CPad *Pads; //[2]
|
extern CPad Pads[MAX_PADS];
|
||||||
|
@ -10,15 +10,15 @@
|
|||||||
#include "Wanted.h"
|
#include "Wanted.h"
|
||||||
#include "World.h"
|
#include "World.h"
|
||||||
|
|
||||||
CCPtrNodePool *&CPools::ms_pPtrNodePool = *(CCPtrNodePool**)0x943044;
|
CCPtrNodePool *CPools::ms_pPtrNodePool;
|
||||||
CEntryInfoNodePool *&CPools::ms_pEntryInfoNodePool = *(CEntryInfoNodePool**)0x941448;
|
CEntryInfoNodePool *CPools::ms_pEntryInfoNodePool;
|
||||||
CPedPool *&CPools::ms_pPedPool = *(CPedPool**)0x8F2C60;
|
CPedPool *CPools::ms_pPedPool;
|
||||||
CVehiclePool *&CPools::ms_pVehiclePool = *(CVehiclePool**)0x9430DC;
|
CVehiclePool *CPools::ms_pVehiclePool;
|
||||||
CBuildingPool *&CPools::ms_pBuildingPool = *(CBuildingPool**)0x8F2C04;
|
CBuildingPool *CPools::ms_pBuildingPool;
|
||||||
CTreadablePool *&CPools::ms_pTreadablePool = *(CTreadablePool**)0x8F2568;
|
CTreadablePool *CPools::ms_pTreadablePool;
|
||||||
CObjectPool *&CPools::ms_pObjectPool = *(CObjectPool**)0x880E28;
|
CObjectPool *CPools::ms_pObjectPool;
|
||||||
CDummyPool *&CPools::ms_pDummyPool = *(CDummyPool**)0x8F2C18;
|
CDummyPool *CPools::ms_pDummyPool;
|
||||||
CAudioScriptObjectPool *&CPools::ms_pAudioScriptObjectPool = *(CAudioScriptObjectPool**)0x8F1B6C;
|
CAudioScriptObjectPool *CPools::ms_pAudioScriptObjectPool;
|
||||||
|
|
||||||
void
|
void
|
||||||
CPools::Initialise(void)
|
CPools::Initialise(void)
|
||||||
|
@ -22,15 +22,15 @@ typedef CPool<cAudioScriptObject> CAudioScriptObjectPool;
|
|||||||
|
|
||||||
class CPools
|
class CPools
|
||||||
{
|
{
|
||||||
static CCPtrNodePool *&ms_pPtrNodePool;
|
static CCPtrNodePool *ms_pPtrNodePool;
|
||||||
static CEntryInfoNodePool *&ms_pEntryInfoNodePool;
|
static CEntryInfoNodePool *ms_pEntryInfoNodePool;
|
||||||
static CPedPool *&ms_pPedPool;
|
static CPedPool *ms_pPedPool;
|
||||||
static CVehiclePool *&ms_pVehiclePool;
|
static CVehiclePool *ms_pVehiclePool;
|
||||||
static CBuildingPool *&ms_pBuildingPool;
|
static CBuildingPool *ms_pBuildingPool;
|
||||||
static CTreadablePool *&ms_pTreadablePool;
|
static CTreadablePool *ms_pTreadablePool;
|
||||||
static CObjectPool *&ms_pObjectPool;
|
static CObjectPool *ms_pObjectPool;
|
||||||
static CDummyPool *&ms_pDummyPool;
|
static CDummyPool *ms_pDummyPool;
|
||||||
static CAudioScriptObjectPool *&ms_pAudioScriptObjectPool;
|
static CAudioScriptObjectPool *ms_pAudioScriptObjectPool;
|
||||||
public:
|
public:
|
||||||
static CCPtrNodePool *GetPtrNodePool(void) { return ms_pPtrNodePool; }
|
static CCPtrNodePool *GetPtrNodePool(void) { return ms_pPtrNodePool; }
|
||||||
static CEntryInfoNodePool *GetEntryInfoNodePool(void) { return ms_pEntryInfoNodePool; }
|
static CEntryInfoNodePool *GetEntryInfoNodePool(void) { return ms_pEntryInfoNodePool; }
|
||||||
|
@ -19,28 +19,28 @@
|
|||||||
float CRadar::m_radarRange;
|
float CRadar::m_radarRange;
|
||||||
sRadarTrace CRadar::ms_RadarTrace[NUMRADARBLIPS];
|
sRadarTrace CRadar::ms_RadarTrace[NUMRADARBLIPS];
|
||||||
CVector2D vec2DRadarOrigin;
|
CVector2D vec2DRadarOrigin;
|
||||||
int32 gRadarTxdIds[64];// = (int*)0x6299C0;
|
int32 gRadarTxdIds[64];
|
||||||
|
|
||||||
CSprite2d CRadar::AsukaSprite;// = *(CSprite2d*)0x8F1A40;
|
CSprite2d CRadar::AsukaSprite;
|
||||||
CSprite2d CRadar::BombSprite;// = (CSprite2d*)0x8F5FB4;
|
CSprite2d CRadar::BombSprite;
|
||||||
CSprite2d CRadar::CatSprite;// = (CSprite2d*)0x885B24;
|
CSprite2d CRadar::CatSprite;
|
||||||
CSprite2d CRadar::CentreSprite;// = (CSprite2d*)0x8F6268;
|
CSprite2d CRadar::CentreSprite;
|
||||||
CSprite2d CRadar::CopcarSprite;// = (CSprite2d*)0x8F1A2C;
|
CSprite2d CRadar::CopcarSprite;
|
||||||
CSprite2d CRadar::DonSprite;// = (CSprite2d*)0x8F2BE0;
|
CSprite2d CRadar::DonSprite;
|
||||||
CSprite2d CRadar::EightSprite;// = (CSprite2d*)0x8F2BCC;
|
CSprite2d CRadar::EightSprite;
|
||||||
CSprite2d CRadar::ElSprite;// = (CSprite2d*)0x8F1B80;
|
CSprite2d CRadar::ElSprite;
|
||||||
CSprite2d CRadar::IceSprite;// = (CSprite2d*)0x9415FC;
|
CSprite2d CRadar::IceSprite;
|
||||||
CSprite2d CRadar::JoeySprite;// = (CSprite2d*)0x8F2C00;
|
CSprite2d CRadar::JoeySprite;
|
||||||
CSprite2d CRadar::KenjiSprite;// = (CSprite2d*)0x8F2C68;
|
CSprite2d CRadar::KenjiSprite;
|
||||||
CSprite2d CRadar::LizSprite;// = (CSprite2d*)0x8F5830;
|
CSprite2d CRadar::LizSprite;
|
||||||
CSprite2d CRadar::LuigiSprite;// = (CSprite2d*)0x8F1A3C;
|
CSprite2d CRadar::LuigiSprite;
|
||||||
CSprite2d CRadar::NorthSprite;// = (CSprite2d*)0x8F6274;
|
CSprite2d CRadar::NorthSprite;
|
||||||
CSprite2d CRadar::RaySprite;// = (CSprite2d*)0x8E2A7C;
|
CSprite2d CRadar::RaySprite;
|
||||||
CSprite2d CRadar::SalSprite;// = (CSprite2d*)0x8F29EC;
|
CSprite2d CRadar::SalSprite;
|
||||||
CSprite2d CRadar::SaveSprite;// = (CSprite2d*)0x8F5F74;
|
CSprite2d CRadar::SaveSprite;
|
||||||
CSprite2d CRadar::SpraySprite;// = (CSprite2d*)0x94307C;
|
CSprite2d CRadar::SpraySprite;
|
||||||
CSprite2d CRadar::TonySprite;// = (CSprite2d*)0x885B58;
|
CSprite2d CRadar::TonySprite;
|
||||||
CSprite2d CRadar::WeaponSprite;// = (CSprite2d*)0x941534;
|
CSprite2d CRadar::WeaponSprite;
|
||||||
|
|
||||||
CSprite2d *CRadar::RadarSprites[RADAR_SPRITE_COUNT] = {
|
CSprite2d *CRadar::RadarSprites[RADAR_SPRITE_COUNT] = {
|
||||||
nil,
|
nil,
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
#include "Pools.h"
|
#include "Pools.h"
|
||||||
#include "References.h"
|
#include "References.h"
|
||||||
|
|
||||||
CReference *CReferences::aRefs = (CReference*)0x70BBE0; //[NUMREFERENCES];
|
CReference CReferences::aRefs[NUMREFERENCES];
|
||||||
CReference *&CReferences::pEmptyList = *(CReference**)0x8F1AF8;
|
CReference *CReferences::pEmptyList;
|
||||||
|
|
||||||
void
|
void
|
||||||
CReferences::Init(void)
|
CReferences::Init(void)
|
||||||
|
@ -11,8 +11,8 @@ struct CReference
|
|||||||
class CReferences
|
class CReferences
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static CReference *aRefs; //[NUMREFERENCES];
|
static CReference aRefs[NUMREFERENCES];
|
||||||
static CReference *&pEmptyList;
|
static CReference *pEmptyList;
|
||||||
|
|
||||||
static void Init(void);
|
static void Init(void);
|
||||||
static void RemoveReferencesToPlayer(void);
|
static void RemoveReferencesToPlayer(void);
|
||||||
|
@ -4,59 +4,59 @@
|
|||||||
#include "Text.h"
|
#include "Text.h"
|
||||||
#include "World.h"
|
#include "World.h"
|
||||||
|
|
||||||
int32 &CStats::DaysPassed = *(int32*)0x8F2BB8;
|
int32 CStats::DaysPassed;
|
||||||
int32 &CStats::HeadsPopped = *(int32*)0x8F647C;
|
int32 CStats::HeadsPopped;
|
||||||
int32& CStats::CommercialPassed = *(int32*)0x8F4334;
|
int32 CStats::CommercialPassed;
|
||||||
int32& CStats::IndustrialPassed = *(int32*)0x8E2A68;
|
int32 CStats::IndustrialPassed;
|
||||||
int32& CStats::SuburbanPassed = *(int32*)0x8F2740;
|
int32 CStats::SuburbanPassed;
|
||||||
int32 &CStats::NumberKillFrenziesPassed = *(int32*)0x8E287C;
|
int32 CStats::NumberKillFrenziesPassed;
|
||||||
int32 &CStats::PeopleKilledByOthers = *(int32*)0x8E2C50;
|
int32 CStats::PeopleKilledByOthers;
|
||||||
int32 &CStats::HelisDestroyed = *(int32*)0x8E2A64;
|
int32 CStats::HelisDestroyed;
|
||||||
int32(&CStats::PedsKilledOfThisType)[NUM_PEDTYPES] = *(int32(*)[NUM_PEDTYPES]) * (uintptr*)0x880DBC;
|
int32 CStats::PedsKilledOfThisType[NUM_PEDTYPES];
|
||||||
int32 &CStats::TimesDied = *(int32*)0x8E2BDC;
|
int32 CStats::TimesDied;
|
||||||
int32 &CStats::TimesArrested = *(int32*)0x8E2BEC;
|
int32 CStats::TimesArrested;
|
||||||
int32 &CStats::KillsSinceLastCheckpoint = *(int32*)0x8F2C8C;
|
int32 CStats::KillsSinceLastCheckpoint;
|
||||||
int32& CStats::DistanceTravelledInVehicle = *(int32*)0x940574;
|
int32 CStats::DistanceTravelledInVehicle;
|
||||||
int32& CStats::DistanceTravelledOnFoot = *(int32*)0x941518;
|
int32 CStats::DistanceTravelledOnFoot;
|
||||||
int32 &CStats::ProgressMade = *(int32*)0x8F6224;
|
int32 CStats::ProgressMade;
|
||||||
int32 &CStats::TotalProgressInGame = *(int32*)0x885B2C;
|
int32 CStats::TotalProgressInGame;
|
||||||
int32& CStats::CarsExploded = *(int32*)0x941288;
|
int32 CStats::CarsExploded;
|
||||||
int32& CStats::PeopleKilledByPlayer = *(int32*)0x8F1B7C;
|
int32 CStats::PeopleKilledByPlayer;
|
||||||
float &CStats::MaximumJumpDistance = *(float*)0x8F2BDC;
|
float CStats::MaximumJumpDistance;
|
||||||
float &CStats::MaximumJumpHeight = *(float*)0x940564;
|
float CStats::MaximumJumpHeight;
|
||||||
int32 &CStats::MaximumJumpFlips = *(int32*)0x8F2524;
|
int32 CStats::MaximumJumpFlips;
|
||||||
int32 &CStats::MaximumJumpSpins = *(int32*)0x8F29B0;
|
int32 CStats::MaximumJumpSpins;
|
||||||
int32 &CStats::BestStuntJump = *(int32*)0x885B50;
|
int32 CStats::BestStuntJump;
|
||||||
int32 &CStats::NumberOfUniqueJumpsFound = *(int32*)0x885B74;
|
int32 CStats::NumberOfUniqueJumpsFound;
|
||||||
int32 &CStats::TotalNumberOfUniqueJumps = *(int32*)0x8E2DC0;
|
int32 CStats::TotalNumberOfUniqueJumps;
|
||||||
int32 &CStats::PassengersDroppedOffWithTaxi = *(int32*)0x940724;
|
int32 CStats::PassengersDroppedOffWithTaxi;
|
||||||
int32 &CStats::MoneyMadeWithTaxi = *(int32*)0x941544;
|
int32 CStats::MoneyMadeWithTaxi;
|
||||||
int32 &CStats::MissionsGiven = *(int32*)0x9430E8;
|
int32 CStats::MissionsGiven;
|
||||||
int32 &CStats::MissionsPassed = *(int32*)0x940768;
|
int32 CStats::MissionsPassed;
|
||||||
char(&CStats::LastMissionPassedName)[8] = *(char(*)[8])*(uintptr*)0x70D828;
|
char CStats::LastMissionPassedName[8];
|
||||||
int32 &CStats::TotalLegitimateKills = *(int32*)0x8F6004;
|
int32 CStats::TotalLegitimateKills;
|
||||||
int32 &CStats::ElBurroTime = *(int32*)0x8E2A6C;
|
int32 CStats::ElBurroTime;
|
||||||
int32& CStats::Record4x4One = *(int32*)0x940570;
|
int32 CStats::Record4x4One;
|
||||||
int32& CStats::Record4x4Two = *(int32*)0x94058C;
|
int32 CStats::Record4x4Two;
|
||||||
int32& CStats::Record4x4Three = *(int32*)0x880FA8;
|
int32 CStats::Record4x4Three;
|
||||||
int32& CStats::Record4x4Mayhem = *(int32*)0x885B70;
|
int32 CStats::Record4x4Mayhem;
|
||||||
int32& CStats::LivesSavedWithAmbulance = *(int32*)0x8F57E0;
|
int32 CStats::LivesSavedWithAmbulance;
|
||||||
int32& CStats::CriminalsCaught = *(int32*)0x8F2518;
|
int32 CStats::CriminalsCaught;
|
||||||
int32& CStats::HighestLevelAmbulanceMission = *(int32*)0x8F2A04;
|
int32 CStats::HighestLevelAmbulanceMission;
|
||||||
int32& CStats::FiresExtinguished = *(int32*)0x8F5FEC;
|
int32 CStats::FiresExtinguished;
|
||||||
int32& CStats::LongestFlightInDodo = *(int32*)0x8F5FE4;
|
int32 CStats::LongestFlightInDodo;
|
||||||
int32& CStats::TimeTakenDefuseMission = *(int32*)0x880E24;
|
int32 CStats::TimeTakenDefuseMission;
|
||||||
int32& CStats::TotalNumberKillFrenzies = *(int32*)0x8E2884;
|
int32 CStats::TotalNumberKillFrenzies;
|
||||||
int32& CStats::TotalNumberMissions = *(int32*)0x8E2820;
|
int32 CStats::TotalNumberMissions;
|
||||||
int32& CStats::RoundsFiredByPlayer = *(int32*)0x8E2BE8;
|
int32 CStats::RoundsFiredByPlayer;
|
||||||
int32& CStats::KgsOfExplosivesUsed = *(int32*)0x8F2510;
|
int32 CStats::KgsOfExplosivesUsed;
|
||||||
int32& CStats::InstantHitsFiredByPlayer = *(int32*)0x943070;
|
int32 CStats::InstantHitsFiredByPlayer;
|
||||||
int32& CStats::InstantHitsHitByPlayer = *(int32*)0x95CB8C;
|
int32 CStats::InstantHitsHitByPlayer;
|
||||||
int32& CStats::BestTimeBombDefusal = *(int32*)0x880E24;
|
int32 CStats::BestTimeBombDefusal;
|
||||||
int32& CStats::mmRain = *(int32*)0x8F2C98;
|
int32 CStats::mmRain;
|
||||||
int32& CStats::CarsCrushed = *(int32*)0x943050;
|
int32 CStats::CarsCrushed;
|
||||||
int32(&CStats::FastestTimes)[CStats::TOTAL_FASTEST_TIMES] = *(int32(*)[CStats::TOTAL_FASTEST_TIMES])*(uintptr*)0x6E9128;
|
int32 CStats::FastestTimes[CStats::TOTAL_FASTEST_TIMES];
|
||||||
int32(&CStats::HighestScores)[CStats::TOTAL_HIGHEST_SCORES] = *(int32(*)[CStats::TOTAL_HIGHEST_SCORES]) * (uintptr*)0x8622B0;
|
int32 CStats::HighestScores[CStats::TOTAL_HIGHEST_SCORES];
|
||||||
|
|
||||||
void CStats::Init()
|
void CStats::Init()
|
||||||
{
|
{
|
||||||
|
106
src/core/Stats.h
106
src/core/Stats.h
@ -9,59 +9,59 @@ public:
|
|||||||
TOTAL_FASTEST_TIMES = 16,
|
TOTAL_FASTEST_TIMES = 16,
|
||||||
TOTAL_HIGHEST_SCORES = 16
|
TOTAL_HIGHEST_SCORES = 16
|
||||||
};
|
};
|
||||||
static int32 &DaysPassed;
|
static int32 DaysPassed;
|
||||||
static int32 &HeadsPopped;
|
static int32 HeadsPopped;
|
||||||
static int32& CommercialPassed;
|
static int32 CommercialPassed;
|
||||||
static int32& IndustrialPassed;
|
static int32 IndustrialPassed;
|
||||||
static int32& SuburbanPassed;
|
static int32 SuburbanPassed;
|
||||||
static int32 &NumberKillFrenziesPassed;
|
static int32 NumberKillFrenziesPassed;
|
||||||
static int32 &PeopleKilledByOthers;
|
static int32 PeopleKilledByOthers;
|
||||||
static int32 &HelisDestroyed;
|
static int32 HelisDestroyed;
|
||||||
static int32(&PedsKilledOfThisType)[ePedType::NUM_PEDTYPES];
|
static int32 PedsKilledOfThisType[ePedType::NUM_PEDTYPES];
|
||||||
static int32 &TimesDied;
|
static int32 TimesDied;
|
||||||
static int32 &TimesArrested;
|
static int32 TimesArrested;
|
||||||
static int32 &KillsSinceLastCheckpoint;
|
static int32 KillsSinceLastCheckpoint;
|
||||||
static int32 &DistanceTravelledInVehicle;
|
static int32 DistanceTravelledInVehicle;
|
||||||
static int32 &DistanceTravelledOnFoot;
|
static int32 DistanceTravelledOnFoot;
|
||||||
static int32 &CarsExploded;
|
static int32 CarsExploded;
|
||||||
static int32 &PeopleKilledByPlayer;
|
static int32 PeopleKilledByPlayer;
|
||||||
static int32 &ProgressMade;
|
static int32 ProgressMade;
|
||||||
static int32 &TotalProgressInGame;
|
static int32 TotalProgressInGame;
|
||||||
static float &MaximumJumpDistance;
|
static float MaximumJumpDistance;
|
||||||
static float &MaximumJumpHeight;
|
static float MaximumJumpHeight;
|
||||||
static int32 &MaximumJumpFlips;
|
static int32 MaximumJumpFlips;
|
||||||
static int32 &MaximumJumpSpins;
|
static int32 MaximumJumpSpins;
|
||||||
static int32 &BestStuntJump;
|
static int32 BestStuntJump;
|
||||||
static int32 &NumberOfUniqueJumpsFound;
|
static int32 NumberOfUniqueJumpsFound;
|
||||||
static int32 &TotalNumberOfUniqueJumps;
|
static int32 TotalNumberOfUniqueJumps;
|
||||||
static int32 &PassengersDroppedOffWithTaxi;
|
static int32 PassengersDroppedOffWithTaxi;
|
||||||
static int32 &MoneyMadeWithTaxi;
|
static int32 MoneyMadeWithTaxi;
|
||||||
static int32 &MissionsGiven;
|
static int32 MissionsGiven;
|
||||||
static int32 &MissionsPassed;
|
static int32 MissionsPassed;
|
||||||
static char (&LastMissionPassedName)[8];
|
static char LastMissionPassedName[8];
|
||||||
static int32 &TotalLegitimateKills;
|
static int32 TotalLegitimateKills;
|
||||||
static int32 &ElBurroTime;
|
static int32 ElBurroTime;
|
||||||
static int32 &Record4x4One;
|
static int32 Record4x4One;
|
||||||
static int32 &Record4x4Two;
|
static int32 Record4x4Two;
|
||||||
static int32 &Record4x4Three;
|
static int32 Record4x4Three;
|
||||||
static int32 &Record4x4Mayhem;
|
static int32 Record4x4Mayhem;
|
||||||
static int32 &LivesSavedWithAmbulance;
|
static int32 LivesSavedWithAmbulance;
|
||||||
static int32 &CriminalsCaught;
|
static int32 CriminalsCaught;
|
||||||
static int32 &HighestLevelAmbulanceMission;
|
static int32 HighestLevelAmbulanceMission;
|
||||||
static int32 &FiresExtinguished;
|
static int32 FiresExtinguished;
|
||||||
static int32 &LongestFlightInDodo;
|
static int32 LongestFlightInDodo;
|
||||||
static int32 &TimeTakenDefuseMission;
|
static int32 TimeTakenDefuseMission;
|
||||||
static int32 &TotalNumberKillFrenzies;
|
static int32 TotalNumberKillFrenzies;
|
||||||
static int32 &TotalNumberMissions;
|
static int32 TotalNumberMissions;
|
||||||
static int32 &RoundsFiredByPlayer;
|
static int32 RoundsFiredByPlayer;
|
||||||
static int32 &KgsOfExplosivesUsed;
|
static int32 KgsOfExplosivesUsed;
|
||||||
static int32 &InstantHitsFiredByPlayer;
|
static int32 InstantHitsFiredByPlayer;
|
||||||
static int32 &InstantHitsHitByPlayer;
|
static int32 InstantHitsHitByPlayer;
|
||||||
static int32 &BestTimeBombDefusal;
|
static int32 BestTimeBombDefusal;
|
||||||
static int32 &mmRain;
|
static int32 mmRain;
|
||||||
static int32 &CarsCrushed;
|
static int32 CarsCrushed;
|
||||||
static int32(&FastestTimes)[TOTAL_FASTEST_TIMES];
|
static int32 FastestTimes[TOTAL_FASTEST_TIMES];
|
||||||
static int32(&HighestScores)[TOTAL_HIGHEST_SCORES];
|
static int32 HighestScores[TOTAL_HIGHEST_SCORES];
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void Init(void);
|
static void Init(void);
|
||||||
|
@ -30,49 +30,49 @@
|
|||||||
#include "Streaming.h"
|
#include "Streaming.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
||||||
bool &CStreaming::ms_disableStreaming = *(bool*)0x95CD6E;
|
bool CStreaming::ms_disableStreaming;
|
||||||
bool &CStreaming::ms_bLoadingBigModel = *(bool*)0x95CDB0;
|
bool CStreaming::ms_bLoadingBigModel;
|
||||||
int32 &CStreaming::ms_numModelsRequested = *(int32*)0x8E2C10;
|
int32 CStreaming::ms_numModelsRequested;
|
||||||
CStreamingInfo *CStreaming::ms_aInfoForModel = (CStreamingInfo*)0x6C7088;
|
CStreamingInfo CStreaming::ms_aInfoForModel[NUMSTREAMINFO];
|
||||||
CStreamingInfo &CStreaming::ms_startLoadedList = *(CStreamingInfo*)0x942F60;
|
CStreamingInfo CStreaming::ms_startLoadedList;
|
||||||
CStreamingInfo &CStreaming::ms_endLoadedList = *(CStreamingInfo*)0x8F1AC0;
|
CStreamingInfo CStreaming::ms_endLoadedList;
|
||||||
CStreamingInfo &CStreaming::ms_startRequestedList = *(CStreamingInfo*)0x8F1B3C;
|
CStreamingInfo CStreaming::ms_startRequestedList;
|
||||||
CStreamingInfo &CStreaming::ms_endRequestedList = *(CStreamingInfo*)0x940738;
|
CStreamingInfo CStreaming::ms_endRequestedList;
|
||||||
int32 &CStreaming::ms_oldSectorX = *(int32*)0x8F2C84;
|
int32 CStreaming::ms_oldSectorX;
|
||||||
int32 &CStreaming::ms_oldSectorY = *(int32*)0x8F2C88;
|
int32 CStreaming::ms_oldSectorY;
|
||||||
int32 &CStreaming::ms_streamingBufferSize = *(int32*)0x942FB0;
|
int32 CStreaming::ms_streamingBufferSize;
|
||||||
int8 **CStreaming::ms_pStreamingBuffer = (int8**)0x87F818;
|
int8 *CStreaming::ms_pStreamingBuffer[2];
|
||||||
int32 &CStreaming::ms_memoryUsed = *(int32*)0x940568;
|
int32 CStreaming::ms_memoryUsed;
|
||||||
CStreamingChannel *CStreaming::ms_channel = (CStreamingChannel*)0x727EE0;
|
CStreamingChannel CStreaming::ms_channel[2];
|
||||||
int32 &CStreaming::ms_channelError = *(int32*)0x880DB8;
|
int32 CStreaming::ms_channelError;
|
||||||
int32 &CStreaming::ms_numVehiclesLoaded = *(int32*)0x8F2C80;
|
int32 CStreaming::ms_numVehiclesLoaded;
|
||||||
int32 *CStreaming::ms_vehiclesLoaded = (int32*)0x773560;
|
int32 CStreaming::ms_vehiclesLoaded[MAXVEHICLESLOADED];
|
||||||
int32 &CStreaming::ms_lastVehicleDeleted = *(int32*)0x95CBF8;
|
int32 CStreaming::ms_lastVehicleDeleted;
|
||||||
CDirectory *&CStreaming::ms_pExtraObjectsDir = *(CDirectory**)0x95CB90;
|
CDirectory *CStreaming::ms_pExtraObjectsDir;
|
||||||
int32 &CStreaming::ms_numPriorityRequests = *(int32*)0x8F31C4;
|
int32 CStreaming::ms_numPriorityRequests;
|
||||||
bool &CStreaming::ms_hasLoadedLODs = *(bool*)0x95CD47;
|
bool CStreaming::ms_hasLoadedLODs;
|
||||||
int32 &CStreaming::ms_currentPedGrp = *(int32*)0x8F2BBC;
|
int32 CStreaming::ms_currentPedGrp;
|
||||||
int32 CStreaming::ms_currentPedLoading;
|
int32 CStreaming::ms_currentPedLoading;
|
||||||
int32 CStreaming::ms_lastCullZone;
|
int32 CStreaming::ms_lastCullZone;
|
||||||
uint16 &CStreaming::ms_loadedGangs = *(uint16*)0x95CC60;
|
uint16 CStreaming::ms_loadedGangs;
|
||||||
uint16 &CStreaming::ms_loadedGangCars = *(uint16*)0x95CC2E;
|
uint16 CStreaming::ms_loadedGangCars;
|
||||||
int32 *CStreaming::ms_imageOffsets = (int32*)0x6E60A0;
|
int32 CStreaming::ms_imageOffsets[NUMCDIMAGES];
|
||||||
int32 &CStreaming::ms_lastImageRead = *(int32*)0x880E2C;
|
int32 CStreaming::ms_lastImageRead;
|
||||||
int32 &CStreaming::ms_imageSize = *(int32*)0x8F1A34;
|
int32 CStreaming::ms_imageSize;
|
||||||
uint32 &CStreaming::ms_memoryAvailable = *(uint32*)0x880F8C;
|
uint32 CStreaming::ms_memoryAvailable;
|
||||||
|
|
||||||
int32 &desiredNumVehiclesLoaded = *(int32*)0x5EC194;
|
int32 desiredNumVehiclesLoaded = 12;
|
||||||
|
|
||||||
CEntity *&pIslandLODindustEntity = *(CEntity**)0x6212DC;
|
CEntity *pIslandLODindustEntity;
|
||||||
CEntity *&pIslandLODcomIndEntity = *(CEntity**)0x6212E0;
|
CEntity *pIslandLODcomIndEntity;
|
||||||
CEntity *&pIslandLODcomSubEntity = *(CEntity**)0x6212E4;
|
CEntity *pIslandLODcomSubEntity;
|
||||||
CEntity *&pIslandLODsubIndEntity = *(CEntity**)0x6212E8;
|
CEntity *pIslandLODsubIndEntity;
|
||||||
CEntity *&pIslandLODsubComEntity = *(CEntity**)0x6212EC;
|
CEntity *pIslandLODsubComEntity;
|
||||||
int32 &islandLODindust = *(int32*)0x6212C8;
|
int32 islandLODindust;
|
||||||
int32 &islandLODcomInd = *(int32*)0x6212CC;
|
int32 islandLODcomInd;
|
||||||
int32 &islandLODcomSub = *(int32*)0x6212D0;
|
int32 islandLODcomSub;
|
||||||
int32 &islandLODsubInd = *(int32*)0x6212D4;
|
int32 islandLODsubInd;
|
||||||
int32 &islandLODsubCom = *(int32*)0x6212D8;
|
int32 islandLODsubCom;
|
||||||
|
|
||||||
bool
|
bool
|
||||||
CStreamingInfo::GetCdPosnAndSize(uint32 &posn, uint32 &size)
|
CStreamingInfo::GetCdPosnAndSize(uint32 &posn, uint32 &size)
|
||||||
@ -199,7 +199,7 @@ CStreaming::Init(void)
|
|||||||
// PC only, figure out how much memory we got
|
// PC only, figure out how much memory we got
|
||||||
#ifdef GTA_PC
|
#ifdef GTA_PC
|
||||||
#define MB (1024*1024)
|
#define MB (1024*1024)
|
||||||
extern unsigned long &_dwMemAvailPhys;
|
extern unsigned long _dwMemAvailPhys;
|
||||||
ms_memoryAvailable = (_dwMemAvailPhys - 10*MB)/2;
|
ms_memoryAvailable = (_dwMemAvailPhys - 10*MB)/2;
|
||||||
if(ms_memoryAvailable < 50*MB)
|
if(ms_memoryAvailable < 50*MB)
|
||||||
ms_memoryAvailable = 50*MB;
|
ms_memoryAvailable = 50*MB;
|
||||||
|
@ -77,36 +77,36 @@ class CPtrList;
|
|||||||
class CStreaming
|
class CStreaming
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static bool &ms_disableStreaming;
|
static bool ms_disableStreaming;
|
||||||
static bool &ms_bLoadingBigModel;
|
static bool ms_bLoadingBigModel;
|
||||||
static int32 &ms_numModelsRequested;
|
static int32 ms_numModelsRequested;
|
||||||
static CStreamingInfo *ms_aInfoForModel; //[NUMSTREAMINFO]
|
static CStreamingInfo ms_aInfoForModel[NUMSTREAMINFO];
|
||||||
static CStreamingInfo &ms_startLoadedList;
|
static CStreamingInfo ms_startLoadedList;
|
||||||
static CStreamingInfo &ms_endLoadedList;
|
static CStreamingInfo ms_endLoadedList;
|
||||||
static CStreamingInfo &ms_startRequestedList;
|
static CStreamingInfo ms_startRequestedList;
|
||||||
static CStreamingInfo &ms_endRequestedList;
|
static CStreamingInfo ms_endRequestedList;
|
||||||
static int32 &ms_oldSectorX;
|
static int32 ms_oldSectorX;
|
||||||
static int32 &ms_oldSectorY;
|
static int32 ms_oldSectorY;
|
||||||
static int32 &ms_streamingBufferSize;
|
static int32 ms_streamingBufferSize;
|
||||||
static int8 **ms_pStreamingBuffer; //[2]
|
static int8 *ms_pStreamingBuffer[2];
|
||||||
static int32 &ms_memoryUsed;
|
static int32 ms_memoryUsed;
|
||||||
static CStreamingChannel *ms_channel; //[2]
|
static CStreamingChannel ms_channel[2];
|
||||||
static int32 &ms_channelError;
|
static int32 ms_channelError;
|
||||||
static int32 &ms_numVehiclesLoaded;
|
static int32 ms_numVehiclesLoaded;
|
||||||
static int32 *ms_vehiclesLoaded; //[MAXVEHICLESLOADED]
|
static int32 ms_vehiclesLoaded[MAXVEHICLESLOADED];
|
||||||
static int32 &ms_lastVehicleDeleted;
|
static int32 ms_lastVehicleDeleted;
|
||||||
static CDirectory *&ms_pExtraObjectsDir;
|
static CDirectory *ms_pExtraObjectsDir;
|
||||||
static int32 &ms_numPriorityRequests;
|
static int32 ms_numPriorityRequests;
|
||||||
static bool &ms_hasLoadedLODs;
|
static bool ms_hasLoadedLODs;
|
||||||
static int32 &ms_currentPedGrp;
|
static int32 ms_currentPedGrp;
|
||||||
static int32 ms_lastCullZone;
|
static int32 ms_lastCullZone;
|
||||||
static uint16 &ms_loadedGangs;
|
static uint16 ms_loadedGangs;
|
||||||
static uint16 &ms_loadedGangCars;
|
static uint16 ms_loadedGangCars;
|
||||||
static int32 ms_currentPedLoading;
|
static int32 ms_currentPedLoading;
|
||||||
static int32 *ms_imageOffsets; //[NUMCDIMAGES]
|
static int32 ms_imageOffsets[NUMCDIMAGES];
|
||||||
static int32 &ms_lastImageRead;
|
static int32 ms_lastImageRead;
|
||||||
static int32 &ms_imageSize;
|
static int32 ms_imageSize;
|
||||||
static uint32 &ms_memoryAvailable;
|
static uint32 ms_memoryAvailable;
|
||||||
|
|
||||||
static void Init(void);
|
static void Init(void);
|
||||||
static void Shutdown(void);
|
static void Shutdown(void);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#include "Collision.h"
|
#include "Collision.h"
|
||||||
#include "SurfaceTable.h"
|
#include "SurfaceTable.h"
|
||||||
|
|
||||||
float (*CSurfaceTable::ms_aAdhesiveLimitTable)[NUMADHESIVEGROUPS] = (float (*)[NUMADHESIVEGROUPS])0x8E29D4;
|
float CSurfaceTable::ms_aAdhesiveLimitTable[NUMADHESIVEGROUPS][NUMADHESIVEGROUPS];
|
||||||
|
|
||||||
void
|
void
|
||||||
CSurfaceTable::Initialise(char *filename)
|
CSurfaceTable::Initialise(char *filename)
|
||||||
|
@ -98,8 +98,7 @@ struct CColPoint;
|
|||||||
|
|
||||||
class CSurfaceTable
|
class CSurfaceTable
|
||||||
{
|
{
|
||||||
// static float ms_aAdhesiveLimitTable[NUMADHESIVEGROUPS][NUMADHESIVEGROUPS];
|
static float ms_aAdhesiveLimitTable[NUMADHESIVEGROUPS][NUMADHESIVEGROUPS];
|
||||||
static float (*ms_aAdhesiveLimitTable)[NUMADHESIVEGROUPS];
|
|
||||||
public:
|
public:
|
||||||
static void Initialise(char *filename);
|
static void Initialise(char *filename);
|
||||||
static int GetAdhesionGroup(uint8 surfaceType);
|
static int GetAdhesionGroup(uint8 surfaceType);
|
||||||
|
@ -3,19 +3,19 @@
|
|||||||
#include "TempColModels.h"
|
#include "TempColModels.h"
|
||||||
#include "SurfaceTable.h"
|
#include "SurfaceTable.h"
|
||||||
|
|
||||||
CColModel &CTempColModels::ms_colModelPed1 = *(CColModel*)0x726CB0;
|
CColModel CTempColModels::ms_colModelPed1;
|
||||||
CColModel &CTempColModels::ms_colModelPed2 = *(CColModel*)0x726D08;
|
CColModel CTempColModels::ms_colModelPed2;
|
||||||
CColModel &CTempColModels::ms_colModelBBox = *(CColModel*)0x727FE0;
|
CColModel CTempColModels::ms_colModelBBox;
|
||||||
CColModel &CTempColModels::ms_colModelBumper1 = *(CColModel*)0x86BE88;
|
CColModel CTempColModels::ms_colModelBumper1;
|
||||||
CColModel &CTempColModels::ms_colModelWheel1 = *(CColModel*)0x878C40;
|
CColModel CTempColModels::ms_colModelWheel1;
|
||||||
CColModel &CTempColModels::ms_colModelPanel1 = *(CColModel*)0x87BDD8;
|
CColModel CTempColModels::ms_colModelPanel1;
|
||||||
CColModel &CTempColModels::ms_colModelBodyPart2 = *(CColModel*)0x87BE30;
|
CColModel CTempColModels::ms_colModelBodyPart2;
|
||||||
CColModel &CTempColModels::ms_colModelBodyPart1 = *(CColModel*)0x87BE88;
|
CColModel CTempColModels::ms_colModelBodyPart1;
|
||||||
CColModel (&CTempColModels::ms_colModelCutObj)[5] = *(CColModel(*)[5]) *(uintptr*)0x87C960;
|
CColModel CTempColModels::ms_colModelCutObj[5];
|
||||||
CColModel &CTempColModels::ms_colModelPedGroundHit = *(CColModel*)0x880480;
|
CColModel CTempColModels::ms_colModelPedGroundHit;
|
||||||
CColModel &CTempColModels::ms_colModelBoot1 = *(CColModel*)0x880670;
|
CColModel CTempColModels::ms_colModelBoot1;
|
||||||
CColModel &CTempColModels::ms_colModelDoor1 = *(CColModel*)0x880850;
|
CColModel CTempColModels::ms_colModelDoor1;
|
||||||
CColModel &CTempColModels::ms_colModelBonnet1 = *(CColModel*)0x8808A8;
|
CColModel CTempColModels::ms_colModelBonnet1;
|
||||||
|
|
||||||
|
|
||||||
CColSphere s_aPedSpheres[3];
|
CColSphere s_aPedSpheres[3];
|
||||||
|
@ -5,19 +5,19 @@
|
|||||||
class CTempColModels
|
class CTempColModels
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static CColModel &ms_colModelPed1;
|
static CColModel ms_colModelPed1;
|
||||||
static CColModel &ms_colModelPed2;
|
static CColModel ms_colModelPed2;
|
||||||
static CColModel &ms_colModelBBox;
|
static CColModel ms_colModelBBox;
|
||||||
static CColModel &ms_colModelBumper1;
|
static CColModel ms_colModelBumper1;
|
||||||
static CColModel &ms_colModelWheel1;
|
static CColModel ms_colModelWheel1;
|
||||||
static CColModel &ms_colModelPanel1;
|
static CColModel ms_colModelPanel1;
|
||||||
static CColModel &ms_colModelBodyPart2;
|
static CColModel ms_colModelBodyPart2;
|
||||||
static CColModel &ms_colModelBodyPart1;
|
static CColModel ms_colModelBodyPart1;
|
||||||
static CColModel (&ms_colModelCutObj)[5];
|
static CColModel ms_colModelCutObj[5];
|
||||||
static CColModel &ms_colModelPedGroundHit;
|
static CColModel ms_colModelPedGroundHit;
|
||||||
static CColModel &ms_colModelBoot1;
|
static CColModel ms_colModelBoot1;
|
||||||
static CColModel &ms_colModelDoor1;
|
static CColModel ms_colModelDoor1;
|
||||||
static CColModel &ms_colModelBonnet1;
|
static CColModel ms_colModelBonnet1;
|
||||||
|
|
||||||
static void Initialise(void);
|
static void Initialise(void);
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#include "TimeStep.h"
|
#include "TimeStep.h"
|
||||||
|
|
||||||
float &CTimeStep::ms_fTimeScale = *(float*)0x5F76C8;
|
float CTimeStep::ms_fTimeScale = 1.0f;
|
||||||
float &CTimeStep::ms_fFramesPerUpdate = *(float*)0x5F76CC;
|
float CTimeStep::ms_fFramesPerUpdate = 1.0f;
|
||||||
float &CTimeStep::ms_fTimeStep = *(float*)0x5F76D0;
|
float CTimeStep::ms_fTimeStep = 1.0f;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
class CTimeStep
|
class CTimeStep
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static float &ms_fTimeScale;
|
static float ms_fTimeScale;
|
||||||
static float &ms_fFramesPerUpdate;
|
static float ms_fFramesPerUpdate;
|
||||||
static float &ms_fTimeStep;
|
static float ms_fTimeStep;
|
||||||
};
|
};
|
||||||
|
@ -5,34 +5,28 @@
|
|||||||
#include "Record.h"
|
#include "Record.h"
|
||||||
#include "Timer.h"
|
#include "Timer.h"
|
||||||
|
|
||||||
uint32 &CTimer::m_snTimeInMilliseconds = *(uint32*)0x885B48;
|
uint32 CTimer::m_snTimeInMilliseconds;
|
||||||
uint32 &CTimer::m_snTimeInMillisecondsPauseMode = *(uint32*)0x5F7614;
|
uint32 CTimer::m_snTimeInMillisecondsPauseMode = 1;
|
||||||
uint32 &CTimer::m_snTimeInMillisecondsNonClipped = *(uint32*)0x9412E8;
|
uint32 CTimer::m_snTimeInMillisecondsNonClipped;
|
||||||
uint32 &CTimer::m_snPreviousTimeInMilliseconds = *(uint32*)0x8F29E4;
|
uint32 CTimer::m_snPreviousTimeInMilliseconds;
|
||||||
uint32 &CTimer::m_FrameCounter = *(uint32*)0x9412EC;
|
uint32 CTimer::m_FrameCounter;
|
||||||
float &CTimer::ms_fTimeScale = *(float*)0x8F2C20;
|
float CTimer::ms_fTimeScale;
|
||||||
float &CTimer::ms_fTimeStep = *(float*)0x8E2CB4;
|
float CTimer::ms_fTimeStep;
|
||||||
float &CTimer::ms_fTimeStepNonClipped = *(float*)0x8E2C4C;
|
float CTimer::ms_fTimeStepNonClipped;
|
||||||
bool &CTimer::m_UserPause = *(bool*)0x95CD7C;
|
bool CTimer::m_UserPause;
|
||||||
bool &CTimer::m_CodePause = *(bool*)0x95CDB1;
|
bool CTimer::m_CodePause;
|
||||||
|
|
||||||
//UInt32 oldPcTimer;
|
uint32 oldPcTimer;
|
||||||
uint32 &oldPcTimer = *(uint32*)0x9434F4;
|
|
||||||
|
|
||||||
//UInt32 suspendPcTimer;
|
uint32 suspendPcTimer;
|
||||||
uint32 &suspendPcTimer = *(uint32*)0x62A308;
|
|
||||||
|
|
||||||
//UInt32 _nCyclesPerMS = 1;
|
uint32 _nCyclesPerMS = 1;
|
||||||
uint32 &_nCyclesPerMS = *(uint32*)0x5F7610;
|
|
||||||
|
|
||||||
//LARGE_INTEGER _oldPerfCounter;
|
LARGE_INTEGER _oldPerfCounter;
|
||||||
LARGE_INTEGER &_oldPerfCounter = *(LARGE_INTEGER*)0x62A310;
|
|
||||||
|
|
||||||
//LARGE_INTEGER perfSuspendCounter;
|
LARGE_INTEGER perfSuspendCounter;
|
||||||
LARGE_INTEGER &perfSuspendCounter = *(LARGE_INTEGER*)0x62A318;
|
|
||||||
|
|
||||||
//UInt32 suspendDepth;
|
uint32 suspendDepth;
|
||||||
uint32 &suspendDepth = *(uint32*)0x62A320;
|
|
||||||
|
|
||||||
#ifdef FIX_BUGS
|
#ifdef FIX_BUGS
|
||||||
double frameTime;
|
double frameTime;
|
||||||
|
@ -3,17 +3,17 @@
|
|||||||
class CTimer
|
class CTimer
|
||||||
{
|
{
|
||||||
|
|
||||||
static uint32 &m_snTimeInMilliseconds;
|
static uint32 m_snTimeInMilliseconds;
|
||||||
static uint32 &m_snTimeInMillisecondsPauseMode;
|
static uint32 m_snTimeInMillisecondsPauseMode;
|
||||||
static uint32 &m_snTimeInMillisecondsNonClipped;
|
static uint32 m_snTimeInMillisecondsNonClipped;
|
||||||
static uint32 &m_snPreviousTimeInMilliseconds;
|
static uint32 m_snPreviousTimeInMilliseconds;
|
||||||
static uint32 &m_FrameCounter;
|
static uint32 m_FrameCounter;
|
||||||
static float &ms_fTimeScale;
|
static float ms_fTimeScale;
|
||||||
static float &ms_fTimeStep;
|
static float ms_fTimeStep;
|
||||||
static float &ms_fTimeStepNonClipped;
|
static float ms_fTimeStepNonClipped;
|
||||||
public:
|
public:
|
||||||
static bool &m_UserPause;
|
static bool m_UserPause;
|
||||||
static bool &m_CodePause;
|
static bool m_CodePause;
|
||||||
|
|
||||||
static const float &GetTimeStep(void) { return ms_fTimeStep; }
|
static const float &GetTimeStep(void) { return ms_fTimeStep; }
|
||||||
static void SetTimeStep(float ts) { ms_fTimeStep = ts; }
|
static void SetTimeStep(float ts) { ms_fTimeStep = ts; }
|
||||||
|
@ -9,10 +9,10 @@
|
|||||||
#include "World.h"
|
#include "World.h"
|
||||||
#include "Zones.h"
|
#include "Zones.h"
|
||||||
|
|
||||||
CPlaceName& CUserDisplay::PlaceName = *(CPlaceName*)0x8F29BC;
|
CPlaceName CUserDisplay::PlaceName;
|
||||||
COnscreenTimer& CUserDisplay::OnscnTimer = *(COnscreenTimer*)0x862238;
|
COnscreenTimer CUserDisplay::OnscnTimer;
|
||||||
CPager& CUserDisplay::Pager = *(CPager*)0x8F2744;
|
CPager CUserDisplay::Pager;
|
||||||
CCurrentVehicle& CUserDisplay::CurrentVehicle = *(CCurrentVehicle*)0x8F5FE8;
|
CCurrentVehicle CUserDisplay::CurrentVehicle;
|
||||||
|
|
||||||
CPlaceName::CPlaceName()
|
CPlaceName::CPlaceName()
|
||||||
{
|
{
|
||||||
|
@ -31,10 +31,10 @@ public:
|
|||||||
class CUserDisplay
|
class CUserDisplay
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static CPlaceName &PlaceName;
|
static CPlaceName PlaceName;
|
||||||
static COnscreenTimer &OnscnTimer;
|
static COnscreenTimer OnscnTimer;
|
||||||
static CPager &Pager;
|
static CPager Pager;
|
||||||
static CCurrentVehicle &CurrentVehicle;
|
static CCurrentVehicle CurrentVehicle;
|
||||||
|
|
||||||
static void Init();
|
static void Init();
|
||||||
static void Process();
|
static void Process();
|
||||||
|
@ -11,8 +11,8 @@
|
|||||||
#include "Wanted.h"
|
#include "Wanted.h"
|
||||||
#include "General.h"
|
#include "General.h"
|
||||||
|
|
||||||
int32 &CWanted::MaximumWantedLevel = *(int32*)0x5F7714; // 6
|
int32 CWanted::MaximumWantedLevel = 6;
|
||||||
int32 &CWanted::nMaximumWantedLevel = *(int32*)0x5F7718; // 6400
|
int32 CWanted::nMaximumWantedLevel = 6400;
|
||||||
|
|
||||||
void
|
void
|
||||||
CWanted::Initialise()
|
CWanted::Initialise()
|
||||||
|
@ -60,8 +60,8 @@ public:
|
|||||||
CCrimeBeingQd m_aCrimes[16];
|
CCrimeBeingQd m_aCrimes[16];
|
||||||
CCopPed *m_pCops[10];
|
CCopPed *m_pCops[10];
|
||||||
|
|
||||||
static int32 &MaximumWantedLevel;
|
static int32 MaximumWantedLevel;
|
||||||
static int32 &nMaximumWantedLevel;
|
static int32 nMaximumWantedLevel;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void Initialise();
|
void Initialise();
|
||||||
|
@ -11,21 +11,21 @@
|
|||||||
#include "ZoneCull.h"
|
#include "ZoneCull.h"
|
||||||
#include "Zones.h"
|
#include "Zones.h"
|
||||||
|
|
||||||
int32 &CCullZones::NumCullZones = *(int*)0x8F2564;
|
int32 CCullZones::NumCullZones;
|
||||||
CCullZone(&CCullZones::aZones)[NUMCULLZONES] = *(CCullZone(*)[NUMCULLZONES])*(uintptr*)0x864750;
|
CCullZone CCullZones::aZones[NUMCULLZONES];
|
||||||
int32 &CCullZones::NumAttributeZones = *(int*)0x8E29D0;
|
int32 CCullZones::NumAttributeZones;
|
||||||
CAttributeZone (&CCullZones::aAttributeZones)[NUMATTRIBZONES] = *(CAttributeZone(*)[NUMATTRIBZONES])*(uintptr*)0x709C60;
|
CAttributeZone CCullZones::aAttributeZones[NUMATTRIBZONES];
|
||||||
uint16 (&CCullZones::aIndices)[NUMZONEINDICES] = *(uint16(*)[NUMZONEINDICES])*(uintptr*)0x847330;
|
uint16 CCullZones::aIndices[NUMZONEINDICES];
|
||||||
int16 (&CCullZones::aPointersToBigBuildingsForBuildings)[NUMBUILDINGS] = *(int16(*)[NUMBUILDINGS])*(uintptr*)0x86C9D0;
|
int16 CCullZones::aPointersToBigBuildingsForBuildings[NUMBUILDINGS];
|
||||||
int16 (&CCullZones::aPointersToBigBuildingsForTreadables)[NUMTREADABLES] = *(int16(*)[NUMTREADABLES])*(uintptr*)0x8F1B8C;
|
int16 CCullZones::aPointersToBigBuildingsForTreadables[NUMTREADABLES];
|
||||||
|
|
||||||
int32 &CCullZones::CurrentWantedLevelDrop_Player = *(int32*)0x880DA8;
|
int32 CCullZones::CurrentWantedLevelDrop_Player;
|
||||||
int32 &CCullZones::CurrentFlags_Camera = *(int32*)0x940718;
|
int32 CCullZones::CurrentFlags_Camera;
|
||||||
int32 &CCullZones::CurrentFlags_Player = *(int32*)0x9415F0;
|
int32 CCullZones::CurrentFlags_Player;
|
||||||
int32 &CCullZones::OldCullZone = *(int32*)0x8E2C90;
|
int32 CCullZones::OldCullZone;
|
||||||
int32 &CCullZones::EntityIndicesUsed = *(int32*)0x8F2508;
|
int32 CCullZones::EntityIndicesUsed;
|
||||||
bool &CCullZones::bCurrentSubwayIsInvisible = *(bool*)0x95CDA5;
|
bool CCullZones::bCurrentSubwayIsInvisible;
|
||||||
bool &CCullZones::bCullZonesDisabled = *(bool*)0x95CD4A;
|
bool CCullZones::bCullZonesDisabled;
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -79,21 +79,21 @@ struct CAttributeZone
|
|||||||
class CCullZones
|
class CCullZones
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static int32 &NumCullZones;
|
static int32 NumCullZones;
|
||||||
static CCullZone (&aZones)[NUMCULLZONES];
|
static CCullZone aZones[NUMCULLZONES];
|
||||||
static int32 &NumAttributeZones;
|
static int32 NumAttributeZones;
|
||||||
static CAttributeZone(&aAttributeZones)[NUMATTRIBZONES];
|
static CAttributeZone aAttributeZones[NUMATTRIBZONES];
|
||||||
static uint16 (&aIndices)[NUMZONEINDICES];
|
static uint16 aIndices[NUMZONEINDICES];
|
||||||
static int16 (&aPointersToBigBuildingsForBuildings)[NUMBUILDINGS];
|
static int16 aPointersToBigBuildingsForBuildings[NUMBUILDINGS];
|
||||||
static int16 (&aPointersToBigBuildingsForTreadables)[NUMTREADABLES];
|
static int16 aPointersToBigBuildingsForTreadables[NUMTREADABLES];
|
||||||
|
|
||||||
static int32 &CurrentWantedLevelDrop_Player;
|
static int32 CurrentWantedLevelDrop_Player;
|
||||||
static int32 &CurrentFlags_Camera;
|
static int32 CurrentFlags_Camera;
|
||||||
static int32 &CurrentFlags_Player;
|
static int32 CurrentFlags_Player;
|
||||||
static int32 &OldCullZone;
|
static int32 OldCullZone;
|
||||||
static int32 &EntityIndicesUsed;
|
static int32 EntityIndicesUsed;
|
||||||
static bool &bCurrentSubwayIsInvisible;
|
static bool bCurrentSubwayIsInvisible;
|
||||||
static bool &bCullZonesDisabled;
|
static bool bCullZonesDisabled;
|
||||||
|
|
||||||
static void Init(void);
|
static void Init(void);
|
||||||
static void ResolveVisibilities(void);
|
static void ResolveVisibilities(void);
|
||||||
|
@ -8,18 +8,18 @@
|
|||||||
#include "Text.h"
|
#include "Text.h"
|
||||||
#include "World.h"
|
#include "World.h"
|
||||||
|
|
||||||
eLevelName &CTheZones::m_CurrLevel = *(eLevelName*)0x8F2BC8;
|
eLevelName CTheZones::m_CurrLevel;
|
||||||
CZone *&CTheZones::m_pPlayersZone = *(CZone**)0x8F254C;
|
CZone *CTheZones::m_pPlayersZone;
|
||||||
int16 &CTheZones::FindIndex = *(int16*)0x95CC40;
|
int16 CTheZones::FindIndex;
|
||||||
|
|
||||||
uint16 &CTheZones::NumberOfAudioZones = *(uint16*)0x95CC84;
|
uint16 CTheZones::NumberOfAudioZones;
|
||||||
int16 *CTheZones::AudioZoneArray = (int16*)0x713BC0;
|
int16 CTheZones::AudioZoneArray[NUMAUDIOZONES];
|
||||||
uint16 &CTheZones::TotalNumberOfMapZones = *(uint16*)0x95CC74;
|
uint16 CTheZones::TotalNumberOfMapZones;
|
||||||
uint16 &CTheZones::TotalNumberOfZones = *(uint16*)0x95CC36;
|
uint16 CTheZones::TotalNumberOfZones;
|
||||||
CZone *CTheZones::ZoneArray = (CZone*)0x86BEE0;
|
CZone CTheZones::ZoneArray[NUMZONES];
|
||||||
CZone *CTheZones::MapZoneArray = (CZone*)0x663EC0;
|
CZone CTheZones::MapZoneArray[NUMMAPZONES];
|
||||||
uint16 &CTheZones::TotalNumberOfZoneInfos = *(uint16*)0x95CC3C;
|
uint16 CTheZones::TotalNumberOfZoneInfos;
|
||||||
CZoneInfo *CTheZones::ZoneInfoArray = (CZoneInfo*)0x714400;
|
CZoneInfo CTheZones::ZoneInfoArray[2*NUMZONES];
|
||||||
|
|
||||||
#define SWAPF(a, b) { float t; t = a; a = b; b = t; }
|
#define SWAPF(a, b) { float t; t = a; a = b; b = t; }
|
||||||
|
|
||||||
|
@ -52,18 +52,18 @@ public:
|
|||||||
class CTheZones
|
class CTheZones
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static eLevelName &m_CurrLevel;
|
static eLevelName m_CurrLevel;
|
||||||
static CZone *&m_pPlayersZone;
|
static CZone *m_pPlayersZone;
|
||||||
static int16 &FindIndex;
|
static int16 FindIndex;
|
||||||
|
|
||||||
static uint16 &NumberOfAudioZones;
|
static uint16 NumberOfAudioZones;
|
||||||
static int16 *AudioZoneArray; //[NUMAUDIOZONES];
|
static int16 AudioZoneArray[NUMAUDIOZONES];
|
||||||
static uint16 &TotalNumberOfMapZones;
|
static uint16 TotalNumberOfMapZones;
|
||||||
static uint16 &TotalNumberOfZones;
|
static uint16 TotalNumberOfZones;
|
||||||
static CZone *ZoneArray; //[NUMZONES];
|
static CZone ZoneArray[NUMZONES];
|
||||||
static CZone *MapZoneArray; //[NUMMAPZONES];
|
static CZone MapZoneArray[NUMMAPZONES];
|
||||||
static uint16 &TotalNumberOfZoneInfos;
|
static uint16 TotalNumberOfZoneInfos;
|
||||||
static CZoneInfo *ZoneInfoArray; //[2*NUMZONES];
|
static CZoneInfo ZoneInfoArray[2*NUMZONES];
|
||||||
|
|
||||||
static void Init(void);
|
static void Init(void);
|
||||||
static void Update(void);
|
static void Update(void);
|
||||||
|
@ -192,6 +192,7 @@ enum Config {
|
|||||||
#define MORE_LANGUAGES // Add more translations to the game
|
#define MORE_LANGUAGES // Add more translations to the game
|
||||||
#define DEFAULT_NATIVE_RESOLUTION // Set default video mode to your native resolution (fixes Windows 10 launch)
|
#define DEFAULT_NATIVE_RESOLUTION // Set default video mode to your native resolution (fixes Windows 10 launch)
|
||||||
//#define USE_TXD_CDIMAGE // generate and load textures from txd.img
|
//#define USE_TXD_CDIMAGE // generate and load textures from txd.img
|
||||||
|
//#define USE_TEXTURE_POOL
|
||||||
|
|
||||||
// Pad
|
// Pad
|
||||||
#define XINPUT
|
#define XINPUT
|
||||||
|
@ -60,23 +60,18 @@
|
|||||||
#include "GenericGameStorage.h"
|
#include "GenericGameStorage.h"
|
||||||
#include "SceneEdit.h"
|
#include "SceneEdit.h"
|
||||||
|
|
||||||
GlobalScene &Scene = *(GlobalScene*)0x726768;
|
GlobalScene Scene;
|
||||||
|
|
||||||
uint8 work_buff[55000];
|
uint8 work_buff[55000];
|
||||||
//char gString[256];
|
char gString[256];
|
||||||
//char gString2[512];
|
char gString2[512];
|
||||||
//wchar gUString[256];
|
wchar gUString[256];
|
||||||
//wchar gUString2[256];
|
wchar gUString2[256];
|
||||||
char *gString = (char*)0x711B40;
|
|
||||||
char *gString2 = (char*)0x878A40;
|
|
||||||
wchar *gUString = (wchar*)0x74B018;
|
|
||||||
wchar *gUString2 = (wchar*)0x6EDD70;
|
|
||||||
|
|
||||||
|
|
||||||
float FramesPerSecond = 30.0f;
|
float FramesPerSecond = 30.0f;
|
||||||
|
|
||||||
bool gbPrintShite = false;
|
bool gbPrintShite = false;
|
||||||
bool &gbModelViewer = *(bool*)0x95CD93;
|
bool gbModelViewer;
|
||||||
|
|
||||||
int32 frameCount;
|
int32 frameCount;
|
||||||
|
|
||||||
|
@ -5,19 +5,15 @@ struct GlobalScene
|
|||||||
RpWorld *world;
|
RpWorld *world;
|
||||||
RwCamera *camera;
|
RwCamera *camera;
|
||||||
};
|
};
|
||||||
extern GlobalScene &Scene;
|
extern GlobalScene Scene;
|
||||||
|
|
||||||
extern uint8 work_buff[55000];
|
extern uint8 work_buff[55000];
|
||||||
//extern char gString[256];
|
extern char gString[256];
|
||||||
//extern char gString2[512];
|
extern char gString2[512];
|
||||||
//extern wchar gUString[256];
|
extern wchar gUString[256];
|
||||||
//extern wchar gUString2[256];
|
extern wchar gUString2[256];
|
||||||
extern char *gString;
|
|
||||||
extern char *gString2;
|
|
||||||
extern wchar *gUString;
|
|
||||||
extern wchar *gUString2;
|
|
||||||
extern bool gbPrintShite;
|
extern bool gbPrintShite;
|
||||||
extern bool &gbModelViewer;
|
extern bool gbModelViewer;
|
||||||
|
|
||||||
class CSprite2d;
|
class CSprite2d;
|
||||||
|
|
||||||
|
@ -5,11 +5,8 @@
|
|||||||
#include "ModelIndices.h"
|
#include "ModelIndices.h"
|
||||||
#include "ModelInfo.h"
|
#include "ModelInfo.h"
|
||||||
|
|
||||||
CBaseModelInfo **CModelInfo::ms_modelInfoPtrs = (CBaseModelInfo**)0x83D408;
|
CBaseModelInfo *CModelInfo::ms_modelInfoPtrs[MODELINFOSIZE];
|
||||||
|
|
||||||
//CStore<CSimpleModelInfo, SIMPLEMODELSIZE> &CModelInfo::ms_simpleModelStore = *(CStore<CSimpleModelInfo, SIMPLEMODELSIZE>*)0x885BB4;
|
|
||||||
//CStore<CTimeModelInfo, TIMEMODELSIZE> &CModelInfo::ms_timeModelStore = *(CStore<CTimeModelInfo, TIMEMODELSIZE>*)0x94076C;
|
|
||||||
//CStore<C2dEffect, TWODFXSIZE> &CModelInfo::ms_2dEffectStore = *(CStore<C2dEffect, TWODFXSIZE>*)0x9434F8;
|
|
||||||
CStore<CSimpleModelInfo, SIMPLEMODELSIZE> CModelInfo::ms_simpleModelStore;
|
CStore<CSimpleModelInfo, SIMPLEMODELSIZE> CModelInfo::ms_simpleModelStore;
|
||||||
CStore<CMloModelInfo, MLOMODELSIZE> CModelInfo::ms_mloModelStore;
|
CStore<CMloModelInfo, MLOMODELSIZE> CModelInfo::ms_mloModelStore;
|
||||||
CStore<CInstance, MLOINSTANCESIZE> CModelInfo::ms_mloInstanceStore;
|
CStore<CInstance, MLOINSTANCESIZE> CModelInfo::ms_mloInstanceStore;
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
class CModelInfo
|
class CModelInfo
|
||||||
{
|
{
|
||||||
static CBaseModelInfo **ms_modelInfoPtrs; //[MODELINFOSIZE];
|
static CBaseModelInfo *ms_modelInfoPtrs[MODELINFOSIZE];
|
||||||
static CStore<CSimpleModelInfo, SIMPLEMODELSIZE> ms_simpleModelStore;
|
static CStore<CSimpleModelInfo, SIMPLEMODELSIZE> ms_simpleModelStore;
|
||||||
static CStore<CMloModelInfo, MLOMODELSIZE> ms_mloModelStore;
|
static CStore<CMloModelInfo, MLOMODELSIZE> ms_mloModelStore;
|
||||||
static CStore<CInstance, MLOINSTANCESIZE> ms_mloInstanceStore;
|
static CStore<CInstance, MLOINSTANCESIZE> ms_mloInstanceStore;
|
||||||
|
@ -19,14 +19,14 @@
|
|||||||
#include "ModelIndices.h"
|
#include "ModelIndices.h"
|
||||||
#include "ModelInfo.h"
|
#include "ModelInfo.h"
|
||||||
|
|
||||||
int8 *CVehicleModelInfo::ms_compsToUse = (int8*)0x5FF2EC; // -2, -2
|
int8 CVehicleModelInfo::ms_compsToUse[2] = { -2, -2 };
|
||||||
int8 *CVehicleModelInfo::ms_compsUsed = (int8*)0x95CCB2;
|
int8 CVehicleModelInfo::ms_compsUsed[2];
|
||||||
RwTexture **CVehicleModelInfo::ms_pEnvironmentMaps = (RwTexture **)0x8F1A30;
|
RwTexture *CVehicleModelInfo::ms_pEnvironmentMaps[NUM_VEHICLE_ENVMAPS];
|
||||||
RwRGBA *CVehicleModelInfo::ms_vehicleColourTable = (RwRGBA*)0x86BA88;
|
RwRGBA CVehicleModelInfo::ms_vehicleColourTable[256];
|
||||||
RwTexture **CVehicleModelInfo::ms_colourTextureTable = (RwTexture**)0x711C40;
|
RwTexture *CVehicleModelInfo::ms_colourTextureTable[256];
|
||||||
|
|
||||||
RwTexture *&gpWhiteTexture = *(RwTexture**)0x64C4F8;
|
RwTexture *gpWhiteTexture;
|
||||||
RwFrame *&pMatFxIdentityFrame = *(RwFrame**)0x64C510;
|
RwFrame *pMatFxIdentityFrame;
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
VEHICLE_FLAG_COLLAPSE = 0x2,
|
VEHICLE_FLAG_COLLAPSE = 0x2,
|
||||||
|
@ -81,11 +81,11 @@ public:
|
|||||||
RpAtomic *m_comps[6];
|
RpAtomic *m_comps[6];
|
||||||
int32 m_numComps;
|
int32 m_numComps;
|
||||||
|
|
||||||
static int8 *ms_compsToUse; // [2];
|
static int8 ms_compsToUse[2];
|
||||||
static int8 *ms_compsUsed; // [2];
|
static int8 ms_compsUsed[2];
|
||||||
static RwTexture **ms_pEnvironmentMaps; // [NUM_VEHICLE_ENVMAPS]
|
static RwTexture *ms_pEnvironmentMaps[NUM_VEHICLE_ENVMAPS];
|
||||||
static RwRGBA *ms_vehicleColourTable; // [256]
|
static RwRGBA ms_vehicleColourTable[256];
|
||||||
static RwTexture **ms_colourTextureTable; // [256]
|
static RwTexture *ms_colourTextureTable[256];
|
||||||
static RwObjectNameIdAssocation *ms_vehicleDescs[NUM_VEHICLE_TYPES];
|
static RwObjectNameIdAssocation *ms_vehicleDescs[NUM_VEHICLE_TYPES];
|
||||||
|
|
||||||
CVehicleModelInfo(void);
|
CVehicleModelInfo(void);
|
||||||
|
@ -12,8 +12,8 @@
|
|||||||
#include "World.h"
|
#include "World.h"
|
||||||
#include "Floater.h"
|
#include "Floater.h"
|
||||||
|
|
||||||
int16 &CObject::nNoTempObjects = *(int16*)0x95CCA2;
|
int16 CObject::nNoTempObjects;
|
||||||
int16 &CObject::nBodyCastHealth = *(int16*)0x5F7D4C; // 1000
|
int16 CObject::nBodyCastHealth = 1000;
|
||||||
|
|
||||||
void *CObject::operator new(size_t sz) { return CPools::GetObjectPool()->New(); }
|
void *CObject::operator new(size_t sz) { return CPools::GetObjectPool()->New(); }
|
||||||
void *CObject::operator new(size_t sz, int handle) { return CPools::GetObjectPool()->New(handle);};
|
void *CObject::operator new(size_t sz, int handle) { return CPools::GetObjectPool()->New(handle);};
|
||||||
|
@ -73,8 +73,8 @@ public:
|
|||||||
CEntity *m_pCollidingEntity;
|
CEntity *m_pCollidingEntity;
|
||||||
int8 m_colour1, m_colour2;
|
int8 m_colour1, m_colour2;
|
||||||
|
|
||||||
static int16 &nNoTempObjects;
|
static int16 nNoTempObjects;
|
||||||
static int16 &nBodyCastHealth;
|
static int16 nBodyCastHealth;
|
||||||
|
|
||||||
static void *operator new(size_t);
|
static void *operator new(size_t);
|
||||||
static void *operator new(size_t, int);
|
static void *operator new(size_t, int);
|
||||||
|
@ -9,11 +9,11 @@
|
|||||||
#include "Game.h"
|
#include "Game.h"
|
||||||
|
|
||||||
|
|
||||||
CParticleObject (&gPObjectArray)[MAX_PARTICLEOBJECTS] = *(CParticleObject(*)[MAX_PARTICLEOBJECTS])*(uintptr*)0x62A58C;
|
CParticleObject gPObjectArray[MAX_PARTICLEOBJECTS];
|
||||||
|
|
||||||
CParticleObject *&CParticleObject::pCloseListHead = *(CParticleObject **)int(0x8F4340);
|
CParticleObject *CParticleObject::pCloseListHead;
|
||||||
CParticleObject *&CParticleObject::pFarListHead = *(CParticleObject **)int(0x942F78);
|
CParticleObject *CParticleObject::pFarListHead;
|
||||||
CParticleObject *&CParticleObject::pUnusedListHead = *(CParticleObject **)int(0x94128C);
|
CParticleObject *CParticleObject::pUnusedListHead;
|
||||||
|
|
||||||
CAudioHydrant List[MAX_AUDIOHYDRANTS];
|
CAudioHydrant List[MAX_AUDIOHYDRANTS];
|
||||||
|
|
||||||
|
@ -62,9 +62,9 @@ public:
|
|||||||
int8 m_nCreationChance;
|
int8 m_nCreationChance;
|
||||||
char _pad1[2];
|
char _pad1[2];
|
||||||
|
|
||||||
static CParticleObject *&pCloseListHead;
|
static CParticleObject *pCloseListHead;
|
||||||
static CParticleObject *&pFarListHead;
|
static CParticleObject *pFarListHead;
|
||||||
static CParticleObject *&pUnusedListHead;
|
static CParticleObject *pUnusedListHead;
|
||||||
|
|
||||||
CParticleObject();
|
CParticleObject();
|
||||||
~CParticleObject();
|
~CParticleObject();
|
||||||
@ -89,7 +89,7 @@ public:
|
|||||||
static void MoveToList(CParticleObject **from, CParticleObject **to, CParticleObject *obj);
|
static void MoveToList(CParticleObject **from, CParticleObject **to, CParticleObject *obj);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern CParticleObject (&gPObjectArray)[MAX_PARTICLEOBJECTS];
|
extern CParticleObject gPObjectArray[MAX_PARTICLEOBJECTS];
|
||||||
|
|
||||||
class CAudioHydrant
|
class CAudioHydrant
|
||||||
{
|
{
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
#include "Text.h"
|
#include "Text.h"
|
||||||
#include "Credits.h"
|
#include "Credits.h"
|
||||||
|
|
||||||
bool &CCredits::bCreditsGoing = *(bool*)0x95CDD3;
|
bool CCredits::bCreditsGoing;
|
||||||
uint32 &CCredits::CreditsStartTime = *(uint32*)0x8F2528;
|
uint32 CCredits::CreditsStartTime;
|
||||||
|
|
||||||
void
|
void
|
||||||
CCredits::Init(void)
|
CCredits::Init(void)
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
class CCredits
|
class CCredits
|
||||||
{
|
{
|
||||||
static bool &bCreditsGoing;
|
static bool bCreditsGoing;
|
||||||
static uint32 &CreditsStartTime;
|
static uint32 CreditsStartTime;
|
||||||
public:
|
public:
|
||||||
static void Init(void);
|
static void Init(void);
|
||||||
static void Start(void);
|
static void Start(void);
|
||||||
|
@ -8,15 +8,15 @@
|
|||||||
float CDraw::ms_fAspectRatio = DEFAULT_ASPECT_RATIO;
|
float CDraw::ms_fAspectRatio = DEFAULT_ASPECT_RATIO;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float &CDraw::ms_fNearClipZ = *(float*)0x8E2DC4;
|
float CDraw::ms_fNearClipZ;
|
||||||
float &CDraw::ms_fFarClipZ = *(float*)0x9434F0;
|
float CDraw::ms_fFarClipZ;
|
||||||
float &CDraw::ms_fFOV = *(float*)0x5FBC6C;
|
float CDraw::ms_fFOV = 45.0f;
|
||||||
float &CDraw::ms_fLODDistance = *(float*)0x8F2C30;
|
float CDraw::ms_fLODDistance;
|
||||||
|
|
||||||
uint8 &CDraw::FadeValue = *(uint8*)0x95CD68;
|
uint8 CDraw::FadeValue;
|
||||||
uint8 &CDraw::FadeRed = *(uint8*)0x95CD90;
|
uint8 CDraw::FadeRed;
|
||||||
uint8 &CDraw::FadeGreen = *(uint8*)0x95CD71;
|
uint8 CDraw::FadeGreen;
|
||||||
uint8 &CDraw::FadeBlue = *(uint8*)0x95CD53;
|
uint8 CDraw::FadeBlue;
|
||||||
|
|
||||||
float
|
float
|
||||||
CDraw::FindAspectRatio(void)
|
CDraw::FindAspectRatio(void)
|
||||||
|
@ -13,11 +13,11 @@ enum eAspectRatio
|
|||||||
class CDraw
|
class CDraw
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
static float &ms_fNearClipZ;
|
static float ms_fNearClipZ;
|
||||||
static float &ms_fFarClipZ;
|
static float ms_fFarClipZ;
|
||||||
static float &ms_fFOV;
|
static float ms_fFOV;
|
||||||
public:
|
public:
|
||||||
static float &ms_fLODDistance; // set but unused?
|
static float ms_fLODDistance; // set but unused?
|
||||||
|
|
||||||
#ifdef ASPECT_RATIO_SCALE
|
#ifdef ASPECT_RATIO_SCALE
|
||||||
// we use this variable to scale a lot of 2D elements
|
// we use this variable to scale a lot of 2D elements
|
||||||
@ -25,10 +25,10 @@ public:
|
|||||||
static float ms_fAspectRatio;
|
static float ms_fAspectRatio;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static uint8 &FadeValue;
|
static uint8 FadeValue;
|
||||||
static uint8 &FadeRed;
|
static uint8 FadeRed;
|
||||||
static uint8 &FadeGreen;
|
static uint8 FadeGreen;
|
||||||
static uint8 &FadeBlue;
|
static uint8 FadeBlue;
|
||||||
|
|
||||||
static void SetNearClipZ(float nearclip) { ms_fNearClipZ = nearclip; }
|
static void SetNearClipZ(float nearclip) { ms_fNearClipZ = nearclip; }
|
||||||
static float GetNearClipZ(void) { return ms_fNearClipZ; }
|
static float GetNearClipZ(void) { return ms_fNearClipZ; }
|
||||||
|
@ -4,18 +4,18 @@
|
|||||||
#include "TxdStore.h"
|
#include "TxdStore.h"
|
||||||
#include "Font.h"
|
#include "Font.h"
|
||||||
|
|
||||||
CFontDetails &CFont::Details = *(CFontDetails*)0x8F317C;
|
CFontDetails CFont::Details;
|
||||||
int16 &CFont::NewLine = *(int16*)0x95CC94;
|
int16 CFont::NewLine;
|
||||||
CSprite2d *CFont::Sprite = (CSprite2d*)0x95CC04;
|
CSprite2d CFont::Sprite[MAX_FONTS];
|
||||||
|
|
||||||
#ifdef MORE_LANGUAGES
|
#ifdef MORE_LANGUAGES
|
||||||
uint8 CFont::LanguageSet = FONT_LANGSET_EFIGS;
|
uint8 CFont::LanguageSet = FONT_LANGSET_EFIGS;
|
||||||
int32 CFont::Slot = -1;
|
int32 CFont::Slot = -1;
|
||||||
|
|
||||||
int16 CFont::Size[2][3][193] = {
|
int16 CFont::Size[2][MAX_FONTS][193] = {
|
||||||
{
|
{
|
||||||
#else
|
#else
|
||||||
int16 CFont::Size[3][193] = {
|
int16 CFont::Size[MAX_FONTS][193] = {
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
13, 12, 31, 35, 23, 35, 31, 9, 14, 15, 25, 30, 11, 17, 13, 31,
|
13, 12, 31, 35, 23, 35, 31, 9, 14, 15, 25, 30, 11, 17, 13, 31,
|
||||||
|
@ -31,6 +31,7 @@ enum {
|
|||||||
FONT_BANK,
|
FONT_BANK,
|
||||||
FONT_PAGER,
|
FONT_PAGER,
|
||||||
FONT_HEADING,
|
FONT_HEADING,
|
||||||
|
MAX_FONTS
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -50,16 +51,16 @@ enum
|
|||||||
class CFont
|
class CFont
|
||||||
{
|
{
|
||||||
#ifdef MORE_LANGUAGES
|
#ifdef MORE_LANGUAGES
|
||||||
static int16 Size[2][3][193];
|
static int16 Size[2][MAX_FONTS][193];
|
||||||
static uint8 LanguageSet;
|
static uint8 LanguageSet;
|
||||||
static int32 Slot;
|
static int32 Slot;
|
||||||
#else
|
#else
|
||||||
static int16 Size[3][193];
|
static int16 Size[MAX_FONTS][193];
|
||||||
#endif
|
#endif
|
||||||
static int16 

|
static int16 NewLine;
|
||||||
static CSprite2d *Sprite; //[3]
|
static CSprite2d Sprite[MAX_FONTS];
|
||||||
public:
|
public:
|
||||||
static CFontDetails& Details;
|
static CFontDetails Details;
|
||||||
|
|
||||||
static void Initialise(void);
|
static void Initialise(void);
|
||||||
static void Shutdown(void);
|
static void Shutdown(void);
|
||||||
|
@ -21,52 +21,52 @@
|
|||||||
#include "User.h"
|
#include "User.h"
|
||||||
#include "World.h"
|
#include "World.h"
|
||||||
|
|
||||||
wchar CHud::m_HelpMessage[256]; // = (wchar*)0x86B888;
|
wchar CHud::m_HelpMessage[256];
|
||||||
wchar CHud::m_LastHelpMessage[256]; // = (wchar*)0x6E8F28;
|
wchar CHud::m_LastHelpMessage[256];
|
||||||
uint32 CHud::m_HelpMessageState; // = *(int32*)0x880E1C;
|
uint32 CHud::m_HelpMessageState;
|
||||||
uint32 CHud::m_HelpMessageTimer; // = *(int32*)0x880FA4;
|
uint32 CHud::m_HelpMessageTimer;
|
||||||
int32 CHud::m_HelpMessageFadeTimer; // = *(int32*)0x8F6258;
|
int32 CHud::m_HelpMessageFadeTimer;
|
||||||
wchar CHud::m_HelpMessageToPrint[256]; // = (wchar*)0x664480;
|
wchar CHud::m_HelpMessageToPrint[256];
|
||||||
float CHud::m_fHelpMessageTime; // *(float *)0x8E2C28;
|
float CHud::m_fHelpMessageTime;
|
||||||
bool CHud::m_HelpMessageQuick; // = *(bool*)0x95CCF7;
|
bool CHud::m_HelpMessageQuick;
|
||||||
uint32 CHud::m_ZoneState; // = *(int32*)0x8F29AC;
|
uint32 CHud::m_ZoneState;
|
||||||
int32 CHud::m_ZoneFadeTimer;
|
int32 CHud::m_ZoneFadeTimer;
|
||||||
uint32 CHud::m_ZoneNameTimer; // = *(int32*)0x8F1A50;
|
uint32 CHud::m_ZoneNameTimer;
|
||||||
wchar *CHud::m_pZoneName; // = *(wchar**)0x8E2C2C;
|
wchar *CHud::m_pZoneName;
|
||||||
wchar *CHud::m_pLastZoneName; // = (wchar*)0x8F432C;
|
wchar *CHud::m_pLastZoneName;
|
||||||
wchar *CHud::m_ZoneToPrint;
|
wchar *CHud::m_ZoneToPrint;
|
||||||
uint32 CHud::m_VehicleState; // = *(int32*)0x940560;
|
uint32 CHud::m_VehicleState;
|
||||||
int32 CHud::m_VehicleFadeTimer;
|
int32 CHud::m_VehicleFadeTimer;
|
||||||
uint32 CHud::m_VehicleNameTimer; // = *(int32*)0x8F2A14;
|
uint32 CHud::m_VehicleNameTimer;
|
||||||
wchar *CHud::m_VehicleName; // = *(wchar**)0x942FB4;
|
wchar *CHud::m_VehicleName;
|
||||||
wchar *CHud::m_pLastVehicleName; // = *(wchar**)0x8E2DD8;
|
wchar *CHud::m_pLastVehicleName;
|
||||||
wchar *CHud::m_pVehicleNameToPrint;
|
wchar *CHud::m_pVehicleNameToPrint;
|
||||||
wchar CHud::m_Message[256];// = (wchar*)0x72E318;
|
wchar CHud::m_Message[256];
|
||||||
wchar CHud::m_PagerMessage[256]; // = (wchar*)0x878840;
|
wchar CHud::m_PagerMessage[256];
|
||||||
bool CHud::m_Wants_To_Draw_Hud; // (bool*)0x95CD89;
|
bool CHud::m_Wants_To_Draw_Hud;
|
||||||
bool CHud::m_Wants_To_Draw_3dMarkers; // = *(bool*)0x95CD62;
|
bool CHud::m_Wants_To_Draw_3dMarkers;
|
||||||
wchar CHud::m_BigMessage[6][128]; // = *(wchar(*)[6][128]) * (uintptr*)0x664CE0;
|
wchar CHud::m_BigMessage[6][128];
|
||||||
int16 CHud::m_ItemToFlash; // = *(int16*)0x95CC82;
|
int16 CHud::m_ItemToFlash;
|
||||||
|
|
||||||
// These aren't really in CHud
|
// These aren't really in CHud
|
||||||
float CHud::BigMessageInUse[6];
|
float CHud::BigMessageInUse[6];
|
||||||
float CHud::BigMessageAlpha[6];
|
float CHud::BigMessageAlpha[6];
|
||||||
float CHud::BigMessageX[6];
|
float CHud::BigMessageX[6];
|
||||||
float CHud::OddJob2OffTimer; // = *(float*)0x942FA0;
|
float CHud::OddJob2OffTimer;
|
||||||
bool CHud::CounterOnLastFrame; // = *(int8*)0x95CD67;
|
bool CHud::CounterOnLastFrame;
|
||||||
float CHud::OddJob2XOffset; // = *(float*)0x8F1B5C;
|
float CHud::OddJob2XOffset;
|
||||||
uint16 CHud::CounterFlashTimer; // = *(int16*)0x95CC20;
|
uint16 CHud::CounterFlashTimer;
|
||||||
uint16 CHud::OddJob2Timer; // = *(int16*)0x95CC52;
|
uint16 CHud::OddJob2Timer;
|
||||||
bool CHud::TimerOnLastFrame; //= *(int8*)0x95CDA7;
|
bool CHud::TimerOnLastFrame;
|
||||||
int16 CHud::OddJob2On; //= *(int16*)0x95CC78;
|
int16 CHud::OddJob2On;
|
||||||
uint16 CHud::TimerFlashTimer; //= *(int16*)0x95CC6C;
|
uint16 CHud::TimerFlashTimer;
|
||||||
int16 CHud::PagerSoundPlayed; //= *(int16*)0x95CC4A;
|
int16 CHud::PagerSoundPlayed;
|
||||||
int32 CHud::SpriteBrightness; //= *(int32*)0x95CC54;
|
int32 CHud::SpriteBrightness;
|
||||||
float CHud::PagerXOffset; //= *(float*)0x941590;
|
float CHud::PagerXOffset;
|
||||||
int16 CHud::PagerTimer; //= *(int16*)0x95CC3A;
|
int16 CHud::PagerTimer;
|
||||||
int16 CHud::PagerOn; //= *(int16*)0x95CCA0;
|
int16 CHud::PagerOn;
|
||||||
|
|
||||||
CSprite2d CHud::Sprites[NUM_HUD_SPRITES]; // = (CSprite2d*)0x95CB9C;
|
CSprite2d CHud::Sprites[NUM_HUD_SPRITES];
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
@ -98,8 +98,8 @@ struct
|
|||||||
{"siterocket", "siterocket"}
|
{"siterocket", "siterocket"}
|
||||||
};
|
};
|
||||||
|
|
||||||
RwTexture *&gpSniperSightTex = *(RwTexture**)0x8F5834;
|
RwTexture *gpSniperSightTex;
|
||||||
RwTexture *&gpRocketSightTex = *(RwTexture**)0x8E2C20;
|
RwTexture *gpRocketSightTex;
|
||||||
|
|
||||||
void CHud::Draw()
|
void CHud::Draw()
|
||||||
{
|
{
|
||||||
|
@ -6,9 +6,9 @@
|
|||||||
|
|
||||||
// Originally taken from RW example 'mblur'
|
// Originally taken from RW example 'mblur'
|
||||||
|
|
||||||
RwRaster *&CMBlur::pFrontBuffer = *(RwRaster**)0x8E2C48;
|
RwRaster *CMBlur::pFrontBuffer;
|
||||||
bool &CMBlur::ms_bJustInitialised = *(bool*)0x95CDAB;
|
bool CMBlur::ms_bJustInitialised;
|
||||||
bool &CMBlur::BlurOn = *(bool*)0x95CDAD;
|
bool CMBlur::BlurOn;
|
||||||
|
|
||||||
static RwIm2DVertex Vertex[4];
|
static RwIm2DVertex Vertex[4];
|
||||||
static RwImVertexIndex Index[6] = { 0, 1, 2, 0, 2, 3 };
|
static RwImVertexIndex Index[6] = { 0, 1, 2, 0, 2, 3 };
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
class CMBlur
|
class CMBlur
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static RwRaster *&pFrontBuffer;
|
static RwRaster *pFrontBuffer;
|
||||||
static bool &ms_bJustInitialised;
|
static bool ms_bJustInitialised;
|
||||||
static bool &BlurOn;
|
static bool BlurOn;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void MotionBlurOpen(RwCamera *cam);
|
static void MotionBlurOpen(RwCamera *cam);
|
||||||
|
@ -204,26 +204,21 @@ RwRaster *gpGunShellRaster;
|
|||||||
RwRaster *gpWakeOldRaster;
|
RwRaster *gpWakeOldRaster;
|
||||||
|
|
||||||
|
|
||||||
//RwRaster *gpPointlightRaster; // CPointLights::RenderFogEffect
|
RwRaster *gpPointlightRaster; // CPointLights::RenderFogEffect
|
||||||
RwRaster *&gpPointlightRaster = *(RwRaster **)0x8F5FE0;
|
|
||||||
|
|
||||||
//RwTexture *gpRainDropTex[MAX_RAINDROP_FILES]; // CWeather::RenderRainStreaks
|
RwTexture *gpRainDropTex[MAX_RAINDROP_FILES]; // CWeather::RenderRainStreaks
|
||||||
RwTexture * (&gpRainDropTex)[MAX_RAINDROP_FILES] = *(RwTexture * (*)[MAX_RAINDROP_FILES])*(int *)0x880660;
|
|
||||||
|
|
||||||
|
|
||||||
RwRaster *gpRainDropRaster[MAX_RAINDROP_FILES];
|
RwRaster *gpRainDropRaster[MAX_RAINDROP_FILES];
|
||||||
|
|
||||||
//Float CParticle::ms_afRandTable[CParticle::RAND_TABLE_SIZE]; //
|
float CParticle::ms_afRandTable[CParticle::RAND_TABLE_SIZE];
|
||||||
float (&CParticle::ms_afRandTable)[CParticle::RAND_TABLE_SIZE] = *(float (*)[CParticle::RAND_TABLE_SIZE])*(int *)0x6E98C8;
|
|
||||||
|
|
||||||
|
|
||||||
CParticle *CParticle::m_pUnusedListHead;
|
CParticle *CParticle::m_pUnusedListHead;
|
||||||
|
|
||||||
|
|
||||||
//Float CParticle::m_SinTable[CParticle::SIN_COS_TABLE_SIZE]; //
|
float CParticle::m_SinTable[CParticle::SIN_COS_TABLE_SIZE];
|
||||||
//Float CParticle::m_CosTable[CParticle::SIN_COS_TABLE_SIZE]; /
|
float CParticle::m_CosTable[CParticle::SIN_COS_TABLE_SIZE];
|
||||||
float (&CParticle::m_SinTable)[CParticle::SIN_COS_TABLE_SIZE] = *(float (*)[CParticle::SIN_COS_TABLE_SIZE])*(int *)0x877358;
|
|
||||||
float (&CParticle::m_CosTable)[CParticle::SIN_COS_TABLE_SIZE] = *(float (*)[CParticle::SIN_COS_TABLE_SIZE])*(int *)0x70DA18;
|
|
||||||
|
|
||||||
int32 Randomizer;
|
int32 Randomizer;
|
||||||
|
|
||||||
|
@ -49,16 +49,11 @@ public:
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
//static float ms_afRandTable[RAND_TABLE_SIZE];
|
static float ms_afRandTable[RAND_TABLE_SIZE];
|
||||||
static float (&ms_afRandTable)[RAND_TABLE_SIZE];
|
|
||||||
static CParticle *m_pUnusedListHead;
|
static CParticle *m_pUnusedListHead;
|
||||||
|
|
||||||
/*
|
|
||||||
static float m_SinTable[SIN_COS_TABLE_SIZE];
|
static float m_SinTable[SIN_COS_TABLE_SIZE];
|
||||||
static float m_CosTable[SIN_COS_TABLE_SIZE];
|
static float m_CosTable[SIN_COS_TABLE_SIZE];
|
||||||
*/
|
|
||||||
static float (&m_SinTable)[SIN_COS_TABLE_SIZE];
|
|
||||||
static float (&m_CosTable)[SIN_COS_TABLE_SIZE];
|
|
||||||
|
|
||||||
static float Sin(int32 value) { return m_SinTable[value]; }
|
static float Sin(int32 value) { return m_SinTable[value]; }
|
||||||
static float Cos(int32 value) { return m_CosTable[value]; }
|
static float Cos(int32 value) { return m_CosTable[value]; }
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
#include "Timer.h"
|
#include "Timer.h"
|
||||||
#include "PointLights.h"
|
#include "PointLights.h"
|
||||||
|
|
||||||
int16 &CPointLights::NumLights = *(int16*)0x95CC3E;
|
int16 CPointLights::NumLights;
|
||||||
CRegisteredPointLight *CPointLights::aLights = (CRegisteredPointLight*)0x7096D0;
|
CRegisteredPointLight CPointLights::aLights[NUMPOINTLIGHTS];
|
||||||
|
|
||||||
void
|
void
|
||||||
CPointLights::InitPerFrame(void)
|
CPointLights::InitPerFrame(void)
|
||||||
@ -114,7 +114,7 @@ CPointLights::GenerateLightsAffectingObject(CVector *objCoors)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern RwRaster *&gpPointlightRaster;
|
extern RwRaster *gpPointlightRaster;
|
||||||
|
|
||||||
void
|
void
|
||||||
CPointLights::RemoveLightsAffectingObject(void)
|
CPointLights::RemoveLightsAffectingObject(void)
|
||||||
|
@ -18,8 +18,8 @@ static_assert(sizeof(CRegisteredPointLight) == 0x2C, "CRegisteredPointLight: err
|
|||||||
class CPointLights
|
class CPointLights
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static int16 &NumLights;
|
static int16 NumLights;
|
||||||
static CRegisteredPointLight *aLights; //[NUMPOINTLIGHTS]
|
static CRegisteredPointLight aLights[NUMPOINTLIGHTS];
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
LIGHT_POINT,
|
LIGHT_POINT,
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
#include "patcher.h"
|
#include "patcher.h"
|
||||||
#include "RenderBuffer.h"
|
#include "RenderBuffer.h"
|
||||||
|
|
||||||
int32 &TempBufferVerticesStored = *(int32*)0x8F5F78;
|
int32 TempBufferVerticesStored;
|
||||||
int32 &TempBufferIndicesStored = *(int32*)0x8F1A4C;
|
int32 TempBufferIndicesStored;
|
||||||
|
|
||||||
RwIm3DVertex *TempBufferRenderVertices = (RwIm3DVertex*)0x862330;
|
RwIm3DVertex TempBufferRenderVertices[TEMPBUFFERVERTSIZE];
|
||||||
RwImVertexIndex *TempBufferRenderIndexList = (RwImVertexIndex*)0x846288;
|
RwImVertexIndex TempBufferRenderIndexList[TEMPBUFFERINDEXSIZE];
|
||||||
|
|
||||||
int &RenderBuffer::VerticesToBeStored = *(int*)0x8F59C4;
|
int RenderBuffer::VerticesToBeStored;
|
||||||
int &RenderBuffer::IndicesToBeStored = *(int*)0x8E28B0;
|
int RenderBuffer::IndicesToBeStored;
|
||||||
|
|
||||||
void
|
void
|
||||||
RenderBuffer::ClearRenderBuffer(void)
|
RenderBuffer::ClearRenderBuffer(void)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
class RenderBuffer
|
class RenderBuffer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static int &VerticesToBeStored;
|
static int VerticesToBeStored;
|
||||||
static int &IndicesToBeStored;
|
static int IndicesToBeStored;
|
||||||
static void ClearRenderBuffer(void);
|
static void ClearRenderBuffer(void);
|
||||||
static void StartStoring(int numIndices, int numVertices, RwImVertexIndex **indexStart, RwIm3DVertex **vertexStart);
|
static void StartStoring(int numIndices, int numVertices, RwImVertexIndex **indexStart, RwIm3DVertex **vertexStart);
|
||||||
static void StopStoring(void);
|
static void StopStoring(void);
|
||||||
@ -12,7 +12,7 @@ public:
|
|||||||
#define TEMPBUFFERVERTSIZE 256
|
#define TEMPBUFFERVERTSIZE 256
|
||||||
#define TEMPBUFFERINDEXSIZE 1024
|
#define TEMPBUFFERINDEXSIZE 1024
|
||||||
|
|
||||||
extern int32 &TempBufferVerticesStored;
|
extern int32 TempBufferVerticesStored;
|
||||||
extern int32 &TempBufferIndicesStored;
|
extern int32 TempBufferIndicesStored;
|
||||||
extern RwIm3DVertex *TempBufferRenderVertices;
|
extern RwIm3DVertex TempBufferRenderVertices[TEMPBUFFERVERTSIZE];
|
||||||
extern RwImVertexIndex *TempBufferRenderIndexList;
|
extern RwImVertexIndex TempBufferRenderIndexList[TEMPBUFFERINDEXSIZE];
|
@ -20,43 +20,31 @@
|
|||||||
SETTWEAKPATH("Shadows");
|
SETTWEAKPATH("Shadows");
|
||||||
TWEAKBOOL(gbPrintShite);
|
TWEAKBOOL(gbPrintShite);
|
||||||
|
|
||||||
#if 1
|
|
||||||
RwImVertexIndex ShadowIndexList[24];
|
RwImVertexIndex ShadowIndexList[24];
|
||||||
#else
|
|
||||||
RwImVertexIndex (&ShadowIndexList)[24] = *(RwImVertexIndex (*)[24])*(int *)0x649188;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
RwTexture *&gpShadowCarTex = *(RwTexture **)0x8F2C90;
|
RwTexture *gpShadowCarTex;
|
||||||
RwTexture *&gpShadowPedTex = *(RwTexture **)0x8F59D0;
|
RwTexture *gpShadowPedTex;
|
||||||
RwTexture *&gpShadowHeliTex = *(RwTexture **)0x8E2A90;
|
RwTexture *gpShadowHeliTex;
|
||||||
RwTexture *&gpShadowExplosionTex = *(RwTexture **)0x8F2A00;
|
RwTexture *gpShadowExplosionTex;
|
||||||
RwTexture *&gpShadowHeadLightsTex = *(RwTexture **)0x95CB98;
|
RwTexture *gpShadowHeadLightsTex;
|
||||||
RwTexture *&gpOutline1Tex = *(RwTexture **)0x8F1B24;
|
RwTexture *gpOutline1Tex;
|
||||||
RwTexture *&gpOutline2Tex = *(RwTexture **)0x8F1B04;
|
RwTexture *gpOutline2Tex;
|
||||||
RwTexture *&gpOutline3Tex = *(RwTexture **)0x8F1B08;
|
RwTexture *gpOutline3Tex;
|
||||||
RwTexture *&gpBloodPoolTex = *(RwTexture **)0x9415F8;
|
RwTexture *gpBloodPoolTex;
|
||||||
RwTexture *&gpReflectionTex = *(RwTexture **)0x8F582C;
|
RwTexture *gpReflectionTex;
|
||||||
RwTexture *&gpGoalMarkerTex = *(RwTexture **)0x94142C;
|
RwTexture *gpGoalMarkerTex;
|
||||||
RwTexture *&gpWalkDontTex = *(RwTexture **)0x95CB4C;
|
RwTexture *gpWalkDontTex;
|
||||||
RwTexture *&gpCrackedGlassTex = *(RwTexture **)0x95CB94;
|
RwTexture *gpCrackedGlassTex;
|
||||||
RwTexture *&gpPostShadowTex = *(RwTexture **)0x8F59D4;
|
RwTexture *gpPostShadowTex;
|
||||||
RwTexture *&gpGoalTex = *(RwTexture**)0x94142C;
|
RwTexture *gpGoalTex;
|
||||||
|
|
||||||
#if 1
|
|
||||||
int16 CShadows::ShadowsStoredToBeRendered;
|
int16 CShadows::ShadowsStoredToBeRendered;
|
||||||
CStoredShadow CShadows::asShadowsStored [MAX_STOREDSHADOWS];
|
CStoredShadow CShadows::asShadowsStored [MAX_STOREDSHADOWS];
|
||||||
CPolyBunch CShadows::aPolyBunches [MAX_POLYBUNCHES];
|
CPolyBunch CShadows::aPolyBunches [MAX_POLYBUNCHES];
|
||||||
CStaticShadow CShadows::aStaticShadows [MAX_STATICSHADOWS];
|
CStaticShadow CShadows::aStaticShadows [MAX_STATICSHADOWS];
|
||||||
CPolyBunch *CShadows::pEmptyBunchList;
|
CPolyBunch *CShadows::pEmptyBunchList;
|
||||||
CPermanentShadow CShadows::aPermanentShadows[MAX_PERMAMENTSHADOWS];
|
CPermanentShadow CShadows::aPermanentShadows[MAX_PERMAMENTSHADOWS];
|
||||||
#else
|
|
||||||
int16 &CShadows::ShadowsStoredToBeRendered = *(int16*)0x95CCEE;
|
|
||||||
CStoredShadow (&CShadows::asShadowsStored)[MAX_STOREDSHADOWS] = *(CStoredShadow (*)[MAX_STOREDSHADOWS])*(int *)0x779058;
|
|
||||||
CPolyBunch (&CShadows::aPolyBunches)[MAX_POLYBUNCHES] = *(CPolyBunch (*)[MAX_POLYBUNCHES])*(int *)0x86F4C8;
|
|
||||||
CStaticShadow (&CShadows::aStaticShadows)[MAX_STATICSHADOWS] = *(CStaticShadow (*)[MAX_STATICSHADOWS])*(int *)0x773BE8;
|
|
||||||
CPolyBunch *&CShadows::pEmptyBunchList = *(CPolyBunch**)0x8F435C;
|
|
||||||
CPermanentShadow (&CShadows::aPermanentShadows)[MAX_PERMAMENTSHADOWS] = *(CPermanentShadow (*)[MAX_PERMAMENTSHADOWS])*(int *)0x712040;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void
|
void
|
||||||
CShadows::Init(void)
|
CShadows::Init(void)
|
||||||
|
@ -174,18 +174,18 @@ public:
|
|||||||
static void RenderIndicatorShadow (uint32 nID, uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity);
|
static void RenderIndicatorShadow (uint32 nID, uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern RwTexture *&gpShadowCarTex;
|
extern RwTexture *gpShadowCarTex;
|
||||||
extern RwTexture *&gpShadowPedTex;
|
extern RwTexture *gpShadowPedTex;
|
||||||
extern RwTexture *&gpShadowHeliTex;
|
extern RwTexture *gpShadowHeliTex;
|
||||||
extern RwTexture *&gpShadowExplosionTex;
|
extern RwTexture *gpShadowExplosionTex;
|
||||||
extern RwTexture *&gpShadowHeadLightsTex;
|
extern RwTexture *gpShadowHeadLightsTex;
|
||||||
extern RwTexture *&gpOutline1Tex;
|
extern RwTexture *gpOutline1Tex;
|
||||||
extern RwTexture *&gpOutline2Tex;
|
extern RwTexture *gpOutline2Tex;
|
||||||
extern RwTexture *&gpOutline3Tex;
|
extern RwTexture *gpOutline3Tex;
|
||||||
extern RwTexture *&gpBloodPoolTex;
|
extern RwTexture *gpBloodPoolTex;
|
||||||
extern RwTexture *&gpReflectionTex;
|
extern RwTexture *gpReflectionTex;
|
||||||
extern RwTexture *&gpGoalMarkerTex;
|
extern RwTexture *gpGoalMarkerTex;
|
||||||
extern RwTexture *&gpWalkDontTex;
|
extern RwTexture *gpWalkDontTex;
|
||||||
extern RwTexture *&gpCrackedGlassTex;
|
extern RwTexture *gpCrackedGlassTex;
|
||||||
extern RwTexture *&gpPostShadowTex;
|
extern RwTexture *gpPostShadowTex;
|
||||||
extern RwTexture *&gpGoalTex;
|
extern RwTexture *gpGoalTex;
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
#include "Camera.h"
|
#include "Camera.h"
|
||||||
#include "Sprite.h"
|
#include "Sprite.h"
|
||||||
|
|
||||||
float &CSprite::m_f2DNearScreenZ = *(float*)0x8F1ABC;
|
float CSprite::m_f2DNearScreenZ;
|
||||||
float &CSprite::m_f2DFarScreenZ = *(float*)0x8F2C94;
|
float CSprite::m_f2DFarScreenZ;
|
||||||
float &CSprite::m_fRecipNearClipPlane = *(float*)0x8F5FFC;
|
float CSprite::m_fRecipNearClipPlane;
|
||||||
int32 &CSprite::m_bFlushSpriteBufferSwitchZTest = *(int32*)0x8F5FB0;
|
int32 CSprite::m_bFlushSpriteBufferSwitchZTest;
|
||||||
|
|
||||||
float
|
float
|
||||||
CSprite::CalcHorizonCoors(void)
|
CSprite::CalcHorizonCoors(void)
|
||||||
@ -40,9 +40,9 @@ CSprite::CalcScreenCoors(const RwV3d &in, RwV3d *out, float *outw, float *outh,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define SPRITEBUFFERSIZE 64
|
#define SPRITEBUFFERSIZE 64
|
||||||
static int32 &nSpriteBufferIndex = *(int32*)0x649A80;
|
static int32 nSpriteBufferIndex;
|
||||||
static RwIm2DVertex *SpriteBufferVerts = (RwIm2DVertex*)0x649A84; //[SPRITEBUFFERSIZE*6];
|
static RwIm2DVertex SpriteBufferVerts[SPRITEBUFFERSIZE*6];
|
||||||
static RwIm2DVertex *verts = (RwIm2DVertex*)0x64C484; //[4];
|
static RwIm2DVertex verts[4];
|
||||||
|
|
||||||
void
|
void
|
||||||
CSprite::InitSpriteBuffer(void)
|
CSprite::InitSpriteBuffer(void)
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user