From db6110e996756672595f3d0e69b8e96977a534e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?eray=20or=C3=A7unus?= Date: Sat, 13 Jun 2020 23:39:14 +0300 Subject: Peds, mission switcher & fixes --- src/peds/Ped.h | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'src/peds/Ped.h') diff --git a/src/peds/Ped.h b/src/peds/Ped.h index 6338b889..6fd96b66 100644 --- a/src/peds/Ped.h +++ b/src/peds/Ped.h @@ -10,11 +10,11 @@ #include "Weapon.h" #include "WeaponInfo.h" #include "AnimationId.h" +#include "PathFind.h" #define FEET_OFFSET 1.04f #define CHECK_NEARBY_THINGS_MAX_DIST 15.0f -struct CPathNode; class CAccident; class CObject; class CFire; @@ -346,6 +346,9 @@ enum eMoveState { PEDMOVE_NONE, PEDMOVE_STILL, PEDMOVE_WALK, + + PEDMOVE_UNK, + PEDMOVE_RUN, PEDMOVE_SPRINT, }; @@ -521,13 +524,20 @@ public: int32 m_nPrevMoveState; eWaitState m_nWaitState; uint32 m_nWaitTimer; - void *m_pPathNodesStates[8]; // unused, probably leftover from VC - CVector2D m_stPathNodeStates[10]; - uint16 m_nPathNodes; - int16 m_nCurPathNode; - int8 m_nPathDir; - CPathNode *m_pLastPathNode; - CPathNode *m_pNextPathNode; + CPathNode* m_pathNodesToGo[8]; + int16 m_nNumPathNodes; + int16 m_nCurPathNodeId; + CEntity* m_followPathWalkAroundEnt; + CEntity* m_followPathTargetEnt; + uint32 m_pathNodeTimer; + CPathNode m_pathNodeObjPool[8]; + CPathNode* m_pCurPathNode; + char m_nPathDir; + CPathNode* m_pLastPathNode; + CPathNode* m_pNextPathNode; + CVector m_followPathDestPos; + float m_followPathAbortDist; + eMoveState m_followPathMoveState; float m_fHealth; float m_fArmour; uint32 m_nExtendedRangeTimer; @@ -756,6 +766,7 @@ public: void RemoveInCarAnims(void); void CollideWithPed(CPed*); void SetDirectionToWalkAroundObject(CEntity*); + bool SetDirectionToWalkAroundVehicle(CVehicle*); void RemoveWeaponAnims(int, float); void CreateDeadPedMoney(void); void CreateDeadPedWeaponPickups(void); @@ -778,7 +789,7 @@ public: bool FindBestCoordsFromNodes(CVector, CVector*); void Wait(void); void ProcessObjective(void); - bool SeekFollowingPath(CVector*); + CVector *SeekFollowingPath(void); void Flee(void); void FollowPath(void); CVector GetFormationPosition(void); -- cgit v1.2.3 From c4e129509b9ca8eb8136807a3d36cf93b5498390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?eray=20or=C3=A7unus?= Date: Mon, 15 Jun 2020 23:43:20 +0300 Subject: Peds & fixes continues --- src/peds/Ped.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/peds/Ped.h') diff --git a/src/peds/Ped.h b/src/peds/Ped.h index 6fd96b66..69d1ba5a 100644 --- a/src/peds/Ped.h +++ b/src/peds/Ped.h @@ -594,6 +594,7 @@ public: CEntity *m_pPointGunAt; CVector m_vecHitLastPos; uint32 m_lastFightMove; + uint32 m_lastHitState; // TODO(Miami): What's this? uint8 m_fightButtonPressure; FightState m_fightState; bool m_takeAStepAfterAttack; @@ -756,7 +757,8 @@ public: void SetAttack(CEntity*); void StartFightAttack(uint8); void SetWaitState(eWaitState, void*); - bool FightStrike(CVector&); + bool FightStrike(CVector&, bool); + void FightHitPed(CPed*, CVector&, CVector&, int16); int GetLocalDirection(const CVector2D &); void StartFightDefend(uint8, uint8, uint8); void PlayHitSound(CPed*); @@ -1020,6 +1022,13 @@ public: else return (AnimationId)0; } + + static AnimationId GetFightIdleWithMeleeAnim(CWeaponInfo* weapon) { + if (!!weapon->m_bFightMode) + return ANIM_MELEE_IDLE_FIGHTMODE; + else + return (AnimationId)0; + } // -- // My additions, because there were many, many instances of that. -- cgit v1.2.3