diff options
author | aap <aap@papnet.eu> | 2019-07-16 18:31:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-16 18:31:18 +0200 |
commit | 9477aca836efd0bcf5017ff6a6c81f2326fd97c1 (patch) | |
tree | b80e8bc8569fbdda5929123a8f47d0c62aea0ab0 /src/peds/EmergencyPed.cpp | |
parent | Phone, World, Ped (diff) | |
parent | Merge pull request #136 from Nick007J/master (diff) | |
download | re3-9477aca836efd0bcf5017ff6a6c81f2326fd97c1.tar re3-9477aca836efd0bcf5017ff6a6c81f2326fd97c1.tar.gz re3-9477aca836efd0bcf5017ff6a6c81f2326fd97c1.tar.bz2 re3-9477aca836efd0bcf5017ff6a6c81f2326fd97c1.tar.lz re3-9477aca836efd0bcf5017ff6a6c81f2326fd97c1.tar.xz re3-9477aca836efd0bcf5017ff6a6c81f2326fd97c1.tar.zst re3-9477aca836efd0bcf5017ff6a6c81f2326fd97c1.zip |
Diffstat (limited to 'src/peds/EmergencyPed.cpp')
-rw-r--r-- | src/peds/EmergencyPed.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/peds/EmergencyPed.cpp b/src/peds/EmergencyPed.cpp index 664bd6f6..cbcfb403 100644 --- a/src/peds/EmergencyPed.cpp +++ b/src/peds/EmergencyPed.cpp @@ -1,13 +1,38 @@ #include "common.h" #include "patcher.h" #include "EmergencyPed.h" +#include "ModelIndices.h" class CEmergencyPed_ : public CEmergencyPed { public: + CEmergencyPed *ctor(int pedtype) { return ::new (this) CEmergencyPed(pedtype); }; void dtor(void) { CEmergencyPed::~CEmergencyPed(); } }; +WRAPPER void CEmergencyPed::ProcessControl(void) { EAXJMP(0x4C2F10); } + +CEmergencyPed::CEmergencyPed(uint32 type) : CPed(type) +{ + switch (type){ + case PEDTYPE_EMERGENCY: + SetModelIndex(MI_MEDIC); + m_pRevivedPed = nil; + field_1360 = 0; + break; + case PEDTYPE_FIREMAN: + SetModelIndex(MI_FIREMAN); + m_pRevivedPed = nil; + break; + default: + break; + } + m_nEmergencyPedState = 0; + m_pAttendedAccident = nil; + field_1356 = 0; +} + STARTPATCHES + InjectHook(0x4C2E40, &CEmergencyPed_::ctor, PATCH_JUMP); InjectHook(0x4C2EF0, &CEmergencyPed_::dtor, PATCH_JUMP); ENDPATCHES |