re3/src/peds/EmergencyPed.h

41 lines
1 KiB
C
Raw Normal View History

2019-06-02 15:13:56 +00:00
#pragma once
#include "Ped.h"
2019-12-22 15:28:16 +00:00
class CAccident;
class CFire;
enum EmergencyPedState
{
EMERGENCY_PED_READY = 0x0,
EMERGENCY_PED_DETERMINE_NEXT_STATE = 0x1, // you can set that anytime you want
EMERGENCY_PED_START_CPR = 0x2,
EMERGENCY_PED_FLAG_4 = 0x4, // unused
EMERGENCY_PED_FLAG_8 = 0x8, // unused
EMERGENCY_PED_FACE_TO_PATIENT = 0x10, // for CPR
EMERGENCY_PED_PERFORM_CPR = 0x20,
EMERGENCY_PED_STOP_CPR = 0x40,
EMERGENCY_PED_STAND_STILL = 0x80, // waiting colleagues for medics, "extinguishing" fire for firemen
EMERGENCY_PED_STOP = 0x100,
};
2019-06-02 15:13:56 +00:00
class CEmergencyPed : public CPed
{
public:
// 0x53C
2019-12-22 15:28:16 +00:00
CPed *m_pRevivedPed;
EmergencyPedState m_nEmergencyPedState;
CAccident *m_pAttendedAccident;
CFire *m_pAttendedFire;
bool m_bStartedToCPR; // set but unused(?)
int32 field_1360; // also something for medics, unused(?)
2019-07-14 09:49:03 +00:00
CEmergencyPed(uint32);
2019-12-22 15:28:16 +00:00
~CEmergencyPed() { }
bool InRange(CPed*);
2019-07-14 12:00:36 +00:00
void ProcessControl(void);
2019-12-22 15:28:16 +00:00
void FiremanAI(void);
void MedicAI(void);
2019-06-02 15:13:56 +00:00
};
static_assert(sizeof(CEmergencyPed) == 0x554, "CEmergencyPed: error");