Bootstrap MxCompositeMediaPresenter (#321)

* Bootstrap MxCompositeMediaPresenter

* Fixes
This commit is contained in:
Christian Semmler 2023-12-13 07:53:17 -05:00 committed by GitHub
parent fd656eacdc
commit 0278d032b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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_unk0x4c = 0;
m_unk0x4e = 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(p_name, MxCompositeMediaPresenter::ClassName()) || MxCompositePresenter::IsA(p_name); return !strcmp(p_name, MxCompositeMediaPresenter::ClassName()) || MxCompositePresenter::IsA(p_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_unk0x4c; // 0x4c
undefined m_unk0x4e; // 0x4e
}; };
// SYNTHETIC: LEGO1 0x10074000
// MxCompositeMediaPresenter::`scalar deleting destructor'
#endif // MXCOMPOSITEMEDIAPRESENTER_H #endif // MXCOMPOSITEMEDIAPRESENTER_H