#ifndef MXSTREAMPROVIDER_H #define MXSTREAMPROVIDER_H #include "decomp.h" #include "mxcore.h" #include "mxdsfile.h" class MxStreamController; // VTABLE 0x100dd100 // SIZE 0x10 class MxStreamProvider : public MxCore { public: inline MxStreamProvider() : m_pLookup(NULL), m_pFile(NULL) {} // OFFSET: LEGO1 0x100d07e0 inline virtual const char* ClassName() const override // vtable+0x0c { return "MxStreamProvider"; } // OFFSET: LEGO1 0x100d07f0 inline virtual MxBool IsA(const char* name) const override // vtable+0x10 { return !strcmp(name, MxStreamProvider::ClassName()) || MxCore::IsA(name); } virtual MxResult SetResourceToGet(MxStreamController* p_resource); // vtable+0x14 virtual MxU32 GetFileSize() = 0; // vtable+0x18 virtual MxU32 GetStreamBuffersNum() = 0; // vtable+0x1c virtual void vtable0x20(undefined4 p_unknown1); // vtable+0x20 virtual MxU32 GetLengthInDWords() = 0; // vtable+0x24 virtual MxU32* GetBufferForDWords() = 0; // vtable+0x28 protected: MxStreamController* m_pLookup; MxDSFile* m_pFile; }; #endif // MXSTREAMPROVIDER_H