diff --git a/LEGO1/mxstreamcontroller.cpp b/LEGO1/mxstreamcontroller.cpp index a149bb92..d8484a22 100644 --- a/LEGO1/mxstreamcontroller.cpp +++ b/LEGO1/mxstreamcontroller.cpp @@ -1,8 +1,32 @@ #include "mxstreamcontroller.h" +#include "mxautolocker.h" + +// OFFSET: LEGO1 0x100c0b90 STUB +MxStreamController::MxStreamController() +{ + // TODO +} + +// OFFSET: LEGO1 0x100c1290 STUB +MxStreamController::~MxStreamController() +{ + // TODO +} + // OFFSET: LEGO1 0x100c20d0 STUB -MxBool MxStreamController::IsStillInUse() +MxBool MxStreamController::CanBeDeleted() { // TODO return TRUE; } + +// OFFSET: LEGO1 0x100c1520 +MxResult MxStreamController::Open(const char *p_filename) +{ + MxAutoLocker locker(&m_criticalSection); + + // TODO + + return SUCCESS; +} diff --git a/LEGO1/mxstreamcontroller.h b/LEGO1/mxstreamcontroller.h index 8c360166..14fc7abd 100644 --- a/LEGO1/mxstreamcontroller.h +++ b/LEGO1/mxstreamcontroller.h @@ -1,14 +1,20 @@ #ifndef MXSTREAMCONTROLLER_H #define MXSTREAMCONTROLLER_H +#include "decomp.h" #include "mxatomid.h" #include "mxcriticalsection.h" #include "mxcore.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 { @@ -22,12 +28,15 @@ class MxStreamController : public MxCore return !strcmp(name, MxStreamController::ClassName()) || MxCore::IsA(name); } - MxBool IsStillInUse(); + virtual MxResult Open(const char *p_filename); // vtable+0x14 + + MxBool CanBeDeleted(); MxCriticalSection m_criticalSection; MxAtomId atom; int m_unk28; int m_unk2c; + undefined m_unk30[0x34]; }; #endif // MXSTREAMCONTROLLER_H