re3-wiiu/src/peds/PlayerPed.h

83 lines
2.3 KiB
C
Raw Normal View History

2019-06-02 17:13:56 +02:00
#pragma once
#include "Ped.h"
2020-03-28 15:47:52 +01:00
class CPad;
class CCopPed;
class CWanted;
2019-06-02 17:13:56 +02:00
class CPlayerPed : public CPed
{
2019-06-02 17:13:56 +02:00
public:
2019-06-15 01:34:19 +02:00
CWanted *m_pWanted;
CCopPed *m_pArrestingCop;
2019-06-17 00:16:38 +02:00
float m_fMoveSpeed;
float m_fCurrentStamina;
float m_fMaxStamina;
float m_fStaminaProgress;
2020-01-11 18:36:46 +01:00
int8 m_nSelectedWepSlot; // eWeaponType
2019-06-17 00:16:38 +02:00
bool m_bSpeedTimerFlag;
2020-02-13 21:34:36 +01:00
uint8 m_nEvadeAmount;
2019-06-15 01:34:19 +02:00
int8 field_1367;
2020-02-13 00:33:21 +01:00
uint32 m_nSpeedTimer;
2020-04-15 07:03:53 +02:00
uint32 m_nHitAnimDelayTimer;
2020-04-15 19:34:58 +02:00
float m_fAttackButtonCounter;
2020-01-23 21:21:50 +01:00
bool m_bHaveTargetSelected; // may have better name
CEntity *m_pEvadingFrom; // is this CPhysical?
2019-06-15 01:34:19 +02:00
int32 m_nTargettableObjects[4];
2019-06-17 00:16:38 +02:00
bool m_bAdrenalineActive;
bool m_bHasLockOnTarget;
2019-09-13 21:04:55 +02:00
uint32 m_nAdrenalineTime;
2019-06-17 00:16:38 +02:00
bool m_bCanBeDamaged;
2019-06-15 01:34:19 +02:00
int8 field_1413;
2019-08-02 00:04:30 +02:00
CVector m_vecSafePos[6]; // safe places from the player, for example behind a tree
2019-09-29 18:44:51 +02:00
CPed *m_pPedAtSafePos[6];
float m_fWalkAngle;
2019-06-17 00:16:38 +02:00
float m_fFPSMoveHeading;
2019-06-29 13:38:37 +02:00
2019-08-02 00:04:30 +02:00
CPlayerPed();
~CPlayerPed();
2019-12-26 23:15:27 +01:00
void SetMoveAnim() { };
2019-06-29 13:38:37 +02:00
void ReApplyMoveAnims(void);
2019-08-02 00:04:30 +02:00
void ClearWeaponTarget(void);
2019-07-09 18:50:35 +02:00
void SetWantedLevel(int32 level);
void SetWantedLevelNoDrop(int32 level);
2019-07-11 12:48:49 +02:00
void KeepAreaAroundPlayerClear(void);
void AnnoyPlayerPed(bool);
2019-08-02 00:04:30 +02:00
void MakeChangesForNewWeapon(int8);
void SetInitialState(void);
void ProcessControl(void);
2019-09-13 21:04:55 +02:00
void ClearAdrenaline(void);
2019-12-26 23:15:27 +01:00
void UseSprintEnergy(void);
2019-10-07 23:29:30 +02:00
class CPlayerInfo *GetPlayerInfoForThisPlayerPed();
2019-12-26 23:15:27 +01:00
void SetRealMoveAnim(void);
void RestoreSprintEnergy(float);
bool DoWeaponSmoothSpray(void);
void DoStuffToGoOnFire(void);
bool DoesTargetHaveToBeBroken(CVector, CWeapon*);
void RunningLand(CPad*);
bool IsThisPedAttackingPlayer(CPed*);
void PlayerControlSniper(CPad*);
void PlayerControlM16(CPad*);
void PlayerControlFighter(CPad*);
void ProcessWeaponSwitch(CPad*);
2020-01-03 17:48:13 +01:00
void MakeObjectTargettable(int32);
2020-01-23 21:21:50 +01:00
void PlayerControl1stPersonRunAround(CPad *padUsed);
void EvaluateNeighbouringTarget(CEntity*, CEntity**, float*, float, float, bool);
void EvaluateTarget(CEntity*, CEntity**, float*, float, float, bool);
bool FindNextWeaponLockOnTarget(CEntity*, bool);
bool FindWeaponLockOnTarget(void);
void ProcessAnimGroups(void);
void ProcessPlayerWeapon(CPad*);
2020-02-13 00:33:21 +01:00
void PlayerControlZelda(CPad*);
2019-07-09 22:38:05 +02:00
static void SetupPlayerPed(int32);
static void DeactivatePlayerPed(int32);
static void ReactivatePlayerPed(int32);
2019-06-02 17:13:56 +02:00
};
2019-06-15 01:34:19 +02:00
#ifndef PED_SKIN
2019-06-02 17:13:56 +02:00
static_assert(sizeof(CPlayerPed) == 0x5F0, "CPlayerPed: error");
#endif