Implement some MxStreamer functions (#130)

* Implement some MxStreamer stuff

* Implement/match MxVideoManager::Tickle (#128)

* Implement/match MxPresenter::StartAction

* Update mxpoint32.h

* Implement/match MxVideoManager::Tickle

* Update mxlist.h

* Update mxpresenter.cpp

* MxFlcPresenter ctor/dtor (#132)

* MxFlcPresenter ctor/dtor

* Match constructor

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>

* LegoOmni::CreateStreamObject and related (#129)

* LegoOmni::CreateStreamObject and related

* Revert change to MxDSSource/MxDSFile Read export

* Bootstrap MxDSMultiAction (#133)

* Bootstrap MxDSMultiAction

* Move destroy function to list class

* Fix unk14 call

* Quick patch for EqualsDataProduct (#134)

* MxLong Tickle() -> MxResult Tickle() (#135)

* MxLong Tickle() -> MxResult Tickle()

* Remove garbage

* Fix implementations

* PresenterNameDispatch (#137)

* PresenterNameDispatch

* Use reference for PresenterNameDispatch param
- fix or add const markers so we can use a const reference

* Implement/match remaining MxDSMultiAction functions (#136)

* Implement/match MxDSMultiAction::Deserialize

* Implement remaining functions of MxDSMultiAction

* Remove space

* Implement/match MxDSParallelAction (#138)

* Implement/match MxDSParallelAction

* Fix type

* Remove space

* Add neccessary MxDSMultiAction functions

* Implement/match MxDSSerialAction (#139)

* Implement/match MxDSSerialAction

* Add neccessary MxDSMultiAction functions

* Fix LegoOmni vtable (#140)

* matched GetOpenStream

* matched MakeSourceName

* add MxDSBuffer stub

* add MxRAMStreamController stub

* add stubbed functions for MxStreamController used by MxStreamer

* implement AddStreamControllerToOpenList

* implement most of MxStreamer::Open

* add note for MxStreamerSubclass1

* fix compiler issue

* implement MxStreamer::Notify

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
Co-authored-by: MS <disinvite@users.noreply.github.com>
This commit is contained in:
MattKC
2023-09-25 19:30:56 -07:00
committed by GitHub
parent 3f6e3af8ca
commit 574a9dc6f1
12 changed files with 347 additions and 32 deletions

View File

@@ -1,13 +1,21 @@
#ifndef MXSTREAMCONTROLLER_H
#define MXSTREAMCONTROLLER_H
#include "decomp.h"
#include "mxatomid.h"
#include "mxcriticalsection.h"
#include "mxcore.h"
#include "mxdsobject.h"
// VTABLE 0x100dc968
// SIZE 0x64
class MxStreamController : public MxCore
{
public:
MxStreamController();
virtual ~MxStreamController() override; // vtable+0x0
// OFFSET: LEGO1 0x100c0f10
inline virtual const char *ClassName() const override // vtable+0xc
{
@@ -21,16 +29,15 @@ public:
return !strcmp(name, MxStreamController::ClassName()) || MxCore::IsA(name);
}
int m_unk08;
int m_unk0c;
int m_unk10;
int m_unk14;
int m_unk18;
int m_unk1c;
int m_unk20;
virtual MxResult Open(const char *p_filename); // vtable+0x14
MxBool FUN_100c20d0(MxDSObject &p_obj);
MxCriticalSection m_criticalSection;
MxAtomId atom;
int m_unk28;
int m_unk2c;
undefined m_unk30[0x34];
};
#endif // MXSTREAMCONTROLLER_H