mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 16:34:06 +00: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:
@@ -1,19 +1,47 @@
|
|||||||
#include "legoentitypresenter.h"
|
#include "legoentitypresenter.h"
|
||||||
|
|
||||||
|
#include "legoomni.h"
|
||||||
|
#include "legovideomanager.h"
|
||||||
|
|
||||||
|
DECOMP_SIZE_ASSERT(LegoEntityPresenter, 0x50);
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x10053440
|
// OFFSET: LEGO1 0x10053440
|
||||||
LegoEntityPresenter::LegoEntityPresenter()
|
LegoEntityPresenter::LegoEntityPresenter()
|
||||||
{
|
{
|
||||||
Init();
|
Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100535d0 STUB
|
// OFFSET: LEGO1 0x100535c0
|
||||||
LegoEntityPresenter::~LegoEntityPresenter()
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
}
|
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100535c0 STUB
|
|
||||||
void LegoEntityPresenter::Init()
|
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"
|
#include "mxcompositepresenter.h"
|
||||||
|
|
||||||
// VTABLE 0x100d8398
|
// VTABLE 0x100d8398
|
||||||
|
// SIZE 0x50
|
||||||
class LegoEntityPresenter : public MxCompositePresenter {
|
class LegoEntityPresenter : public MxCompositePresenter {
|
||||||
public:
|
public:
|
||||||
LegoEntityPresenter();
|
LegoEntityPresenter();
|
||||||
@@ -22,8 +23,14 @@ public:
|
|||||||
return !strcmp(name, LegoEntityPresenter::ClassName()) || MxCompositePresenter::IsA(name);
|
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:
|
private:
|
||||||
void Init();
|
void Destroy(MxBool p_fromDestructor);
|
||||||
|
|
||||||
|
undefined4 m_unk4c;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // LEGOENTITYPRESENTER_H
|
#endif // LEGOENTITYPRESENTER_H
|
||||||
|
@@ -1,9 +1,12 @@
|
|||||||
#include "legoworldpresenter.h"
|
#include "legoworldpresenter.h"
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100665c0 STUB
|
// 0x100f75d4
|
||||||
|
undefined4 g_LegoWorldPresenterQuality = 1;
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100665c0
|
||||||
LegoWorldPresenter::LegoWorldPresenter()
|
LegoWorldPresenter::LegoWorldPresenter()
|
||||||
{
|
{
|
||||||
// TODO
|
m_unk50 = 50000;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x10066770 STUB
|
// OFFSET: LEGO1 0x10066770 STUB
|
||||||
@@ -12,8 +15,8 @@ LegoWorldPresenter::~LegoWorldPresenter()
|
|||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100665b0 STUB
|
// OFFSET: LEGO1 0x100665b0
|
||||||
void LegoWorldPresenter::configureLegoWorldPresenter(int param_1)
|
void LegoWorldPresenter::configureLegoWorldPresenter(int p_quality)
|
||||||
{
|
{
|
||||||
// TODO
|
g_LegoWorldPresenterQuality = p_quality;
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,9 @@ public:
|
|||||||
{
|
{
|
||||||
return !strcmp(name, LegoWorldPresenter::ClassName()) || LegoEntityPresenter::IsA(name);
|
return !strcmp(name, LegoWorldPresenter::ClassName()) || LegoEntityPresenter::IsA(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
undefined4 m_unk50;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // LEGOWORLDPRESENTER_H
|
#endif // LEGOWORLDPRESENTER_H
|
||||||
|
@@ -16,3 +16,27 @@ MxCompositePresenter::~MxCompositePresenter()
|
|||||||
{
|
{
|
||||||
NotificationManager()->Unregister(this);
|
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);
|
return !strcmp(name, MxCompositePresenter::ClassName()) || MxPresenter::IsA(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void VTable0x58();
|
||||||
|
virtual void VTable0x5c();
|
||||||
|
virtual void VTable0x60();
|
||||||
|
virtual void VTable0x64();
|
||||||
|
|
||||||
|
private:
|
||||||
MxUnkList m_list;
|
MxUnkList m_list;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -11,6 +11,7 @@
|
|||||||
class MxStreamController;
|
class MxStreamController;
|
||||||
|
|
||||||
// VTABLE 0x100d4d38
|
// VTABLE 0x100d4d38
|
||||||
|
// SIZE 0x40
|
||||||
class MxPresenter : public MxCore {
|
class MxPresenter : public MxCore {
|
||||||
public:
|
public:
|
||||||
enum TickleState {
|
enum TickleState {
|
||||||
|
Reference in New Issue
Block a user