From c421680cec55b5d6fdb997bb17396f41b6ece6a8 Mon Sep 17 00:00:00 2001 From: Joshua Peisach Date: Sat, 8 Jul 2023 21:25:01 -0400 Subject: [PATCH] Match MxDSChunk ctor/dtor --- LEGO1/mxdschunk.cpp | 14 ++++++++++---- LEGO1/mxdschunk.h | 12 +++++++++++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/LEGO1/mxdschunk.cpp b/LEGO1/mxdschunk.cpp index 7ec8531c..63c43ba2 100644 --- a/LEGO1/mxdschunk.cpp +++ b/LEGO1/mxdschunk.cpp @@ -1,13 +1,19 @@ #include "mxdschunk.h" -// OFFSET: LEGO1 0x100be050 STUB +// OFFSET: LEGO1 0x100be050 MxDSChunk::MxDSChunk() { - // TODO + this->m_length = 0; + this->m_pStuff = NULL; + this->m_buffer = -1; + this->m_long1FromHeader = 0; + this->m_long2FromHeader = 0; } -// OFFSET: LEGO1 0x100be170 STUB +// OFFSET: LEGO1 0x100be170 MxDSChunk::~MxDSChunk() { - // TODO + if ((this->m_length & 1) != 0) { + delete this->m_pStuff; + } } diff --git a/LEGO1/mxdschunk.h b/LEGO1/mxdschunk.h index 8758ffa3..f9b1d9d0 100644 --- a/LEGO1/mxdschunk.h +++ b/LEGO1/mxdschunk.h @@ -1,8 +1,11 @@ #ifndef MXDSCHUNK_H #define MXDSCHUNK_H -#include "mxcore.h" +#include "mxcore.h" +#include "mxtypes.h" + +// VTABLE 0x100dc7f8 class MxDSChunk : public MxCore { public: @@ -21,6 +24,13 @@ class MxDSChunk : public MxCore { return !strcmp(name, MxDSChunk::ClassName()) || MxCore::IsA(name); } +private: + MxS16 m_length; // 0x8 + MxLong m_buffer; // 0xc + MxLong m_long1FromHeader; // 0x10 + MxLong m_long2FromHeader; // 0x14 + void* m_pStuff; // 0x18 + void* m_pSomething; // 0x1c }; #endif // MXDSCHUNK_H