isle/LEGO1/mxstreamcontroller.h
MattKC 574a9dc6f1
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>
2023-09-25 19:30:56 -07:00

43 lines
955 B
C++

#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
{
// 0x10102130
return "MxStreamController";
}
// OFFSET: LEGO1 0x100c0f20
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, MxStreamController::ClassName()) || MxCore::IsA(name);
}
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