summaryrefslogblamecommitdiffstats
path: root/src/peds/PlayerPed.h
blob: ecef9bef4090fc852b649d34f21795795abb8111 (plain) (tree)
1
2
3
4
5
6
7
8
9
10


                
                   
 

                              
       

                                 



                                 
                                 

                               


                            

                                                       




                                       

                                 

                        
                                 
                             


                        

                                                                                          
                           
                                
 
                     

                      
                                    
                                     

                                               
                                             
                                  



                                           



                                               
  
 
                                                                
#pragma once

#include "Ped.h"
#include "Wanted.h"

class CPlayerPed : public CPed
{
public:
	CWanted *m_pWanted;
	CCopPed *m_pArrestingCop;
	float m_fMoveSpeed;
	float m_fCurrentStamina;
	float m_fMaxStamina;
	float m_fStaminaProgress;
	uint8 m_nSelectedWepSlot;
	bool m_bSpeedTimerFlag;
	bool m_bShouldEvade;
	int8 field_1367;
	int32 m_nSpeedTimer;
	int32 m_nShotDelay;
	float field_1376; // m_fAttackButtonCounter?
	int8 field_1380;	// bHaveTargetSelected?
	int8 field_1381;
	int8 field_1382;
	int8 field_1383;
	CEntity *m_pEvadingFrom;
	int32 m_nTargettableObjects[4];
	bool m_bAdrenalineActive;
	bool m_bHasLockOnTarget;
	int8 field_1406;
	int8 field_1407;
	uint32 m_bAdrenalineTime;
	bool m_bCanBeDamaged;
	int8 field_1413;
	int8 field_1414;
	int8 field_1415;
	CVector m_vecSafePos[6]; // safe places from the player, for example behind a tree
	int32 field_1488[6]; // m_pPedAtSafePos?
	float m_fWalkAngle;
	float m_fFPSMoveHeading;

	CPlayerPed();
	~CPlayerPed();

	void ReApplyMoveAnims(void);
	void ClearWeaponTarget(void);
	void SetWantedLevel(int32 level);
	void SetWantedLevelNoDrop(int32 level);
	void KeepAreaAroundPlayerClear(void);
	void AnnoyPlayerPed(bool);
	void MakeChangesForNewWeapon(int8);
	void SetInitialState(void);
	void SetMoveAnim(void);
	void ProcessControl(void);

	static void SetupPlayerPed(int32);
	static void DeactivatePlayerPed(int32);
	static void ReactivatePlayerPed(int32);
};

static_assert(sizeof(CPlayerPed) == 0x5F0, "CPlayerPed: error");