Re3/src/core/PlayerInfo.h

97 lines
2.3 KiB
C
Raw Normal View History

2019-06-14 19:34:19 -04:00
#pragma once
2019-06-29 05:09:33 -04:00
#include "Collision.h"
2019-06-14 19:34:19 -04:00
enum eWastedBustedState
{
WBSTATE_PLAYING,
WBSTATE_WASTED,
WBSTATE_BUSTED,
WBSTATE_FAILED_CRITICAL_MISSION,
2019-06-14 19:34:19 -04:00
};
2019-12-02 15:02:32 -05:00
class CEntity;
class CPed;
2019-06-29 05:09:33 -04:00
class CVehicle;
class CPlayerPed;
class CCivilianPed;
2019-06-14 19:34:19 -04:00
class CPlayerInfo
{
2019-06-14 19:34:19 -04:00
public:
CPlayerPed *m_pPed;
CVehicle *m_pRemoteVehicle;
CColModel m_ColModel;
CVehicle *m_pVehicleEx; // vehicle using the col model above
2019-06-29 05:09:33 -04:00
char m_aPlayerName[70];
2019-06-14 19:34:19 -04:00
int32 m_nMoney;
int32 m_nVisibleMoney;
int32 m_nCollectedPackages;
int32 m_nTotalPackages;
2019-09-03 12:53:04 -04:00
uint32 m_nLastBumpPlayerCarTimer;
2019-12-09 18:02:02 -05:00
uint32 m_nUnusedTaxiTimer;
bool m_bUnusedTaxiThing;
2019-06-14 19:34:19 -04:00
int8 field_197;
int8 field_198;
int8 field_199;
uint32 m_nNextSexFrequencyUpdateTime;
uint32 m_nNextSexMoneyUpdateTime;
2019-06-14 19:34:19 -04:00
int32 m_nSexFrequency;
CCivilianPed *m_pHooker;
2019-06-29 05:09:33 -04:00
int8 m_WBState; // eWastedBustedState
2019-06-14 19:34:19 -04:00
int8 field_217;
int8 field_218;
int8 field_219;
2019-12-02 15:02:32 -05:00
uint32 m_nWBTime;
2019-06-16 18:16:38 -04:00
bool m_bInRemoteMode;
2019-06-14 19:34:19 -04:00
int8 field_225;
int8 field_226;
int8 field_227;
2019-07-25 10:33:37 -04:00
uint32 m_nTimeLostRemoteCar;
uint32 m_nTimeLastHealthLoss;
uint32 m_nTimeLastArmourLoss;
uint32 m_nTimeTankShotGun;
2019-06-14 19:34:19 -04:00
int32 m_nUpsideDownCounter;
int32 field_248;
int16 m_nTrafficMultiplier;
int8 field_254;
int8 field_255;
2019-06-16 18:16:38 -04:00
float m_fRoadDensity;
uint32 m_nPreviousTimeRewardedForExplosion;
2019-06-14 19:34:19 -04:00
int32 m_nExplosionsSinceLastReward;
int32 field_268;
int32 field_272;
2019-06-16 18:16:38 -04:00
bool m_bInfiniteSprint;
bool m_bFastReload;
bool m_bGetOutOfJailFree;
bool m_bGetOutOfHospitalFree;
2019-07-10 03:57:08 -04:00
char m_aSkinName[32];
2019-06-14 19:34:19 -04:00
RwTexture *m_pSkinTexture;
2019-07-03 18:16:24 -04:00
void MakePlayerSafe(bool);
2019-07-10 03:57:08 -04:00
void LoadPlayerSkin();
2019-09-28 14:39:58 -04:00
void DeletePlayerSkin();
2019-07-10 03:57:08 -04:00
void AwardMoneyForExplosion(CVehicle *vehicle);
void SetPlayerSkin(char* skin);
2019-07-25 16:34:29 -04:00
CVector& GetPos();
2019-09-11 20:43:18 -04:00
void Process(void);
2019-10-07 17:29:30 -04:00
void KillPlayer(void);
void ArrestPlayer(void);
2019-10-21 17:39:59 -04:00
bool IsPlayerInRemoteMode(void);
void PlayerFailedCriticalMission(void);
2019-12-02 15:02:32 -05:00
void Clear(void);
void BlowUpRCBuggy(void);
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-09 18:02:02 -05:00
void FindClosestCarSectorList(CPtrList&, CPed*, float, float, float, float, float*, CVehicle**);
2019-12-02 15:02:32 -05:00
~CPlayerInfo() { };
void dtor(void) { this->CPlayerInfo::~CPlayerInfo(); }
2019-06-14 19:34:19 -04:00
};
2019-06-29 05:09:33 -04:00
static_assert(sizeof(CPlayerInfo) == 0x13C, "CPlayerInfo: error");