This commit is contained in:
Christian Semmler 2023-11-21 05:28:44 -05:00
parent ac8b3f6928
commit 0031cfdb78
2 changed files with 18 additions and 14 deletions

View File

@ -8,11 +8,7 @@
#include "mxomni.h" #include "mxomni.h"
#include "mxticklemanager.h" #include "mxticklemanager.h"
// Only a `scalar deleting destructor' exists. DECOMP_SIZE_ASSERT(LegoActionControlPresenter, 0x68)
LegoActionControlPresenter::~LegoActionControlPresenter()
{
Destroy(TRUE);
}
// OFFSET: LEGO1 0x10043ce0 STUB // OFFSET: LEGO1 0x10043ce0 STUB
void LegoActionControlPresenter::ReadyTickle() void LegoActionControlPresenter::ReadyTickle()
@ -30,10 +26,12 @@ void LegoActionControlPresenter::RepeatingTickle()
MxResult LegoActionControlPresenter::AddToManager() MxResult LegoActionControlPresenter::AddToManager()
{ {
MxResult result = FAILURE; MxResult result = FAILURE;
if (TickleManager()) { if (TickleManager()) {
result = SUCCESS; result = SUCCESS;
TickleManager()->RegisterClient(this, 100); TickleManager()->RegisterClient(this, 100);
} }
return result; return result;
} }

View File

@ -5,12 +5,17 @@
#include "legoutil.h" #include "legoutil.h"
#include "mxmediapresenter.h" #include "mxmediapresenter.h"
// TODO: Find proper compilation unit to put this
// OFFSET: LEGO1 0x1000d1d0 TEMPLATE
// LegoActionControlPresenter::`scalar deleting destructor'
// VTABLE 0x100d5118 // VTABLE 0x100d5118
// SIZE 0x68 // SIZE 0x68
class LegoActionControlPresenter : public MxMediaPresenter { class LegoActionControlPresenter : public MxMediaPresenter {
public: public:
inline LegoActionControlPresenter() { m_unk0x50 = ExtraActionType_none; } inline LegoActionControlPresenter() { m_unk0x50 = ExtraActionType_none; }
virtual ~LegoActionControlPresenter() override; // vtable+0x00 virtual ~LegoActionControlPresenter() override { Destroy(TRUE); }; // vtable+0x00
// OFFSET: LEGO1 0x1000d0e0 // OFFSET: LEGO1 0x1000d0e0
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
{ {
@ -23,16 +28,17 @@ class LegoActionControlPresenter : public MxMediaPresenter {
{ {
return !strcmp(name, LegoActionControlPresenter::ClassName()) || MxMediaPresenter::IsA(name); return !strcmp(name, LegoActionControlPresenter::ClassName()) || MxMediaPresenter::IsA(name);
} }
virtual void ReadyTickle() override; // vtable+0x18
virtual void RepeatingTickle() override; // vtable+0x24 virtual void ReadyTickle() override; // vtable+0x18
virtual void ParseExtra(); // vtable+0x30 virtual void RepeatingTickle() override; // vtable+0x24
virtual MxResult AddToManager() override; virtual void ParseExtra() override; // vtable+0x30
virtual MxResult AddToManager() override; // vtable+0x34
virtual void Destroy(MxBool p_fromDestructor); // vtable+0x5c
private: private:
virtual void Destroy(MxBool p_fromDestructor); // vtable+0x5c ExtraActionType m_unk0x50; // 0x50
ExtraActionType m_unk0x50; MxString m_unk0x54; // 0x54
MxString m_unk0x54; undefined4 m_unk0x64; // 0x64
undefined4 m_unk0x64;
}; };
#endif // LEGOACTIONCONTROLPRESENTER_H #endif // LEGOACTIONCONTROLPRESENTER_H