diff options
author | Fire_Head <Fire-Head@users.noreply.github.com> | 2020-12-29 18:51:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-29 18:51:37 +0100 |
commit | 89e27093040067ca80ce2e174c19427222167e8e (patch) | |
tree | bf4183a78beb0c3e747fbc1f6a8c4f3c1e114d5c /src/control/Script.h | |
parent | master gxt (diff) | |
parent | Reorder CEntity functions into their original order (diff) | |
download | re3-89e27093040067ca80ce2e174c19427222167e8e.tar re3-89e27093040067ca80ce2e174c19427222167e8e.tar.gz re3-89e27093040067ca80ce2e174c19427222167e8e.tar.bz2 re3-89e27093040067ca80ce2e174c19427222167e8e.tar.lz re3-89e27093040067ca80ce2e174c19427222167e8e.tar.xz re3-89e27093040067ca80ce2e174c19427222167e8e.tar.zst re3-89e27093040067ca80ce2e174c19427222167e8e.zip |
Diffstat (limited to 'src/control/Script.h')
-rw-r--r-- | src/control/Script.h | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/src/control/Script.h b/src/control/Script.h index 7fc18727..1c4663ce 100644 --- a/src/control/Script.h +++ b/src/control/Script.h @@ -1,5 +1,6 @@ #pragma once #include "common.h" +#include "Ped.h" #include "PedType.h" #include "Text.h" #include "Sprite2d.h" @@ -38,6 +39,10 @@ void FlushLog(); #define KEY_LENGTH_IN_SCRIPT 8 +#if GTA_VERSION <= GTA_PS2_160 +#define GTA_SCRIPT_COLLECTIVE +#endif + struct intro_script_rectangle { bool m_bIsUsed; @@ -213,8 +218,8 @@ enum { struct tCollectiveData { - int32 index; - uint32 unk_data; + int32 colIndex; + int32 pedIndex; }; enum { @@ -286,7 +291,7 @@ class CTheScripts static bool StoreVehicleWasRandom; static CRunningScript *pIdleScripts; static CRunningScript *pActiveScripts; - static uint32 NextFreeCollectiveIndex; + static int32 NextFreeCollectiveIndex; static int32 LastRandomPedId; static uint16 NumberOfUsedObjects; static bool bAlreadyRunningAMissionScript; @@ -393,6 +398,25 @@ private: static int32 GetNewUniqueScriptSphereIndex(int32 index); static void RemoveScriptSphere(int32 index); +#ifdef GTA_SCRIPT_COLLECTIVE + static void AdvanceCollectiveIndex() + { + if (NextFreeCollectiveIndex == INT32_MAX) + NextFreeCollectiveIndex = 0; + else + NextFreeCollectiveIndex++; + } + + static int AddPedsInVehicleToCollective(int); + static int AddPedsInAreaToCollective(float, float, float, float); + static int FindFreeSlotInCollectiveArray(); + static void SetObjectiveForAllPedsInCollective(int, eObjective, int16, int16); + static void SetObjectiveForAllPedsInCollective(int, eObjective, CVector, float); + static void SetObjectiveForAllPedsInCollective(int, eObjective, CVector); + static void SetObjectiveForAllPedsInCollective(int, eObjective, void*); + static void SetObjectiveForAllPedsInCollective(int, eObjective); +#endif + friend class CRunningScript; friend class CHud; friend void CMissionCleanup::Process(); @@ -511,6 +535,14 @@ private: void CharInAreaCheckCommand(int32, uint32*); void CarInAreaCheckCommand(int32, uint32*); +#ifdef GTA_SCRIPT_COLLECTIVE + void LocateCollectiveCommand(int32, uint32*); + void LocateCollectiveCharCommand(int32, uint32*); + void LocateCollectiveCarCommand(int32, uint32*); + void LocateCollectivePlayerCommand(int32, uint32*); + void CollectiveInAreaCheckCommand(int32, uint32*); +#endif + #ifdef MISSION_REPLAY bool CanAllowMissionReplay(); #endif |