summaryrefslogtreecommitdiff
path: root/src/core/PlayerInfo.h
diff options
context:
space:
mode:
authorclaude-bot <[email protected]>2026-07-13 12:27:07 +0000
committerclaude-bot <[email protected]>2026-07-13 12:27:07 +0000
commit9f61c9e6ac6b1ac5692cf6352d2ebbd47a31a686 (patch)
treea84756b82513739a2672db3a1f0ec579db6d18ff /src/core/PlayerInfo.h
downloadre3-miami.tar.gz
re3-miami.zip
Import Cai1Hsu/re3 @ miami (reVC / GTA:VC decompilation)HEADmiami
Snapshot import (no upstream history) into git.ancap.in.ua/claude, per @lzcnt. Source: https://github.com/Cai1Hsu/re3 branch miami.
Diffstat (limited to 'src/core/PlayerInfo.h')
-rw-r--r--src/core/PlayerInfo.h124
1 files changed, 124 insertions, 0 deletions
diff --git a/src/core/PlayerInfo.h b/src/core/PlayerInfo.h
new file mode 100644
index 0000000..a24185f
--- /dev/null
+++ b/src/core/PlayerInfo.h
@@ -0,0 +1,124 @@
+#pragma once
+
+#include "ColModel.h"
+
+enum eWastedBustedState
+{
+ WBSTATE_PLAYING,
+ WBSTATE_WASTED,
+ WBSTATE_BUSTED,
+ WBSTATE_FAILED_CRITICAL_MISSION,
+};
+
+enum eBustedAudioState
+{
+ BUSTEDAUDIO_NONE,
+ BUSTEDAUDIO_LOADING,
+ BUSTEDAUDIO_DONE
+};
+
+class CEntity;
+class CPed;
+class CVehicle;
+class CPlayerPed;
+class CCivilianPed;
+
+class CPlayerInfo
+{
+public:
+ CPlayerPed *m_pPed;
+ CVehicle *m_pRemoteVehicle;
+ CColModel m_ColModel;
+ CVehicle *m_pVehicleEx; // vehicle using the col model above
+ char m_aPlayerName[70];
+ int32 m_nMoney;
+ int32 m_nVisibleMoney;
+ int32 m_nCollectedPackages;
+ int32 m_nTotalPackages;
+ uint32 m_nLastBumpPlayerCarTimer;
+ uint32 m_nUnusedTaxiTimer;
+ bool m_bUnusedTaxiThing;
+ uint32 m_nNextSexFrequencyUpdateTime;
+ uint32 m_nNextSexMoneyUpdateTime;
+ int32 m_nSexFrequency;
+ CCivilianPed *m_pHooker;
+ int8 m_WBState; // eWastedBustedState
+ uint32 m_nWBTime;
+ bool m_bInRemoteMode;
+ bool field_D5;
+ bool field_D6;
+ uint32 m_nTimeLostRemoteCar;
+ uint32 m_nTimeLastHealthLoss;
+ uint32 m_nTimeLastArmourLoss;
+ uint32 m_nTimeTankShotGun;
+ int32 m_nUpsideDownCounter;
+ int32 field_EC;
+ int32 m_nTimeCarSpentOnTwoWheels;
+ int32 m_nDistanceCarTravelledOnTwoWheels;
+ int32 m_nTimeNotFullyOnGround;
+ int32 m_nTimeSpentOnWheelie;
+ float m_nDistanceTravelledOnWheelie;
+ int32 m_nTimeSpentOnStoppie;
+ float m_nDistanceTravelledOnStoppie;
+ int32 m_nCancelWheelStuntTimer;
+ int32 m_nLastTimeCarSpentOnTwoWheels;
+ int32 m_nLastDistanceCarTravelledOnTwoWheels;
+ int32 m_nLastTimeSpentOnWheelie;
+ int32 m_nLastDistanceTravelledOnWheelie;
+ int32 m_nLastTimeSpentOnStoppie;
+ int32 m_nLastDistanceTravelledOnStoppie;
+ int16 m_nTrafficMultiplier;
+ int16 field_12A;
+ float m_fRoadDensity;
+ uint32 m_nPreviousTimeRewardedForExplosion;
+ uint32 m_nExplosionsSinceLastReward;
+ uint32 m_nHavocLevel;
+ float m_fMediaAttention;
+ bool m_bInfiniteSprint;
+ bool m_bFastReload;
+ bool m_bFireproof;
+ uint8 m_nMaxHealth;
+ uint8 m_nMaxArmour;
+ bool m_bGetOutOfJailFree;
+ bool m_bGetOutOfHospitalFree;
+ bool m_bDriveByAllowed;
+ uint8 m_nBustedAudioStatus;
+ int16 m_nCurrentBustedAudio;
+#ifdef GTA_PC
+ char m_aSkinName[32];
+ RwTexture *m_pSkinTexture;
+#endif
+
+ void MakePlayerSafe(bool);
+ const CVector &GetPos();
+ void Process(void);
+ void KillPlayer(void);
+ void ArrestPlayer(void);
+ bool IsPlayerInRemoteMode(void);
+ void PlayerFailedCriticalMission(void);
+ void Clear(void);
+ void BlowUpRCBuggy(bool);
+ 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);
+ void FindClosestCarSectorList(CPtrList&, CPed*, float, float, float, float, float*, CVehicle**);
+
+#ifdef GTA_PC
+ void LoadPlayerSkin();
+ void SetPlayerSkin(const char *skin);
+ void DeletePlayerSkin();
+#endif
+};
+
+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); \ No newline at end of file