Bootstrap MxCompositeMediaPresenter

This commit is contained in:
Christian Semmler 2023-12-10 10:01:42 -05:00
parent 7a0558f99d
commit b18e854cbc
2 changed files with 56 additions and 2 deletions

View File

@ -1,7 +1,47 @@
#include "mxcompositemediapresenter.h" #include "mxcompositemediapresenter.h"
// STUB: LEGO1 0x10073ea0 #include "legoomni.h"
#include "legovideomanager.h"
DECOMP_SIZE_ASSERT(MxCompositeMediaPresenter, 0x50)
// FUNCTION: LEGO1 0x10073ea0
MxCompositeMediaPresenter::MxCompositeMediaPresenter() MxCompositeMediaPresenter::MxCompositeMediaPresenter()
{
m_unk4c = 0;
m_unk4e = 0;
VideoManager()->AddPresenter(*this);
}
// FUNCTION: LEGO1 0x10074020
MxCompositeMediaPresenter::~MxCompositeMediaPresenter()
{
VideoManager()->RemovePresenter(*this);
}
// STUB: LEGO1 0x10074090
MxResult MxCompositeMediaPresenter::StartAction(MxStreamController* p_controller, MxDSAction* p_action)
{
// TODO
return SUCCESS;
}
// STUB: LEGO1 0x100742e0
void MxCompositeMediaPresenter::StartingTickle()
{ {
// TODO // TODO
} }
// STUB: LEGO1 0x10074470
MxResult MxCompositeMediaPresenter::Tickle()
{
// TODO
return SUCCESS;
}
// STUB: LEGO1 0x10074540
MxResult MxCompositeMediaPresenter::PutData()
{
// TODO
return SUCCESS;
}

View File

@ -3,11 +3,14 @@
#include "mxcompositepresenter.h" #include "mxcompositepresenter.h"
// VTABLE: LEGO1 0x100dc618 // VTABLE: LEGO1 0x100d96b0
// SIZE 0x50 // SIZE 0x50
class MxCompositeMediaPresenter : public MxCompositePresenter { class MxCompositeMediaPresenter : public MxCompositePresenter {
public: public:
MxCompositeMediaPresenter(); MxCompositeMediaPresenter();
virtual ~MxCompositeMediaPresenter() override;
virtual MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10073f10 // FUNCTION: LEGO1 0x10073f10
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@ -21,6 +24,17 @@ class MxCompositeMediaPresenter : public MxCompositePresenter {
{ {
return !strcmp(name, MxCompositeMediaPresenter::ClassName()) || MxCompositePresenter::IsA(name); return !strcmp(name, MxCompositeMediaPresenter::ClassName()) || MxCompositePresenter::IsA(name);
} }
virtual void StartingTickle() override; // vtable+0x1c
virtual MxResult StartAction(MxStreamController*, MxDSAction* p_action) override; // vtable+0x3c
virtual MxResult PutData(); // vtable+0x4c
private:
undefined2 m_unk4c; // 0x4c
undefined m_unk4e; // 0x4e
}; };
// SYNTHETIC: LEGO1 0x10074000
// MxCompositeMediaPresenter::`scalar deleting destructor'
#endif // MXCOMPOSITEMEDIAPRESENTER_H #endif // MXCOMPOSITEMEDIAPRESENTER_H