diff --git a/LEGO1/legoactioncontrolpresenter.cpp b/LEGO1/legoactioncontrolpresenter.cpp index d9dce8c2..72e5cd93 100644 --- a/LEGO1/legoactioncontrolpresenter.cpp +++ b/LEGO1/legoactioncontrolpresenter.cpp @@ -1,4 +1,5 @@ #include "legoactioncontrolpresenter.h" + #include "define.h" #include "extra.h" #include "legoomni.h" @@ -6,68 +7,72 @@ #include "mxmediapresenter.h" #include "mxomni.h" #include "mxticklemanager.h" -#include "mxtypes.h" -#include -#include // Only a `scalar deleting destructor' exists. -LegoActionControlPresenter::~LegoActionControlPresenter() { Destroy(TRUE); } +LegoActionControlPresenter::~LegoActionControlPresenter() +{ + Destroy(TRUE); +} // OFFSET: LEGO1 0x10043ce0 STUB -void LegoActionControlPresenter::ReadyTickle() { - // TODO +void LegoActionControlPresenter::ReadyTickle() +{ + // TODO } // OFFSET: LEGO1 0x10043d40 STUB -void LegoActionControlPresenter::RepeatingTickle() { - // TODO +void LegoActionControlPresenter::RepeatingTickle() +{ + // TODO } // OFFSET: LEGO1 0x10043df0 -MxResult LegoActionControlPresenter::AddToManager() { - MxResult result = FAILURE; - if (TickleManager()) { - result = SUCCESS; - TickleManager()->RegisterClient(this, 100); - } - - return result; +MxResult LegoActionControlPresenter::AddToManager() +{ + MxResult result = FAILURE; + if (TickleManager()) { + result = SUCCESS; + TickleManager()->RegisterClient(this, 100); + } + return result; } // OFFSET: LEGO1 0x10043e20 -void LegoActionControlPresenter::Destroy(MxBool p_fromDestructor) { - if (TickleManager()) { - TickleManager()->UnregisterClient(this); - } +void LegoActionControlPresenter::Destroy(MxBool p_fromDestructor) +{ + if (TickleManager()) { + TickleManager()->UnregisterClient(this); + } - if (!p_fromDestructor) { - MxMediaPresenter::Destroy(FALSE); - } + if (!p_fromDestructor) { + MxMediaPresenter::Destroy(FALSE); + } } // OFFSET: LEGO1 0x10043e50 -void LegoActionControlPresenter::ParseExtra() { - MxU32 len = m_action->GetExtraLength(); +void LegoActionControlPresenter::ParseExtra() +{ + MxU32 len = m_action->GetExtraLength(); - if (len == 0) - return; + if (len == 0) + return; - len &= MAXWORD; + len &= MAXWORD; - char buf[1024]; - memcpy(buf, m_action->GetExtraData(), len); - buf[len] = '\0'; + char buf[1024]; + memcpy(buf, m_action->GetExtraData(), len); + buf[len] = '\0'; - char output[1024]; - if (KeyValueStringParse(output, g_strACTION, buf)) { - m_unk0x50 = MatchActionString(strtok(output, g_parseExtraTokens)); - if (m_unk0x50 != ExtraActionType_exit) { - MakeSourceName(buf, strtok(NULL, g_parseExtraTokens)); - m_unk0x54 = buf; - m_unk0x54.ToLowerCase(); - if (m_unk0x50 != ExtraActionType_run) { - m_unk0x64 = atoi(strtok(NULL, g_parseExtraTokens)); - } - } - } + char output[1024]; + if (KeyValueStringParse(output, g_strACTION, buf)) { + m_unk0x50 = MatchActionString(strtok(output, g_parseExtraTokens)); + if (m_unk0x50 != ExtraActionType_exit) { + MakeSourceName(buf, strtok(NULL, g_parseExtraTokens)); + m_unk0x54 = buf; + m_unk0x54.ToLowerCase(); + if (m_unk0x50 != ExtraActionType_run) { + m_unk0x64 = atoi(strtok(NULL, g_parseExtraTokens)); + } + } + } } diff --git a/LEGO1/legoactioncontrolpresenter.h b/LEGO1/legoactioncontrolpresenter.h index 84baf631..32b50ff3 100644 --- a/LEGO1/legoactioncontrolpresenter.h +++ b/LEGO1/legoactioncontrolpresenter.h @@ -9,31 +9,30 @@ // SIZE 0x68 class LegoActionControlPresenter : public MxMediaPresenter { public: - inline LegoActionControlPresenter() { m_unk0x50 = ExtraActionType_none; } - virtual ~LegoActionControlPresenter() override; // vtable+0x00 - // OFFSET: LEGO1 0x1000d0e0 - inline virtual const char *ClassName() const override // vtable+0x0c - { - // 0x100f05bc - return "LegoActionControlPresenter"; - } + inline LegoActionControlPresenter() { m_unk0x50 = ExtraActionType_none; } + virtual ~LegoActionControlPresenter() override; // vtable+0x00 + // OFFSET: LEGO1 0x1000d0e0 + inline virtual const char* ClassName() const override // vtable+0x0c + { + // 0x100f05bc + return "LegoActionControlPresenter"; + } - // OFFSET: LEGO1 0x1000d0f0 - inline virtual MxBool IsA(const char *name) const override // vtable+0x10 - { - 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; + // OFFSET: LEGO1 0x1000d0f0 + inline virtual MxBool IsA(const char* name) const override // vtable+0x10 + { + 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; private: - virtual void Destroy(MxBool p_fromDestructor); // vtable+0x5c - ExtraActionType m_unk0x50; - MxString m_unk0x54; - undefined4 m_unk0x64; + virtual void Destroy(MxBool p_fromDestructor); // vtable+0x5c + ExtraActionType m_unk0x50; + MxString m_unk0x54; + undefined4 m_unk0x64; }; #endif // LEGOACTIONCONTROLPRESENTER_H