|
|
@@ -80,10 +80,9 @@ static_assert(sizeof(CStoredCar) == 0x28, "CStoredCar"); |
|
|
|
|
|
class CGarage
|
|
class CGarage
|
|
{
|
|
{
|
|
public:
|
|
|
|
eGarageType m_eGarageType;
|
|
eGarageType m_eGarageType;
|
|
eGarageState m_eGarageState;
|
|
eGarageState m_eGarageState;
|
|
bool field_2;
|
|
bool field_2; // unused
|
|
bool m_bClosingWithoutTargetCar;
|
|
bool m_bClosingWithoutTargetCar;
|
|
bool m_bDeactivated;
|
|
bool m_bDeactivated;
|
|
bool m_bResprayHappened;
|
|
bool m_bResprayHappened;
|
|
|
@@ -114,7 +113,7 @@ class CGarage |
|
uint32 m_nTimeToStartAction;
|
|
uint32 m_nTimeToStartAction;
|
|
uint8 m_bCollectedCarsState;
|
|
uint8 m_bCollectedCarsState;
|
|
CVehicle *m_pTarget;
|
|
CVehicle *m_pTarget;
|
|
void* field_96;
|
|
void* field_96; // unused
|
|
CStoredCar m_sStoredCar; // not needed
|
|
CStoredCar m_sStoredCar; // not needed
|
|
|
|
|
|
void OpenThisGarage();
|
|
void OpenThisGarage();
|
|
|
@@ -166,13 +165,15 @@ class CGarage |
|
void FindDoorsEntities();
|
|
void FindDoorsEntities();
|
|
void FindDoorsEntitiesSectorList(CPtrList&, bool);
|
|
void FindDoorsEntitiesSectorList(CPtrList&, bool);
|
|
void PlayerArrestedOrDied();
|
|
void PlayerArrestedOrDied();
|
|
|
|
|
|
|
|
friend class CGarages;
|
|
|
|
friend class cAudioManager;
|
|
};
|
|
};
|
|
|
|
|
|
static_assert(sizeof(CGarage) == 140, "CGarage");
|
|
static_assert(sizeof(CGarage) == 140, "CGarage");
|
|
|
|
|
|
class CGarages
|
|
class CGarages
|
|
{
|
|
{
|
|
public:
|
|
|
|
static int32 &BankVansCollected;
|
|
static int32 &BankVansCollected;
|
|
static bool &BombsAreFree;
|
|
static bool &BombsAreFree;
|
|
static bool &RespraysAreFree;
|
|
static bool &RespraysAreFree;
|
|
|
@@ -195,50 +196,56 @@ class CGarages |
|
static CStoredCar(&aCarsInSafeHouse3)[NUM_GARAGE_STORED_CARS];
|
|
static CStoredCar(&aCarsInSafeHouse3)[NUM_GARAGE_STORED_CARS];
|
|
static int32 &AudioEntity;
|
|
static int32 &AudioEntity;
|
|
static bool &bCamShouldBeOutisde;
|
|
static bool &bCamShouldBeOutisde;
|
|
|
|
|
|
public:
|
|
public:
|
|
static void Init(void);
|
|
static void Init(void);
|
|
#ifndef PS2
|
|
#ifndef PS2
|
|
static void Shutdown(void);
|
|
static void Shutdown(void);
|
|
#endif
|
|
#endif
|
|
static int16 AddOne(float X1, float Y1, float Z1, float X2, float Y2, float Z2, eGarageType type, int32 targetId);
|
|
static void Update(void);
|
|
|
|
|
|
static bool IsModelIndexADoor(uint32 id);
|
|
static int16 AddOne(float X1, float Y1, float Z1, float X2, float Y2, float Z2, eGarageType type, int32 targetId);
|
|
static void TriggerMessage(const char *text, int16, uint16 time, int16);
|
|
static void ChangeGarageType(int16, eGarageType, int32);
|
|
static void PrintMessages(void);
|
|
static void PrintMessages(void);
|
|
static bool HasCarBeenCrushed(int32);
|
|
static void TriggerMessage(const char* text, int16, uint16 time, int16);
|
|
static bool IsPointWithinHideOutGarage(CVector&);
|
|
|
|
static bool IsPointWithinAnyGarage(CVector&);
|
|
|
|
static void PlayerArrestedOrDied();
|
|
|
|
|
|
|
|
static void Update(void);
|
|
|
|
static void Load(uint8 *buf, uint32 size);
|
|
|
|
static void Save(uint8 *buf, uint32 *size);
|
|
|
|
static void SetTargetCarForMissonGarage(int16, CVehicle*);
|
|
static void SetTargetCarForMissonGarage(int16, CVehicle*);
|
|
static bool HasCarBeenDroppedOffYet(int16);
|
|
static bool HasCarBeenDroppedOffYet(int16);
|
|
static void ActivateGarage(int16);
|
|
|
|
static void DeActivateGarage(int16);
|
|
static void DeActivateGarage(int16);
|
|
|
|
static void ActivateGarage(int16);
|
|
static int32 QueryCarsCollected(int16);
|
|
static int32 QueryCarsCollected(int16);
|
|
static bool HasThisCarBeenCollected(int16, uint8);
|
|
static bool HasImportExportGarageCollectedThisCar(int16, int8);
|
|
static void ChangeGarageType(int16, eGarageType, int32);
|
|
|
|
static bool HasResprayHappened(int16);
|
|
|
|
static void GivePlayerDetonator();
|
|
|
|
static bool IsGarageOpen(int16);
|
|
static bool IsGarageOpen(int16);
|
|
static bool IsGarageClosed(int16);
|
|
static bool IsGarageClosed(int16);
|
|
|
|
static bool HasThisCarBeenCollected(int16, uint8);
|
|
|
|
static void OpenGarage(int16 garage) { aGarages[garage].OpenThisGarage(); }
|
|
|
|
static void CloseGarage(int16 garage) { aGarages[garage].CloseThisGarage(); }
|
|
|
|
static bool HasResprayHappened(int16);
|
|
static void SetGarageDoorToRotate(int16);
|
|
static void SetGarageDoorToRotate(int16);
|
|
static bool HasImportExportGarageCollectedThisCar(int16, int8);
|
|
|
|
static void SetLeaveCameraForThisGarage(int16);
|
|
static void SetLeaveCameraForThisGarage(int16);
|
|
static bool IsThisCarWithinGarageArea(int16, CEntity*);
|
|
static bool IsThisCarWithinGarageArea(int16, CEntity*);
|
|
static bool IsCarSprayable(CVehicle*);
|
|
static bool HasCarBeenCrushed(int32);
|
|
static int32 FindMaxNumStoredCarsForGarage(eGarageType);
|
|
|
|
static int32 CountCarsInHideoutGarage(eGarageType);
|
|
|
|
static bool IsPointInAGarageCameraZone(CVector);
|
|
static bool IsPointInAGarageCameraZone(CVector);
|
|
static bool CameraShouldBeOutside();
|
|
static bool CameraShouldBeOutside(void);
|
|
static void CloseHideOutGaragesBeforeSave();
|
|
static void GivePlayerDetonator(void);
|
|
static void SetAllDoorsBackToOriginalHeight();
|
|
static void PlayerArrestedOrDied(void);
|
|
|
|
static bool IsPointWithinHideOutGarage(CVector&);
|
|
static int GetBombTypeForGarageType(eGarageType type) { return type - GARAGE_BOMBSHOP1 + 1; }
|
|
static bool IsPointWithinAnyGarage(CVector&);
|
|
static int GetCarsCollectedIndexForGarageType(eGarageType type) { return type - GARAGE_COLLECTCARS_1; }
|
|
static void SetAllDoorsBackToOriginalHeight(void);
|
|
|
|
static void Save(uint8* buf, uint32* size);
|
|
|
|
static void Load(uint8* buf, uint32 size);
|
|
|
|
static bool IsModelIndexADoor(uint32 id);
|
|
|
|
static void SetFreeBombs(bool bValue) { BombsAreFree = bValue; }
|
|
|
|
static void SetFreeResprays(bool bValue) { RespraysAreFree = bValue; }
|
|
|
|
|
|
private:
|
|
private:
|
|
|
|
static bool IsCarSprayable(CVehicle*);
|
|
static float FindDoorHeightForMI(int32);
|
|
static float FindDoorHeightForMI(int32);
|
|
|
|
static void CloseHideOutGaragesBeforeSave(void);
|
|
|
|
static int32 CountCarsInHideoutGarage(eGarageType);
|
|
|
|
static int32 FindMaxNumStoredCarsForGarage(eGarageType);
|
|
|
|
static int32 GetBombTypeForGarageType(eGarageType type) { return type - GARAGE_BOMBSHOP1 + 1; }
|
|
|
|
static int32 GetCarsCollectedIndexForGarageType(eGarageType type) { return type - GARAGE_COLLECTCARS_1; }
|
|
|
|
|
|
|
|
friend class cAudioManager;
|
|
|
|
friend class CGarage;
|
|
};
|
|
};
|