1
0
Fork 0
mirror of https://git.rip/DMCA_FUCKER/re3.git synced 2024-06-29 10:37:06 +00:00
re3/src/peds/Population.h

89 lines
3 KiB
C
Raw Normal View History

2019-06-13 00:35:26 +00:00
#pragma once
2019-07-31 15:54:18 +00:00
#include "Game.h"
2020-02-16 02:15:58 +00:00
#include "PedType.h"
2019-07-31 15:54:18 +00:00
2019-07-05 12:23:39 +00:00
class CPed;
class CVehicle;
2020-02-22 12:53:41 +00:00
class CDummyObject;
2020-03-28 14:47:52 +00:00
class CObject;
2019-06-24 22:42:23 +00:00
2019-06-28 10:34:02 +00:00
struct PedGroup
{
2020-02-16 02:15:58 +00:00
int32 models[NUMMODELSPERPEDGROUP];
};
2019-06-13 00:35:26 +00:00
class CPopulation
{
public:
2020-03-17 18:03:13 +00:00
static PedGroup ms_pPedGroups[NUMPEDGROUPS];
2020-04-14 00:21:16 +00:00
static bool ms_bGivePedsWeapons;
static int32 m_AllRandomPedsThisType;
static float PedDensityMultiplier;
static uint32 ms_nTotalMissionPeds;
static int32 MaxNumberOfPedsInUse;
static int32 MaxNumberOfPedsInUseInterior;
2020-04-14 00:21:16 +00: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-24 22:42:23 +00:00
2020-05-08 20:29:43 +00:00
static uint32 ms_nTotalCarPassengerPeds;
static uint32 NumMiamiViceCops;
2019-10-18 12:36:40 +00:00
static void Initialise();
2020-08-29 16:22:25 +00:00
static void Update(bool);
2019-10-18 12:36:40 +00:00
static void LoadPedGroups();
2020-02-16 02:15:58 +00:00
static void UpdatePedCount(ePedType, bool);
2019-06-28 17:23:28 +00:00
static void DealWithZoneChange(eLevelName oldLevel, eLevelName newLevel, bool);
2020-05-17 17:36:48 +00:00
static CPed *AddPedInCar(CVehicle *car, bool isDriver);
2020-02-16 02:15:58 +00:00
static void RemovePed(CPed *ent);
2020-01-03 16:48:13 +00:00
static int32 ChooseCivilianOccupation(int32);
static int32 ChooseNextCivilianOccupation(int32);
static void ChooseCivilianCoupleOccupations(int32, int32&, int32&);
2020-03-28 14:47:52 +00:00
static int32 ChoosePolicePedOccupation();
2020-02-16 02:15:58 +00:00
static int32 ChooseGangOccupation(int);
2020-02-17 23:56:13 +00:00
static void GeneratePedsAtStartOfGame();
static float PedCreationDistMultiplier();
2020-05-10 09:25:30 +00:00
static CPed *AddPed(ePedType pedType, uint32 mi, CVector const &coors, int32 modifier = 0);
2020-02-17 23:56:13 +00:00
static void AddToPopulation(float, float, float, float);
static void ManagePopulation(void);
static void MoveCarsAndPedsOutOfAbandonedZones(void);
2020-02-27 16:07:36 +00:00
static void ConvertToRealObject(CDummyObject*);
static void ConvertToDummyObject(CObject*);
static void ConvertAllObjectsToDummyObjects(void);
static bool TestRoomForDummyObject(CObject*);
static bool TestSafeForRealObject(CDummyObject*);
2020-06-03 13:16:31 +00:00
static bool IsSkateable(CVector const&);
2020-06-06 19:16:59 +00:00
static bool CanJeerAtStripper(int32 model);
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 20:29:43 +00:00
static CPed* AddDeadPedInFrontOfCar(const CVector& pos, CVehicle* pCulprit);
2019-06-28 10:34:02 +00:00
};