Match LegoVehicleBuildState::Serialize

This commit is contained in:
Christian Semmler
2025-01-12 12:27:34 -07:00
parent 76166e7898
commit 3b47366f05
2 changed files with 17 additions and 11 deletions

View File

@@ -15,6 +15,7 @@ class MxSoundPresenter;
class MxActionNotificationParam; class MxActionNotificationParam;
// VTABLE: LEGO1 0x100d66e0 // VTABLE: LEGO1 0x100d66e0
// VTABLE: BETA10 0x101bb910
// SIZE 0x50 // SIZE 0x50
class LegoVehicleBuildState : public LegoState { class LegoVehicleBuildState : public LegoState {
public: public:
@@ -32,13 +33,13 @@ public:
// FUNCTION: LEGO1 0x10025ff0 // FUNCTION: LEGO1 0x10025ff0
const char* ClassName() const override // vtable+0x0c const char* ClassName() const override // vtable+0x0c
{ {
return this->m_className.GetData(); return m_className.GetData();
} }
// FUNCTION: LEGO1 0x10026000 // FUNCTION: LEGO1 0x10026000
MxBool IsA(const char* p_name) const override // vtable+0x10 MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, this->m_className.GetData()) || LegoState::IsA(p_name); return !strcmp(p_name, m_className.GetData()) || LegoState::IsA(p_name);
} }
MxResult Serialize(LegoFile* p_file) override; // vtable+0x1c MxResult Serialize(LegoFile* p_file) override; // vtable+0x1c
@@ -56,7 +57,7 @@ public:
MxString m_className; // 0x38 MxString m_className; // 0x38
AnimationState m_animationState; // 0x48 AnimationState m_animationState; // 0x48
undefined m_unk0x4c; // 0x4c MxU8 m_unk0x4c; // 0x4c
MxBool m_unk0x4d; // 0x4d MxBool m_unk0x4d; // 0x4d
MxBool m_unk0x4e; // 0x4e MxBool m_unk0x4e; // 0x4e
MxU8 m_placedPartCount; // 0x4f MxU8 m_placedPartCount; // 0x4f

View File

@@ -1704,21 +1704,26 @@ LegoVehicleBuildState::LegoVehicleBuildState(const char* p_classType)
} }
// FUNCTION: LEGO1 0x10026120 // FUNCTION: LEGO1 0x10026120
// FUNCTION: BETA10 0x1006eef0
MxResult LegoVehicleBuildState::Serialize(LegoFile* p_file) MxResult LegoVehicleBuildState::Serialize(LegoFile* p_file)
{ {
LegoState::Serialize(p_file); LegoState::Serialize(p_file);
if (p_file->IsReadMode()) { if (p_file->IsReadMode()) {
Read(p_file, &m_unk0x4c); p_file->Read(m_unk0x4c);
Read(p_file, &m_unk0x4d); p_file->Read(m_unk0x4d);
Read(p_file, &m_unk0x4e); p_file->Read(m_unk0x4e);
Read(p_file, &m_placedPartCount); #ifndef BETA10
p_file->Read(m_placedPartCount);
#endif
} }
else { else {
Write(p_file, m_unk0x4c); p_file->Write(m_unk0x4c);
Write(p_file, m_unk0x4d); p_file->Write(m_unk0x4d);
Write(p_file, m_unk0x4e); p_file->Write(m_unk0x4e);
Write(p_file, m_placedPartCount); #ifndef BETA10
p_file->Write(m_placedPartCount);
#endif
} }
return SUCCESS; return SUCCESS;