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/control/Script.cpp | 4 ++-- src/peds/CopPed.cpp | 2 ++ src/peds/CopPed.h | 1 + src/peds/EmergencyPed.cpp | 2 ++ src/peds/EmergencyPed.h | 1 + 5 files changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/control/Script.cpp b/src/control/Script.cpp index a3a310ad..f3996872 100644 --- a/src/control/Script.cpp +++ b/src/control/Script.cpp @@ -1561,13 +1561,13 @@ int8 CRunningScript::ProcessCommandsFrom100To199(int32 command) } case COMMAND_ABS_VAR_FLOAT: { - int32* ptr = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL); + float* ptr = (float*)GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL); *ptr = abs(*ptr); return 0; } case COMMAND_ABS_LVAR_FLOAT: { - int32* ptr = GetPointerToScriptVariable(&m_nIp, VAR_LOCAL); + float* ptr = (float*)GetPointerToScriptVariable(&m_nIp, VAR_LOCAL); *ptr = abs(*ptr); return 0; } diff --git a/src/peds/CopPed.cpp b/src/peds/CopPed.cpp index badcc4de..5bc67e15 100644 --- a/src/peds/CopPed.cpp +++ b/src/peds/CopPed.cpp @@ -3,6 +3,8 @@ #include "CopPed.h" #include "ModelIndices.h" +WRAPPER void CCopPed::ProcessControl() { EAXJMP(0x4C1400); } + CCopPed::CCopPed(eCopType copType) : CPed(PEDTYPE_COP) { m_nCopType = copType; diff --git a/src/peds/CopPed.h b/src/peds/CopPed.h index 17ca111f..162f14a6 100644 --- a/src/peds/CopPed.h +++ b/src/peds/CopPed.h @@ -35,6 +35,7 @@ public: ~CCopPed(); void ClearPursuit(void); + void ProcessControl(void); }; static_assert(sizeof(CCopPed) == 0x558, "CCopPed: error"); 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){ diff --git a/src/peds/EmergencyPed.h b/src/peds/EmergencyPed.h index b9d979e3..f55fa4e2 100644 --- a/src/peds/EmergencyPed.h +++ b/src/peds/EmergencyPed.h @@ -15,5 +15,6 @@ public: int32 field_1360; CEmergencyPed(uint32); + void ProcessControl(void); }; static_assert(sizeof(CEmergencyPed) == 0x554, "CEmergencyPed: error"); -- cgit v1.2.3