2019-06-15 01:34:19 +02:00
|
|
|
#pragma once
|
2019-06-29 11:09:33 +02:00
|
|
|
|
2021-01-16 14:44:59 +01:00
|
|
|
#include "ColModel.h"
|
2019-06-15 01:34:19 +02:00
|
|
|
|
2019-06-17 02:10:55 +02:00
|
|
|
enum eWastedBustedState
|
|
|
|
{
|
|
|
|
WBSTATE_PLAYING,
|
|
|
|
WBSTATE_WASTED,
|
|
|
|
WBSTATE_BUSTED,
|
|
|
|
WBSTATE_FAILED_CRITICAL_MISSION,
|
2019-06-15 01:34:19 +02:00
|
|
|
};
|
|
|
|
|
2020-12-07 01:59:17 +01:00
|
|
|
enum eBustedAudioState
|
2020-05-31 19:59:01 +02:00
|
|
|
{
|
|
|
|
BUSTEDAUDIO_NONE,
|
|
|
|
BUSTEDAUDIO_LOADING,
|
|
|
|
BUSTEDAUDIO_DONE
|
|
|
|
};
|
|
|
|
|
2019-12-02 21:02:32 +01:00
|
|
|
class CEntity;
|
|
|
|
class CPed;
|
2019-06-29 11:09:33 +02:00
|
|
|
class CVehicle;
|
|
|
|
class CPlayerPed;
|
|
|
|
class CCivilianPed;
|
2019-06-15 01:34:19 +02:00
|
|
|
|
2019-06-17 02:10:55 +02:00
|
|
|
class CPlayerInfo
|
|
|
|
{
|
2019-06-15 01:34:19 +02:00
|
|
|
public:
|
|
|
|
CPlayerPed *m_pPed;
|
|
|
|
CVehicle *m_pRemoteVehicle;
|
|
|
|
CColModel m_ColModel;
|
2019-07-26 14:27:13 +02:00
|
|
|
CVehicle *m_pVehicleEx; // vehicle using the col model above
|
2019-06-29 11:09:33 +02:00
|
|
|
char m_aPlayerName[70];
|
2019-06-15 01:34:19 +02:00
|
|
|
int32 m_nMoney;
|
|
|
|
int32 m_nVisibleMoney;
|
|
|
|
int32 m_nCollectedPackages;
|
|
|
|
int32 m_nTotalPackages;
|
2019-09-03 18:53:04 +02:00
|
|
|
uint32 m_nLastBumpPlayerCarTimer;
|
2019-12-10 00:02:02 +01:00
|
|
|
uint32 m_nUnusedTaxiTimer;
|
|
|
|
bool m_bUnusedTaxiThing;
|
2019-11-25 03:25:10 +01:00
|
|
|
uint32 m_nNextSexFrequencyUpdateTime;
|
|
|
|
uint32 m_nNextSexMoneyUpdateTime;
|
2019-06-15 01:34:19 +02:00
|
|
|
int32 m_nSexFrequency;
|
|
|
|
CCivilianPed *m_pHooker;
|
2019-06-29 11:09:33 +02:00
|
|
|
int8 m_WBState; // eWastedBustedState
|
2019-12-02 21:02:32 +01:00
|
|
|
uint32 m_nWBTime;
|
2019-06-17 00:16:38 +02:00
|
|
|
bool m_bInRemoteMode;
|
2020-08-13 22:39:55 +02:00
|
|
|
bool field_D5;
|
|
|
|
bool field_D6;
|
2019-07-25 16:33:37 +02:00
|
|
|
uint32 m_nTimeLostRemoteCar;
|
|
|
|
uint32 m_nTimeLastHealthLoss;
|
|
|
|
uint32 m_nTimeLastArmourLoss;
|
|
|
|
uint32 m_nTimeTankShotGun;
|
2019-06-15 01:34:19 +02:00
|
|
|
int32 m_nUpsideDownCounter;
|
2020-08-13 22:39:55 +02:00
|
|
|
int32 field_EC;
|
|
|
|
int32 m_nTimeCarSpentOnTwoWheels;
|
2021-07-23 23:59:19 +02:00
|
|
|
float m_nDistanceCarTravelledOnTwoWheels;
|
2020-08-13 22:39:55 +02:00
|
|
|
int32 m_nTimeNotFullyOnGround;
|
|
|
|
int32 m_nTimeSpentOnWheelie;
|
|
|
|
float m_nDistanceTravelledOnWheelie;
|
|
|
|
int32 m_nTimeSpentOnStoppie;
|
|
|
|
float m_nDistanceTravelledOnStoppie;
|
|
|
|
int32 m_nCancelWheelStuntTimer;
|
2020-08-14 17:54:01 +02:00
|
|
|
int32 m_nLastTimeCarSpentOnTwoWheels;
|
2021-07-23 23:59:19 +02:00
|
|
|
float m_nLastDistanceCarTravelledOnTwoWheels;
|
2020-08-14 17:54:01 +02:00
|
|
|
int32 m_nLastTimeSpentOnWheelie;
|
2021-07-23 23:59:19 +02:00
|
|
|
float m_nLastDistanceTravelledOnWheelie;
|
2020-08-14 17:54:01 +02:00
|
|
|
int32 m_nLastTimeSpentOnStoppie;
|
2021-07-23 23:59:19 +02:00
|
|
|
float m_nLastDistanceTravelledOnStoppie;
|
2019-06-15 01:34:19 +02:00
|
|
|
int16 m_nTrafficMultiplier;
|
2020-08-13 22:39:55 +02:00
|
|
|
int16 field_12A;
|
2019-06-17 00:16:38 +02:00
|
|
|
float m_fRoadDensity;
|
2019-11-25 03:25:10 +01:00
|
|
|
uint32 m_nPreviousTimeRewardedForExplosion;
|
2020-08-13 22:39:55 +02:00
|
|
|
uint32 m_nExplosionsSinceLastReward;
|
2020-05-22 01:42:04 +02:00
|
|
|
uint32 m_nHavocLevel;
|
2020-05-24 15:14:27 +02:00
|
|
|
float m_fMediaAttention;
|
2019-06-17 00:16:38 +02:00
|
|
|
bool m_bInfiniteSprint;
|
|
|
|
bool m_bFastReload;
|
2020-05-16 22:06:33 +02:00
|
|
|
bool m_bFireproof;
|
|
|
|
uint8 m_nMaxHealth;
|
|
|
|
uint8 m_nMaxArmour;
|
2019-06-17 00:16:38 +02:00
|
|
|
bool m_bGetOutOfJailFree;
|
|
|
|
bool m_bGetOutOfHospitalFree;
|
2020-05-17 19:36:48 +02:00
|
|
|
bool m_bDriveByAllowed;
|
2020-12-07 01:59:17 +01:00
|
|
|
uint8 m_nBustedAudioStatus;
|
2020-05-31 19:59:01 +02:00
|
|
|
int16 m_nCurrentBustedAudio;
|
2020-12-18 01:58:09 +01:00
|
|
|
#ifdef GTA_PC
|
2019-07-10 09:57:08 +02:00
|
|
|
char m_aSkinName[32];
|
2019-06-15 01:34:19 +02:00
|
|
|
RwTexture *m_pSkinTexture;
|
2020-12-18 01:58:09 +01:00
|
|
|
#endif
|
2019-07-04 00:16:24 +02:00
|
|
|
|
|
|
|
void MakePlayerSafe(bool);
|
2020-05-05 03:45:18 +02:00
|
|
|
const CVector &GetPos();
|
2019-09-12 02:43:18 +02:00
|
|
|
void Process(void);
|
2019-10-07 23:29:30 +02:00
|
|
|
void KillPlayer(void);
|
|
|
|
void ArrestPlayer(void);
|
2019-10-21 23:39:59 +02:00
|
|
|
bool IsPlayerInRemoteMode(void);
|
|
|
|
void PlayerFailedCriticalMission(void);
|
2019-12-02 21:02:32 +01:00
|
|
|
void Clear(void);
|
2020-05-22 01:42:04 +02:00
|
|
|
void BlowUpRCBuggy(bool);
|
2019-12-02 21:02:32 +01:00
|
|
|
void CancelPlayerEnteringCars(CVehicle*);
|
|
|
|
bool IsRestartingAfterDeath(void);
|
|
|
|
bool IsRestartingAfterArrest(void);
|
|
|
|
void EvaluateCarPosition(CEntity*, CPed*, float, float*, CVehicle**);
|
|
|
|
void LoadPlayerInfo(uint8 *buf, uint32 size);
|
|
|
|
void SavePlayerInfo(uint8 *buf, uint32* size);
|
2019-12-10 00:02:02 +01:00
|
|
|
void FindClosestCarSectorList(CPtrList&, CPed*, float, float, float, float, float*, CVehicle**);
|
2019-12-02 21:02:32 +01:00
|
|
|
|
2020-12-18 01:58:09 +01:00
|
|
|
#ifdef GTA_PC
|
|
|
|
void LoadPlayerSkin();
|
|
|
|
void SetPlayerSkin(const char *skin);
|
|
|
|
void DeletePlayerSkin();
|
|
|
|
#endif
|
2019-06-15 01:34:19 +02:00
|
|
|
};
|
2020-12-18 01:58:09 +01:00
|
|
|
|
|
|
|
CPlayerPed *FindPlayerPed(void);
|
|
|
|
CVehicle *FindPlayerVehicle(void);
|
|
|
|
CVehicle *FindPlayerTrain(void);
|
|
|
|
CEntity *FindPlayerEntity(void);
|
|
|
|
CVector FindPlayerCoors(void);
|
|
|
|
const CVector &FindPlayerSpeed(void);
|
|
|
|
const CVector &FindPlayerCentreOfWorld(int32 player);
|
|
|
|
const CVector &FindPlayerCentreOfWorld_NoSniperShift(void);
|
|
|
|
float FindPlayerHeading(void);
|