diff options
author | Nikolay Korolev <nickvnuk@gmail.com> | 2020-03-28 18:52:25 +0100 |
---|---|---|
committer | Nikolay Korolev <nickvnuk@gmail.com> | 2020-03-28 18:52:25 +0100 |
commit | 775bc3e666a1a61d156b5f13ec94b2ad63b8b6e5 (patch) | |
tree | 2832a470b7f2983228875da09ff9ebbf8b944735 /src/control/Garages.h | |
parent | Merge branch 'master' into garages_dev (diff) | |
download | re3-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 'src/control/Garages.h')
-rw-r--r-- | src/control/Garages.h | 30 |
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; } |