diff --git a/LEGO1/lego/legoomni/include/act1state.h b/LEGO1/lego/legoomni/include/act1state.h index f595f7bf..5cbcc673 100644 --- a/LEGO1/lego/legoomni/include/act1state.h +++ b/LEGO1/lego/legoomni/include/act1state.h @@ -54,6 +54,7 @@ class Act1State : public LegoState { inline void SetName(const char* p_name) { m_name = p_name; } inline const MxString* GetName() const { return &m_name; } + // FUNCTION: LEGO1 0x100344d0 MxS32 Serialize(LegoFile* p_file) { @@ -69,6 +70,7 @@ class Act1State : public LegoState { p_file->ReadVector3(&m_point2); p_file->ReadVector3(&m_point3); } + return 0; } diff --git a/LEGO1/lego/legoomni/include/legoutil.h b/LEGO1/lego/legoomni/include/legoutil.h index af231191..696a1cc4 100644 --- a/LEGO1/lego/legoomni/include/legoutil.h +++ b/LEGO1/lego/legoomni/include/legoutil.h @@ -20,8 +20,10 @@ class LegoTexture; class NamedTexture { public: ~NamedTexture() { delete m_texture; } + // FUNCTION: LEGO1 0x1003f920 const MxString* GetName() const { return &m_name; } + LegoTexture* GetTexture() { return m_texture; } private: @@ -42,4 +44,7 @@ NamedTexture* ReadNamedTexture(LegoFile* p_file); void FUN_1003f540(LegoFile* p_file, const char* p_filename); void WriteNamedTexture(LegoFile* p_file, NamedTexture* p_texture); +// SYNTHETIC: LEGO1 0x10034b40 +// LegoTexture::`scalar deleting destructor' + #endif // LEGOUTIL_H diff --git a/LEGO1/lego/legoomni/src/act1/act1state.cpp b/LEGO1/lego/legoomni/src/act1/act1state.cpp index e8889609..e5cc55bc 100644 --- a/LEGO1/lego/legoomni/src/act1/act1state.cpp +++ b/LEGO1/lego/legoomni/src/act1/act1state.cpp @@ -180,61 +180,78 @@ MxBool Act1State::SetFlag() m_unk0x0bc.SetName(""); m_unk0x022 = 0; m_unk0x108.SetName(""); + if (m_unk0x154) { delete m_unk0x154; m_unk0x154 = NULL; } + if (m_unk0x158) { delete m_unk0x158; m_unk0x158 = NULL; } + if (m_unk0x15c) { delete m_unk0x15c; m_unk0x15c = NULL; } + if (m_unk0x160) { delete m_unk0x160; m_unk0x160 = NULL; } + m_unk0x164.SetName(""); + if (m_unk0x1b0) { delete m_unk0x1b0; m_unk0x1b0 = NULL; } + if (m_unk0x1b4) { delete m_unk0x1b4; m_unk0x1b4 = NULL; } + if (m_unk0x1b8) { delete m_unk0x1b8; m_unk0x1b8 = NULL; } + m_unk0x1bc.SetName(""); + if (m_unk0x208) { delete m_unk0x208; m_unk0x208 = NULL; } + if (m_unk0x20c) { delete m_unk0x20c; m_unk0x20c = NULL; } + m_unk0x210.SetName(""); + if (m_unk0x25c) { delete m_unk0x25c; m_unk0x25c = NULL; } + if (m_unk0x260) { delete m_unk0x260; m_unk0x260 = NULL; } + if (m_unk0x264) { delete m_unk0x264; m_unk0x264 = NULL; } + if (m_unk0x268) { delete m_unk0x268; m_unk0x268 = NULL; } + return TRUE; }