From 41dbd754dee344c79207e0821df6bcc262f90726 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Sun, 14 Jul 2019 12:49:03 +0300 Subject: Partial RunningScript part2 --- src/peds/EmergencyPed.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/peds/EmergencyPed.cpp') diff --git a/src/peds/EmergencyPed.cpp b/src/peds/EmergencyPed.cpp index 664bd6f6..d4f46b0e 100644 --- a/src/peds/EmergencyPed.cpp +++ b/src/peds/EmergencyPed.cpp @@ -1,13 +1,36 @@ #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(); } }; +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 -- cgit v1.2.3 From e16562aa6deea5e15376afe0fcb3149a04a7b3c7 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Sun, 14 Jul 2019 15:00:36 +0300 Subject: fixed cops --- src/peds/EmergencyPed.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/peds/EmergencyPed.cpp') diff --git a/src/peds/EmergencyPed.cpp b/src/peds/EmergencyPed.cpp index d4f46b0e..cbcfb403 100644 --- a/src/peds/EmergencyPed.cpp +++ b/src/peds/EmergencyPed.cpp @@ -10,6 +10,8 @@ public: void dtor(void) { CEmergencyPed::~CEmergencyPed(); } }; +WRAPPER void CEmergencyPed::ProcessControl(void) { EAXJMP(0x4C2F10); } + CEmergencyPed::CEmergencyPed(uint32 type) : CPed(type) { switch (type){ -- cgit v1.2.3