2019-06-13 02:35:26 +02:00
|
|
|
#pragma once
|
|
|
|
|
2019-07-31 17:54:18 +02:00
|
|
|
#include "Game.h"
|
2020-02-16 03:15:58 +01:00
|
|
|
#include "PedType.h"
|
2019-07-31 17:54:18 +02:00
|
|
|
|
2019-07-05 14:23:39 +02:00
|
|
|
class CPed;
|
|
|
|
class CVehicle;
|
2020-02-22 13:53:41 +01:00
|
|
|
class CDummyObject;
|
2020-03-28 15:47:52 +01:00
|
|
|
class CObject;
|
2019-06-25 00:42:23 +02:00
|
|
|
|
2019-06-28 12:34:02 +02:00
|
|
|
struct PedGroup
|
|
|
|
{
|
2020-02-16 03:15:58 +01:00
|
|
|
int32 models[NUMMODELSPERPEDGROUP];
|
|
|
|
};
|
|
|
|
|
2019-06-13 02:35:26 +02:00
|
|
|
class CPopulation
|
|
|
|
{
|
|
|
|
public:
|
2020-03-17 19:03:13 +01:00
|
|
|
static PedGroup ms_pPedGroups[NUMPEDGROUPS];
|
2020-04-14 02:21:16 +02:00
|
|
|
static bool ms_bGivePedsWeapons;
|
|
|
|
static int32 m_AllRandomPedsThisType;
|
|
|
|
static float PedDensityMultiplier;
|
|
|
|
static uint32 ms_nTotalMissionPeds;
|
|
|
|
static int32 MaxNumberOfPedsInUse;
|
2020-09-29 21:53:12 +02:00
|
|
|
static int32 MaxNumberOfPedsInUseInterior;
|
2020-04-14 02:21:16 +02:00
|
|
|
static uint32 ms_nNumCivMale;
|
|
|
|
static uint32 ms_nNumCivFemale;
|
|
|
|
static uint32 ms_nNumCop;
|
|
|
|
static bool bZoneChangeHasHappened;
|
|
|
|
static uint32 ms_nNumEmergency;
|
|
|
|
static int8 m_CountDownToPedsAtStart;
|
|
|
|
static uint32 ms_nNumGang1;
|
|
|
|
static uint32 ms_nNumGang2;
|
|
|
|
static uint32 ms_nTotalPeds;
|
|
|
|
static uint32 ms_nNumGang3;
|
|
|
|
static uint32 ms_nTotalGangPeds;
|
|
|
|
static uint32 ms_nNumGang4;
|
|
|
|
static uint32 ms_nTotalCivPeds;
|
|
|
|
static uint32 ms_nNumGang5;
|
|
|
|
static uint32 ms_nNumDummy;
|
|
|
|
static uint32 ms_nNumGang6;
|
|
|
|
static uint32 ms_nNumGang9;
|
|
|
|
static uint32 ms_nNumGang7;
|
|
|
|
static uint32 ms_nNumGang8;
|
2019-06-25 00:42:23 +02:00
|
|
|
|
2020-05-08 22:29:43 +02:00
|
|
|
static uint32 ms_nTotalCarPassengerPeds;
|
|
|
|
static uint32 NumMiamiViceCops;
|
|
|
|
|
2019-10-18 14:36:40 +02:00
|
|
|
static void Initialise();
|
2020-08-29 18:22:25 +02:00
|
|
|
static void Update(bool);
|
2019-10-18 14:36:40 +02:00
|
|
|
static void LoadPedGroups();
|
2020-02-16 03:15:58 +01:00
|
|
|
static void UpdatePedCount(ePedType, bool);
|
2019-06-28 19:23:28 +02:00
|
|
|
static void DealWithZoneChange(eLevelName oldLevel, eLevelName newLevel, bool);
|
2020-05-17 19:36:48 +02:00
|
|
|
static CPed *AddPedInCar(CVehicle *car, bool isDriver);
|
2020-02-16 03:15:58 +01:00
|
|
|
static void RemovePed(CPed *ent);
|
2020-01-03 17:48:13 +01:00
|
|
|
static int32 ChooseCivilianOccupation(int32);
|
2020-09-29 21:53:12 +02:00
|
|
|
static int32 ChooseNextCivilianOccupation(int32);
|
|
|
|
static void ChooseCivilianCoupleOccupations(int32, int32&, int32&);
|
2020-03-28 15:47:52 +01:00
|
|
|
static int32 ChoosePolicePedOccupation();
|
2020-02-16 03:15:58 +01:00
|
|
|
static int32 ChooseGangOccupation(int);
|
2020-02-18 00:56:13 +01:00
|
|
|
static void GeneratePedsAtStartOfGame();
|
|
|
|
static float PedCreationDistMultiplier();
|
2020-05-10 11:25:30 +02:00
|
|
|
static CPed *AddPed(ePedType pedType, uint32 mi, CVector const &coors, int32 modifier = 0);
|
2020-02-18 00:56:13 +01:00
|
|
|
static void AddToPopulation(float, float, float, float);
|
|
|
|
static void ManagePopulation(void);
|
|
|
|
static void MoveCarsAndPedsOutOfAbandonedZones(void);
|
2020-02-27 17:07:36 +01:00
|
|
|
static void ConvertToRealObject(CDummyObject*);
|
|
|
|
static void ConvertToDummyObject(CObject*);
|
|
|
|
static void ConvertAllObjectsToDummyObjects(void);
|
|
|
|
static bool TestRoomForDummyObject(CObject*);
|
|
|
|
static bool TestSafeForRealObject(CDummyObject*);
|
2020-06-03 15:16:31 +02:00
|
|
|
static bool IsSkateable(CVector const&);
|
2020-06-06 21:16:59 +02:00
|
|
|
static bool CanJeerAtStripper(int32 model);
|
2020-09-29 21:53:12 +02:00
|
|
|
static void RemovePedsIfThePoolGetsFull(void);
|
|
|
|
static bool IsMale(int32);
|
|
|
|
static bool IsFemale(int32);
|
|
|
|
static bool IsSunbather(int32);
|
|
|
|
static int32 ComputeRandomisedGangSize(void);
|
|
|
|
static bool CanSolicitPlayerInCar(int32);
|
|
|
|
static bool CanSolicitPlayerOnFoot(int32);
|
|
|
|
static bool IsSecurityGuard(ePedType);
|
|
|
|
static void PlaceGangMembers(ePedType, int32, CVector const&);
|
|
|
|
static void PlaceGangMembersInFormation(ePedType, int32, CVector const&);
|
|
|
|
static void PlaceGangMembersInCircle(ePedType, int32, CVector const&);
|
|
|
|
static void PlaceCouple(ePedType, int32, ePedType, int32, CVector);
|
|
|
|
static void PlaceMallPedsAsStationaryGroup(CVector const&, int32);
|
2020-05-08 22:29:43 +02:00
|
|
|
static CPed* AddDeadPedInFrontOfCar(const CVector& pos, CVehicle* pCulprit);
|
2019-06-28 12:34:02 +02:00
|
|
|
};
|