some LegoEntityPresenter & LegoWorldPresenter functions (#260)

* LegoEntityPresenter & LegoWorldPresenter

* format fix

* Fixes

* Add size assert

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Misha
2023-11-02 06:54:08 -04:00
committed by GitHub
parent 176bd1d8fd
commit 24e889ee3d
7 changed files with 86 additions and 14 deletions

View File

@@ -1,19 +1,47 @@
#include "legoentitypresenter.h"
#include "legoomni.h"
#include "legovideomanager.h"
DECOMP_SIZE_ASSERT(LegoEntityPresenter, 0x50);
// OFFSET: LEGO1 0x10053440
LegoEntityPresenter::LegoEntityPresenter()
{
Init();
}
// OFFSET: LEGO1 0x100535d0 STUB
LegoEntityPresenter::~LegoEntityPresenter()
{
// TODO
}
// OFFSET: LEGO1 0x100535c0 STUB
// OFFSET: LEGO1 0x100535c0
void LegoEntityPresenter::Init()
{
// TODO
m_unk4c = 0;
}
// OFFSET: LEGO1 0x100535d0
LegoEntityPresenter::~LegoEntityPresenter()
{
Destroy(TRUE);
}
// OFFSET: LEGO1 0x10053630
undefined4 LegoEntityPresenter::vtable6c(undefined4 p_unknown)
{
m_unk4c = p_unknown;
return 0;
}
// OFFSET: LEGO1 0x10053640
void LegoEntityPresenter::Destroy(MxBool p_fromDestructor)
{
if (VideoManager()) {
VideoManager()->RemovePresenter(*this);
}
Init();
}
// OFFSET: LEGO1 0x10053670
void LegoEntityPresenter::Destroy()
{
Destroy(FALSE);
}