Merge pull request #631 from erorcun/miami

Peds, mission switcher & fixes
This commit is contained in:
erorcun
2020-06-14 22:59:02 +03:00
committed by GitHub
10 changed files with 838 additions and 186 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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);

View File

@ -4,47 +4,65 @@
#include "General.h"
#include "Ped.h"
// --MIAMI: Done
// Corresponds to ped sounds (from SOUND_PED_DEATH to SOUND_PED_TAXI_CALL)
PedAudioData CommentWaitTime[39] = {
{500, 800, 500, 2},
{500, 800, 500, 2},
{500, 800, 500, 2},
{500, 800, 500, 2},
{100, 2, 100, 2},
{700, 500, 1000, 500},
{700, 500, 1000, 500},
{5000, 2000, 15000, 3000},
{5000, 2000, 15000, 3000},
{5000, 2000, 15000, 3000},
{6000, 6000, 6000, 6000},
{1000, 1000, 2000, 2000},
{1000, 500, 2000, 1500},
{1000, 500, 2000, 1500},
{800, 200, 1000, 500},
{800, 200, 1000, 500},
{800, 400, 2000, 1000},
{800, 400, 2000, 1000},
{400, 300, 2000, 1000},
{2000, 1000, 2500, 1500},
{200, 200, 200, 200},
{6000, 3000, 5000, 6000},
{6000, 3000, 9000, 5000},
{6000, 3000, 9000, 5000},
{6000, 3000, 9000, 5000},
{400, 300, 4000, 1000},
{400, 300, 4000, 1000},
{400, 300, 4000, 1000},
{1000, 500, 3000, 1000},
{1000, 500, 1000, 1000},
{3000, 2000, 3000, 2000},
{1000, 500, 3000, 6000},
{1000, 500, 2000, 4000},
{1000, 500, 2000, 5000},
{1000, 500, 3000, 2000},
{1600, 1000, 2000, 2000},
{3000, 2000, 5000, 3000},
{1000, 1000, 1000, 1000},
{1000, 1000, 5000, 5000},
PedAudioData CommentWaitTime[56] = {
{ 500, 800, 500, 2 },
{ 500, 800, 500, 2 },
{ 500, 800, 500, 2 },
{ 500, 800, 500, 2 },
{ 100, 2, 100, 2 },
{ 500, 500, 2000, 1000 },
{ 2000, 50, 2050, 1000 },
{ 5000, 2000, 7000, 3000 },
{ 5000, 2000, 7000, 3000 },
{ 300, 200, 500, 200 },
{ 3000, 1000, 4000, 1000 },
{ 6000, 6000, 6000, 6000 },
{ 4000, 1000, 5000, 1000 },
{ 3000, 1000, 4000, 1000 },
{ 1000, 1000, 2000, 2000 },
{ 1000, 500, 2000, 1500 },
{ 1700, 1000, 3000, 1000 },
{ 800, 200, 1000, 500 },
{ 800, 200, 1000, 500 },
{ 800, 400, 2000, 1000 },
{ 800, 400, 2000, 1000 },
{ 2000, 2000, 4000, 4000 },
{ 2000, 2000, 4000, 1000 },
{ 4000, 1000, 5000, 1000 },
{ 800, 400, 1200, 500 },
{ 5000, 1000, 6000, 2000 },
{ 5000, 1000, 6000, 2000 },
{ 5000, 1000, 6000, 2000 },
{ 5000, 1000, 6000, 2000 },
{ 5000, 1000, 6000, 2000 },
{ 5000, 1000, 6000, 2000 },
{ 5000, 1000, 6000, 2000 },
{ 4000, 2000, 7000, 2000 },
{ 1000, 300, 2000, 1000 },
{ 1500, 1000, 2500, 1000 },
{ 200, 200, 200, 200 },
{ 2000, 1000, 4000, 1000 },
{ 2000, 1000, 4000, 1000 },
{ 1000, 500, 3000, 1000 },
{ 1000, 500, 1000, 1000 },
{ 3000, 2000, 5000, 1000 },
{ 3000, 2000, 5000, 1000 },
{ 3000, 2000, 3000, 2000 },
{ 2000, 1000, 3000, 1000 },
{ 2500, 1000, 5000, 5000 },
{ 2000, 1000, 3000, 2000 },
{ 4000, 1000, 5000, 1000 },
{ 1000, 500, 2000, 4000 },
{ 1000, 500, 2000, 5000 },
{ 2000, 500, 2500, 500 },
{ 1000, 500, 3000, 2000 },
{ 1600, 1000, 2000, 2000 },
{ 2000, 1000, 4000, 2000 },
{ 1500, 1000, 2500, 1000 },
{ 1000, 1000, 5000, 5000 },
{ 0, 0, 0, 0 }
};
// --MIAMI: Done
@ -54,7 +72,7 @@ CPed::ServiceTalkingWhenDead(void)
return m_queuedSound == SOUND_PED_DEATH;
}
// --MIAMI: Done except ifdef
// --MIAMI: Done
void
CPed::ServiceTalking(void)
{
@ -84,7 +102,7 @@ CPed::ServiceTalking(void)
}
}
// --MIAMI: Done except ifdef
// --MIAMI: Done
void
CPed::Say(uint16 audio)
{