Skip to content

Commit 12f01dd

Browse files
committed
Added constructor to CCivilianPed
1 parent 9448b16 commit 12f01dd

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

plugin_III/game_III/CCivilianPed.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,21 @@ int dtor_gaddr(CCivilianPed) = GLOBAL_ADDRESS_BY_VERSION(0x4BFFC0, 0x4C00B0, 0x4
1717
int del_dtor_addr(CCivilianPed) = ADDRESS_BY_VERSION(0x4C1170, 0x4C1260, 0x4C11F0);
1818
int del_dtor_gaddr(CCivilianPed) = GLOBAL_ADDRESS_BY_VERSION(0x4C1170, 0x4C1260, 0x4C11F0);
1919

20+
void* CCivilianPed::operator new(size_t size) {
21+
return plugin::CallAndReturnDynGlobal<void*, size_t>(op_new_gaddr(CPed), size);
22+
}
23+
24+
void CCivilianPed::operator delete(void* data) {
25+
return plugin::CallDynGlobal<void*>(op_delete_gaddr(CPed), data);
26+
}
27+
2028
int addrof(CCivilianPed::ProcessControl) = ADDRESS_BY_VERSION(0x4BFFE0, 0x4C00D0, 0x4C0060);
2129
int gaddrof(CCivilianPed::ProcessControl) = GLOBAL_ADDRESS_BY_VERSION(0x4BFFE0, 0x4C00D0, 0x4C0060);
2230

31+
CCivilianPed::CCivilianPed(ePedType pedType, unsigned int modelIndex) {
32+
plugin::CallMethodDynGlobal<CCivilianPed*, ePedType, unsigned int>(ctor_gaddr_o(CCivilianPed, void(ePedType, unsigned int)), this, pedType, modelIndex);
33+
}
34+
2335
void CCivilianPed::ProcessControl() {
2436
plugin::CallVirtualMethod<8, CCivilianPed *>(this);
2537
}

plugin_III/game_III/CCivilianPed.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@
99
#include "PluginBase.h"
1010
#include "CPed.h"
1111

12-
class PLUGIN_API CCivilianPed {
12+
class PLUGIN_API CCivilianPed : public CPed
13+
{
1314
PLUGIN_NO_DEFAULT_CONSTRUCTION(CCivilianPed)
15+
static void* operator new(size_t size);
16+
static void operator delete(void* data);
1417

1518
public:
16-
CPed ped; //!< isbase:true
19+
SUPPORTED_10EN_11EN_STEAM CCivilianPed(ePedType pedType, unsigned int modelIndex);
1720

1821
// virtual function #0 (destructor)
1922

0 commit comments

Comments
 (0)