1
0
Fork 0
mirror of https://github.com/isledecomp/isle.git synced 2025-03-27 23:20:32 -04:00

Implement LegoCarBuildAnimPresenter::Serialize ()

This commit is contained in:
MS 2025-01-20 21:43:24 -05:00 committed by GitHub
parent 5a7df7f95d
commit 4db8b44ce0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 24 additions and 3 deletions
LEGO1/lego
legoomni/src/build
sources/misc

View file

@ -288,11 +288,29 @@ void LegoCarBuildAnimPresenter::EndAction()
}
}
// STUB: LEGO1 0x10078e30
// STUB: BETA10 0x10071387
// FUNCTION: LEGO1 0x10078e30
// FUNCTION: BETA10 0x10071387
MxResult LegoCarBuildAnimPresenter::Serialize(LegoStorage* p_storage)
{
// TODO
if (p_storage->IsReadMode()) {
p_storage->ReadS16(m_placedPartCount);
p_storage->ReadFloat(m_unk0x130);
for (MxS16 i = 0; i < m_numberOfParts; i++) {
p_storage->ReadString(m_parts[i].m_name);
p_storage->ReadString(m_parts[i].m_wiredName);
p_storage->ReadS16(m_parts[i].m_objectId);
}
}
else if (p_storage->IsWriteMode()) {
p_storage->WriteS16(m_placedPartCount);
p_storage->WriteFloat(m_unk0x130);
for (MxS16 i = 0; i < m_numberOfParts; i++) {
p_storage->WriteString(m_parts[i].m_name);
p_storage->WriteString(m_parts[i].m_wiredName);
p_storage->WriteS16(m_parts[i].m_objectId);
}
}
return SUCCESS;
}

View file

@ -79,6 +79,7 @@ public:
return this;
}
// FUNCTION: BETA10 0x10073610
LegoStorage* WriteFloat(LegoFloat p_data)
{
Write(&p_data, sizeof(p_data));
@ -102,6 +103,7 @@ public:
return this;
}
// FUNCTION: BETA10 0x10073690
LegoStorage* ReadString(char* p_data)
{
LegoS16 length;
@ -148,6 +150,7 @@ public:
return this;
}
// FUNCTION: BETA10 0x10073650
LegoStorage* ReadFloat(LegoFloat& p_data)
{
Read(&p_data, sizeof(p_data));