diff --git a/LEGO1/lego/legoomni/include/registrationbook.h b/LEGO1/lego/legoomni/include/registrationbook.h index 4a7f3ee8..aeede1d0 100644 --- a/LEGO1/lego/legoomni/include/registrationbook.h +++ b/LEGO1/lego/legoomni/include/registrationbook.h @@ -33,6 +33,27 @@ public: // SYNTHETIC: LEGO1 0x10076f30 // RegistrationBook::`scalar deleting destructor' + +private: + 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/gasstation/gasstation.cpp b/LEGO1/lego/legoomni/src/gasstation/gasstation.cpp index 37ff261e..36e48f56 100644 --- a/LEGO1/lego/legoomni/src/gasstation/gasstation.cpp +++ b/LEGO1/lego/legoomni/src/gasstation/gasstation.cpp @@ -5,16 +5,16 @@ // FUNCTION: LEGO1 0x100046a0 GasStation::GasStation() { - this->m_unk0xf8 = 0; - this->m_unk0x100 = 0; - this->m_unk0xfc = 0; - this->m_unk0x108 = 0; - this->m_unk0x104 = 0; - this->m_unk0x114 = 0; - this->m_unk0x106 = 0; - this->m_unk0x10c = 0; - this->m_unk0x115 = 0; - this->m_unk0x110 = 0; + m_unk0xf8 = 0; + m_unk0x100 = 0; + m_unk0xfc = 0; + m_unk0x108 = 0; + m_unk0x104 = 0; + m_unk0x114 = 0; + m_unk0x106 = 0; + m_unk0x10c = 0; + m_unk0x115 = 0; + m_unk0x110 = 0; NotificationManager()->Register(this); } diff --git a/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp b/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp index 5d5c6d94..f4b17194 100644 --- a/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp +++ b/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp @@ -1,11 +1,31 @@ #include "registrationbook.h" #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) { - // TODO + 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; } // STUB: LEGO1 0x10076f50