mirror of
https://github.com/isledecomp/isle-portable.git
synced 2025-03-14 00:39:50 -04:00
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:
parent
176bd1d8fd
commit
24e889ee3d
7 changed files with 86 additions and 14 deletions
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include "mxcompositepresenter.h"
|
||||
|
||||
// VTABLE 0x100d8398
|
||||
// SIZE 0x50
|
||||
class LegoEntityPresenter : public MxCompositePresenter {
|
||||
public:
|
||||
LegoEntityPresenter();
|
||||
|
@ -22,8 +23,14 @@ public:
|
|||
return !strcmp(name, LegoEntityPresenter::ClassName()) || MxCompositePresenter::IsA(name);
|
||||
}
|
||||
|
||||
virtual void Destroy() override; // vtable+0x38
|
||||
virtual void Init(); // vtable+0x68
|
||||
virtual undefined4 vtable6c(undefined4 p_unknown); // vtable+0x6c
|
||||
|
||||
private:
|
||||
void Init();
|
||||
void Destroy(MxBool p_fromDestructor);
|
||||
|
||||
undefined4 m_unk4c;
|
||||
};
|
||||
|
||||
#endif // LEGOENTITYPRESENTER_H
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
#include "legoworldpresenter.h"
|
||||
|
||||
// OFFSET: LEGO1 0x100665c0 STUB
|
||||
// 0x100f75d4
|
||||
undefined4 g_LegoWorldPresenterQuality = 1;
|
||||
|
||||
// OFFSET: LEGO1 0x100665c0
|
||||
LegoWorldPresenter::LegoWorldPresenter()
|
||||
{
|
||||
// TODO
|
||||
m_unk50 = 50000;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10066770 STUB
|
||||
|
@ -12,8 +15,8 @@ LegoWorldPresenter::~LegoWorldPresenter()
|
|||
// TODO
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100665b0 STUB
|
||||
void LegoWorldPresenter::configureLegoWorldPresenter(int param_1)
|
||||
// OFFSET: LEGO1 0x100665b0
|
||||
void LegoWorldPresenter::configureLegoWorldPresenter(int p_quality)
|
||||
{
|
||||
// TODO
|
||||
g_LegoWorldPresenterQuality = p_quality;
|
||||
}
|
||||
|
|
|
@ -24,6 +24,9 @@ public:
|
|||
{
|
||||
return !strcmp(name, LegoWorldPresenter::ClassName()) || LegoEntityPresenter::IsA(name);
|
||||
}
|
||||
|
||||
private:
|
||||
undefined4 m_unk50;
|
||||
};
|
||||
|
||||
#endif // LEGOWORLDPRESENTER_H
|
||||
|
|
|
@ -16,3 +16,27 @@ MxCompositePresenter::~MxCompositePresenter()
|
|||
{
|
||||
NotificationManager()->Unregister(this);
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100b67f0 STUB
|
||||
void MxCompositePresenter::VTable0x58()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100b69b0 STUB
|
||||
void MxCompositePresenter::VTable0x5c()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100b6b40 STUB
|
||||
void MxCompositePresenter::VTable0x60()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000caf0 STUB
|
||||
void MxCompositePresenter::VTable0x64()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
|
|
@ -24,6 +24,12 @@ public:
|
|||
return !strcmp(name, MxCompositePresenter::ClassName()) || MxPresenter::IsA(name);
|
||||
}
|
||||
|
||||
virtual void VTable0x58();
|
||||
virtual void VTable0x5c();
|
||||
virtual void VTable0x60();
|
||||
virtual void VTable0x64();
|
||||
|
||||
private:
|
||||
MxUnkList m_list;
|
||||
};
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
class MxStreamController;
|
||||
|
||||
// VTABLE 0x100d4d38
|
||||
// SIZE 0x40
|
||||
class MxPresenter : public MxCore {
|
||||
public:
|
||||
enum TickleState {
|
||||
|
|
Loading…
Reference in a new issue