summaryrefslogtreecommitdiffstats
path: root/src/control/Garages.h
diff options
context:
space:
mode:
authorNikolay Korolev <nickvnuk@gmail.com>2020-03-28 18:52:25 +0100
committerNikolay Korolev <nickvnuk@gmail.com>2020-03-28 18:52:25 +0100
commit775bc3e666a1a61d156b5f13ec94b2ad63b8b6e5 (patch)
tree2832a470b7f2983228875da09ff9ebbf8b944735 /src/control/Garages.h
parentMerge branch 'master' into garages_dev (diff)
downloadre3-775bc3e666a1a61d156b5f13ec94b2ad63b8b6e5.tar
re3-775bc3e666a1a61d156b5f13ec94b2ad63b8b6e5.tar.gz
re3-775bc3e666a1a61d156b5f13ec94b2ad63b8b6e5.tar.bz2
re3-775bc3e666a1a61d156b5f13ec94b2ad63b8b6e5.tar.lz
re3-775bc3e666a1a61d156b5f13ec94b2ad63b8b6e5.tar.xz
re3-775bc3e666a1a61d156b5f13ec94b2ad63b8b6e5.tar.zst
re3-775bc3e666a1a61d156b5f13ec94b2ad63b8b6e5.zip
Diffstat (limited to '')
-rw-r--r--src/control/Garages.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/control/Garages.h b/src/control/Garages.h
index 89d51a05..f12ccd0f 100644
--- a/src/control/Garages.h
+++ b/src/control/Garages.h
@@ -66,6 +66,9 @@ class CStoredCar
int8 m_nCarBombType;
public:
void Init() { m_nModelIndex = 0; }
+ CStoredCar(const CStoredCar& other);
+ void StoreCar(CVehicle*);
+ CVehicle* RestoreCar();
};
static_assert(sizeof(CStoredCar) == 0x28, "CStoredCar");
@@ -139,12 +142,30 @@ public:
void UpdateDoorsHeight();
bool IsEntityEntirelyInside3D(CEntity*, float);
bool IsEntityEntirelyOutside(CEntity*, float);
+ bool IsEntityEntirelyInside(CEntity*);
float CalcDistToGarageRectangleSquared(float, float);
+ float CalcSmallestDistToGarageDoorSquared(float, float);
bool IsAnyOtherCarTouchingGarage(CVehicle* pException);
bool IsStaticPlayerCarEntirelyInside();
bool IsPlayerOutsideGarage();
- bool IsCarSprayable();
+ bool IsAnyCarBlockingDoor();
void CenterCarInGarage(CVehicle*);
+ bool DoesCraigNeedThisCar(int32);
+ void MarkThisCarAsCollectedForCraig(int32);
+ bool HasCraigCollectedThisCar(int32);
+ bool IsGarageEmpty();
+ void UpdateCrusherShake(float, float);
+ int32 CountCarsWithCenterPointWithinGarage(CEntity* pException);
+ void RemoveCarsBlockingDoorNotInside();
+ void StoreAndRemoveCarsForThisHideout(CStoredCar*, int32);
+ bool RestoreCarsForThisHideout(CStoredCar*);
+ bool IsEntityTouching3D(CEntity*);
+ bool EntityHasASphereWayOutsideGarage(CEntity*, float);
+ bool IsAnyOtherPedTouchingGarage(CPed* pException);
+ void BuildRotatedDoorMatrix(CEntity*, float);
+ void FindDoorsEntities();
+ void FindDoorsEntitiesSectorList(CPtrList&, bool);
+ void PlayerArrestedOrDied();
};
static_assert(sizeof(CGarage) == 140, "CGarage");
@@ -207,6 +228,13 @@ public:
static bool HasImportExportGarageCollectedThisCar(int16, int8);
static void SetLeaveCameraForThisGarage(int16);
static bool IsThisCarWithinGarageArea(int16, CEntity*);
+ static bool IsCarSprayable(CVehicle*);
+ static int32 FindMaxNumStoredCarsForGarage(eGarageType);
+ static int32 CountCarsInHideoutGarage(eGarageType);
+ static bool IsPointInAGarageCameraZone(CVector);
+ static bool CameraShouldBeOutside();
+ static void CloseHideOutGaragesBeforeSave();
+ static void SetAllDoorsBackToOriginalHeight();
static int GetBombTypeForGarageType(eGarageType type) { return type - GARAGE_BOMBSHOP1 + 1; }
static int GetCarsCollectedIndexForGarageType(eGarageType type) { return type - GARAGE_COLLECTCARS_1; }