diff --git a/LEGO1/lego/legoomni/include/registrationbook.h b/LEGO1/lego/legoomni/include/registrationbook.h index 70239505..aeede1d0 100644 --- a/LEGO1/lego/legoomni/include/registrationbook.h +++ b/LEGO1/lego/legoomni/include/registrationbook.h @@ -35,23 +35,25 @@ class RegistrationBook : public LegoWorld { // RegistrationBook::`scalar deleting destructor' private: - undefined4 m_unk0xf8; // 0xf8 - undefined m_unk0xfc; // 0xfc - undefined m_unk0xfd[0x183]; // 0xfd - undefined4 m_unk0x280; // 0x280 - undefined4 m_unk0x284; // 0x284 - undefined4 m_unk0x288; // 0x288 - undefined2 m_unk0x28c; // 0x28c - undefined2 m_unk0x28e; // 0x28e - undefined m_unk0x290[0x28]; // 0x290 - undefined2 m_unk0x2b8; // 0x2b8 - undefined m_unk0x2ba[0x02]; // 0x2ba - undefined4 m_unk0x2bc; // 0x2bc - undefined m_unk0x2c1; // 0x2c1 - undefined m_unk0x2c2[0x02]; // 0x2c2 - undefined4 m_unk0x2c4; // 0x2c4 - undefined4 m_unk0x2c8; // 0x2c8 - undefined4 m_unk0x2cc; // 0x2cc + undefined4 m_unk0xf8; // 0xf8 + undefined m_unk0xfc; // 0xfc + undefined m_unk0xfd[3]; // 0xfd + undefined m_unk0x100[0x68]; // 0x100 + undefined m_unk0x168[0x118]; // 0x168 + struct { + undefined4 m_unk0x00[3]; // 0x00 + undefined2 m_unk0x0c; // 0x0c + undefined2 m_unk0x0e; // 0x0e + } m_unk0x280; // 0x280 + undefined m_unk0x290[0x28]; // 0x290 + undefined2 m_unk0x2b8; // 0x2b8 + undefined4 m_unk0x2bc; // 0x2bc + undefined m_unk0x2c0; // 0x2c0 + undefined m_unk0x2c1; // 0x2c1 + undefined m_unk0x2c2[0x02]; // 0x2c2 + undefined4 m_unk0x2c4; // 0x2c4 + undefined4 m_unk0x2c8; // 0x2c8 + undefined4 m_unk0x2cc; // 0x2cc }; #endif // REGISTRATIONBOOK_H diff --git a/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp b/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp index 41a7aeca..f4b17194 100644 --- a/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp +++ b/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp @@ -3,24 +3,29 @@ #include "legoomni.h" #include "mxnotificationmanager.h" -// STUB: LEGO1 0x10076d20 -RegistrationBook::RegistrationBook() +DECOMP_SIZE_ASSERT(RegistrationBook, 0x2d0) + +// FUNCTION: LEGO1 0x10076d20 +RegistrationBook::RegistrationBook() : m_unk0xf8(0x80000000), m_unk0xfc(1) { - m_unk0xf8 = 0x80000000; - m_unk0xfc = 1; - m_unk0x28e = 0; - m_unk0x280 = -1; - m_unk0x284 = -1; - m_unk0x288 = -1; - m_unk0x28c = -1; + memset(m_unk0x100, 0, sizeof(m_unk0x100)); + memset(m_unk0x168, 0, sizeof(m_unk0x168)); + + // Maybe not be part of the struct, but then it would need packing + m_unk0x280.m_unk0x0e = 0; + + memset(m_unk0x290, 0, sizeof(m_unk0x290)); + memset(&m_unk0x280, -1, sizeof(m_unk0x280) - 2); + m_unk0x2b8 = 0; m_unk0x2bc = 0; + + NotificationManager()->Register(this); + m_unk0x2c1 = 0; m_unk0x2c4 = 0; m_unk0x2c8 = 0; m_unk0x2cc = 0; - - NotificationManager()->Register(this); } // STUB: LEGO1 0x10076f50