implement MxDSBuffer object creation (#340)

* push changes

* Update mxstreamcontroller.cpp

* fix build

* MxStreamChunk

* fix format

* Match functions

* Add a comment

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Misha
2023-12-17 12:24:39 -05:00
committed by GitHub
parent d72c767685
commit 20daddde32
27 changed files with 297 additions and 51 deletions

View File

@@ -3,11 +3,14 @@
#include "mxdschunk.h"
class MxDSBuffer;
// VTABLE: LEGO1 0x100dc2a8
// SIZE 0x20
class MxStreamChunk : public MxDSChunk {
public:
inline MxStreamChunk() : m_unk0x1c(NULL) {}
inline MxStreamChunk() : m_buffer(NULL) {}
virtual ~MxStreamChunk() override;
// FUNCTION: LEGO1 0x100b1fe0
inline virtual const char* ClassName() const override // vtable+0xc
@@ -22,8 +25,17 @@ public:
return !strcmp(p_name, MxStreamChunk::ClassName()) || MxDSChunk::IsA(p_name);
}
inline MxDSBuffer* GetBuffer() { return m_buffer; }
MxResult ReadChunk(MxDSBuffer* p_buffer, MxU8* p_chunkData);
MxU32 ReadChunkHeader(MxU8* p_chunkData);
void SetBuffer(MxDSBuffer* p_buffer);
private:
void* m_unk0x1c; // 0x1c
MxDSBuffer* m_buffer; // 0x1c
};
// SYNTHETIC: LEGO1 0x100b20a0
// MxStreamChunk::`scalar deleting destructor'
#endif // MXSTREAMCHUNK_H