CStreaming DONE

This commit is contained in:
aap
2019-06-28 12:34:02 +02:00
parent 6f4e01f078
commit 847720aeae
11 changed files with 334 additions and 34 deletions

View File

@ -5,5 +5,6 @@
int &CCarCtrl::NumLawEnforcerCars = *(int*)0x8F1B38;
WRAPPER void CCarCtrl::SwitchVehicleToRealPhysics(CVehicle*) { EAXJMP(0x41F7F0); }
WRAPPER void CCarCtrl::AddToCarArray(int id, int vehclass) { EAXJMP(0x4182F0); }
WRAPPER void CCarCtrl::UpdateCarCount(CVehicle*, bool) { EAXJMP(0x4202E0); }
WRAPPER void CCarCtrl::AddToCarArray(int32 id, int32 vehclass) { EAXJMP(0x4182F0); }
WRAPPER void CCarCtrl::UpdateCarCount(CVehicle*, bool) { EAXJMP(0x4202E0); }
WRAPPER int32 CCarCtrl::ChooseCarModel(int32 vehclass) { EAXJMP(0x418110); }

View File

@ -6,8 +6,9 @@ class CCarCtrl
{
public:
static void SwitchVehicleToRealPhysics(CVehicle*);
static void AddToCarArray(int id, int vehclass);
static void AddToCarArray(int32 id, int32 vehclass);
static void UpdateCarCount(CVehicle*, bool);
static int32 ChooseCarModel(int32 vehclass);
static int32 &NumLawEnforcerCars;
};

View File

@ -1,9 +1,17 @@
#include "common.h"
#include "patcher.h"
#include "ModelIndices.h"
#include "Gangs.h"
CGangInfo(&CGangs::Gang)[NUM_GANGS] = *(CGangInfo(*)[9])*(uintptr*)0x6EDF78;
CGangInfo::CGangInfo() :
m_nVehicleMI(MI_BUS),
m_nPedModelOverride(-1),
m_Weapon1(WEAPONTYPE_UNARMED),
m_Weapon2(WEAPONTYPE_UNARMED)
{}
void CGangs::Initialize(void)
{
Gang[GANG_MAFIA].m_nVehicleMI = MI_MAFIA;

View File

@ -1,8 +1,6 @@
#pragma once
#include "common.h"
#include "Weapon.h"
#include "ModelIndices.h"
struct CGangInfo
{
@ -13,31 +11,27 @@ struct CGangInfo
eWeaponType m_Weapon1;
eWeaponType m_Weapon2;
CGangInfo() :
m_nVehicleMI(MI_BUS),
m_nPedModelOverride(-1),
m_Weapon1(WEAPONTYPE_UNARMED),
m_Weapon2(WEAPONTYPE_UNARMED)
{}
CGangInfo();
};
static_assert(sizeof(CGangInfo) == 0x10, "CGangInfo: error");
enum {
GANG_MAFIA = 0,
GANG_TRIAD,
GANG_DIABLOS,
GANG_YAKUZA,
GANG_YARDIE,
GANG_COLUMB,
GANG_HOODS,
GANG_7,
GANG_8,
NUM_GANGS
};
class CGangs
{
public:
enum {
GANG_MAFIA = 0,
GANG_TRIAD,
GANG_DIABLOS,
GANG_YAKUZA,
GANG_YARDIE,
GANG_COLUMB,
GANG_HOODS,
GANG_7,
GANG_8,
NUM_GANGS
};
static void Initialize(void);
static void SetGangVehicleModel(int16, int);
static void SetGangWeapons(int16, eWeaponType, eWeaponType);
@ -45,9 +39,9 @@ public:
static int8 GetGangPedModelOverride(int16);
static void SaveAllGangData(uint8 *, uint32 *);
static void LoadAllGangData(uint8 *, uint32);
static CGangInfo* GetGangInfo(int16 gang) { return &Gang[gang]; }
private:
static CGangInfo* GetGangInfo(int16 gang) { return &Gang[gang]; }
static CGangInfo(&Gang)[NUM_GANGS];
};

View File

@ -2,6 +2,7 @@
#include "patcher.h"
#include "Population.h"
PedGroup *CPopulation::ms_pPedGroups = (PedGroup*)0x6E9248;
bool &CPopulation::ms_bGivePedsWeapons = *(bool*)0x95CCF6;
WRAPPER void CPopulation::UpdatePedCount(uint32, bool) { EAXJMP(0x4F5A60); }
WRAPPER void CPopulation::UpdatePedCount(uint32, bool) { EAXJMP(0x4F5A60); }

View File

@ -2,10 +2,16 @@
#include "PedType.h"
struct PedGroup
{
int32 models[8];
};
class CPopulation
{
public:
static PedGroup *ms_pPedGroups; //[31]
static bool &ms_bGivePedsWeapons;
static void UpdatePedCount(uint32, bool);
};
};

View File

@ -1,5 +1,11 @@
#pragma once
enum {
RECORDSTATE_0,
RECORDSTATE_1,
RECORDSTATE_2,
};
class CRecordDataForGame
{
public: