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

View File

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