MxControlPresenter: destructor and ReadyTickle (#279)

This commit is contained in:
Joshua Peisach 2023-11-10 13:27:10 -05:00 committed by GitHub
parent 82697d7148
commit e2f2ef6152
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 1 deletions

View file

@ -1,5 +1,8 @@
#include "mxcontrolpresenter.h"
#include "legoomni.h"
#include "mxticklemanager.h"
DECOMP_SIZE_ASSERT(MxControlPresenter, 0x5c)
// OFFSET: LEGO1 0x10043f50
@ -12,3 +15,21 @@ MxControlPresenter::MxControlPresenter()
this->m_unk58 = 0;
this->m_unk54 = 0;
}
// OFFSET: LEGO1 0x10044110
MxControlPresenter::~MxControlPresenter()
{
if (this->m_unk58) {
delete this->m_unk58;
}
}
// OFFSET: LEGO1 0x10044610
void MxControlPresenter::ReadyTickle()
{
MxPresenter::ParseExtra();
TickleManager()->UnregisterClient(this);
m_previousTickleStates |= 1 << (unsigned char) m_currentTickleState;
m_currentTickleState = TickleState_Repeating;
}

View file

@ -9,6 +9,7 @@
class MxControlPresenter : public MxCompositePresenter {
public:
MxControlPresenter();
virtual ~MxControlPresenter() override;
// OFFSET: LEGO1 0x10044000
inline virtual const char* ClassName() const override // vtable+0x0c
@ -23,13 +24,15 @@ public:
return !strcmp(name, MxControlPresenter::ClassName()) || MxCompositePresenter::IsA(name);
}
virtual void ReadyTickle() override; // vtable+0x18
private:
undefined2 m_unk4c;
MxS16 m_unk4e;
undefined m_unk50;
undefined2 m_unk52;
undefined2 m_unk54;
undefined4 m_unk58;
undefined4* m_unk58;
};
#endif // MXCONTROLPRESENTER_H