cleanup on CPed and CPedType

This commit is contained in:
aap
2019-06-19 14:06:13 +02:00
parent f8438e8ab6
commit 78e33785ec
6 changed files with 146 additions and 116 deletions

View File

@@ -2,25 +2,27 @@
#include "patcher.h"
#include "PedType.h"
CPedType* (&CPedType::ms_apPedType)[23] = *(CPedType * (*)[23]) * (int*)0x941594;
CPedType *(&CPedType::ms_apPedType)[NUM_PEDTYPES] = *(CPedType *(*)[NUM_PEDTYPES]) *(int*)0x941594;
WRAPPER void CPedType::LoadPedData(void) { EAXJMP(0x4EE8D0); }
WRAPPER int32 CPedType::FindPedType(char* type) { EAXJMP(0x4EEC10); }
WRAPPER int32 CPedType::FindPedType(char *type) { EAXJMP(0x4EEC10); }
void
CPedType::Initialise()
CPedType::Initialise(void)
{
int i;
debug("Initialising CPedType...\n");
for (int i = 0; i < 23; i++) {
for(i = 0; i < NUM_PEDTYPES; i++){
ms_apPedType[i] = new CPedType;
ms_apPedType[i]->m_Type.IntValue = 1;
ms_apPedType[i]->m_flag = PED_FLAG_PLAYER1;
ms_apPedType[i]->field_4 = 0;
ms_apPedType[i]->field_8 = 0;
// Why field_C not initialized?
ms_apPedType[i]->field_10 = 0;
ms_apPedType[i]->field_14 = 0;
ms_apPedType[i]->m_Threat.IntValue = 0;
ms_apPedType[i]->m_Avoid.IntValue = 0;
ms_apPedType[i]->m_threats = 0;
ms_apPedType[i]->m_avoid = 0;
}
debug("Loading ped data...\n");
LoadPedData();
@@ -29,4 +31,4 @@ CPedType::Initialise()
STARTPATCHES
InjectHook(0x4EE7E0, &CPedType::Initialise, PATCH_JUMP);
ENDPATCHES
ENDPATCHES