address review comments, part 1 [skip ci]

This commit is contained in:
jonschz 2024-06-11 20:21:17 +02:00
parent 7dc241176e
commit 6e811c7971
8 changed files with 66 additions and 74 deletions

View File

@ -28,20 +28,19 @@ class RaceState : public LegoState {
inline MxResult Serialize(LegoFile* p_legoFile)
{
if (p_legoFile->IsReadMode()) {
p_legoFile->Read(&m_id, 1);
p_legoFile->Read(&m_unk0x02, 2);
p_legoFile->Read(&m_score, 2);
p_legoFile->Read(&m_id, sizeof(m_id));
p_legoFile->Read(&m_unk0x02, sizeof(m_unk0x02));
p_legoFile->Read(&m_score, sizeof(m_score));
}
else if (p_legoFile->IsWriteMode()) {
// A write variable needs to be used here, otherwise
// the compiler aggresively optimizes the function
MxS8 id = m_id;
p_legoFile->Write(&id, 1);
p_legoFile->Write(&id, sizeof(id));
MxS16 unk0x02 = m_unk0x02;
p_legoFile->Write(&unk0x02, 2);
p_legoFile->Write(&unk0x02, sizeof(unk0x02));
MxS16 score = m_score;
p_legoFile->Write(&score, 2);
p_legoFile->Write(&score, sizeof(score));
}
return SUCCESS;
}

View File

@ -60,16 +60,14 @@ class LegoState : public MxCore {
inline MxResult ReadFromFile(LegoFile* p_legoFile)
{
p_legoFile->Read(&m_nextIndex, 2);
p_legoFile->Read(&m_nextIndex, sizeof(m_nextIndex));
return SUCCESS;
}
inline MxResult WriteToFile(LegoFile* p_legoFile)
{
// A write variable needs to be used here, otherwise
// the compiler aggresively optimizes the function
MxS16 write = m_nextIndex;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
return SUCCESS;
}

View File

@ -15,6 +15,28 @@ class PizzaMissionState : public LegoState {
// SIZE 0x20
struct Entry {
public:
inline MxResult WriteToFile(LegoFile* p_legoFile)
{
MxS16 unk0x06 = m_unk0x06;
p_legoFile->Write(&unk0x06, sizeof(unk0x06));
MxS16 unk0x14 = m_unk0x14;
p_legoFile->Write(&unk0x14, sizeof(unk0x14));
MxS16 unk0x16 = m_unk0x16;
p_legoFile->Write(&unk0x16, sizeof(unk0x16));
MxS16 score = m_score;
p_legoFile->Write(&score, sizeof(score));
return SUCCESS;
}
inline MxResult ReadFromFile(LegoFile* p_legoFile)
{
p_legoFile->Read(&m_unk0x06, sizeof(m_unk0x06));
p_legoFile->Read(&m_unk0x14, sizeof(m_unk0x14));
p_legoFile->Read(&m_unk0x16, sizeof(m_unk0x16));
p_legoFile->Read(&m_score, sizeof(m_score));
return SUCCESS;
}
undefined2 m_unk0x00; // 0x00
MxU8 m_id; // 0x02
undefined m_unk0x03[3]; // 0x03
@ -26,30 +48,6 @@ class PizzaMissionState : public LegoState {
MxS16 m_unk0x16; // 0x16
MxS16 m_score; // 0x18
undefined m_unk0x1a[6]; // 0x1a
inline MxResult WriteToFile(LegoFile* p_legoFile)
{
// A write variable needs to be used here, otherwise
// the compiler aggresively optimizes the function
MxS16 unk0x06 = m_unk0x06;
p_legoFile->Write(&unk0x06, 2);
MxS16 unk0x14 = m_unk0x14;
p_legoFile->Write(&unk0x14, 2);
MxS16 unk0x16 = m_unk0x16;
p_legoFile->Write(&unk0x16, 2);
MxS16 score = m_score;
p_legoFile->Write(&score, 2);
return SUCCESS;
}
inline MxResult ReadFromFile(LegoFile* p_legoFile)
{
p_legoFile->Read(&m_unk0x06, 2);
p_legoFile->Read(&m_unk0x14, 2);
p_legoFile->Read(&m_unk0x16, 2);
p_legoFile->Read(&m_score, 2);
return SUCCESS;
}
};
PizzaMissionState();

View File

@ -646,42 +646,42 @@ AmbulanceMissionState::AmbulanceMissionState()
MxResult AmbulanceMissionState::Serialize(LegoFile* p_legoFile)
{
LegoState::Serialize(p_legoFile);
if (p_legoFile->IsReadMode()) {
p_legoFile->Read(&m_unk0x10, 2);
p_legoFile->Read(&m_unk0x12, 2);
p_legoFile->Read(&m_unk0x14, 2);
p_legoFile->Read(&m_unk0x16, 2);
p_legoFile->Read(&m_unk0x18, 2);
p_legoFile->Read(&m_score1, 2);
p_legoFile->Read(&m_score2, 2);
p_legoFile->Read(&m_score3, 2);
p_legoFile->Read(&m_score4, 2);
p_legoFile->Read(&m_score5, 2);
p_legoFile->Read(&m_unk0x10, sizeof(m_unk0x10));
p_legoFile->Read(&m_unk0x12, sizeof(m_unk0x12));
p_legoFile->Read(&m_unk0x14, sizeof(m_unk0x14));
p_legoFile->Read(&m_unk0x16, sizeof(m_unk0x16));
p_legoFile->Read(&m_unk0x18, sizeof(m_unk0x18));
p_legoFile->Read(&m_score1, sizeof(m_score1));
p_legoFile->Read(&m_score2, sizeof(m_score2));
p_legoFile->Read(&m_score3, sizeof(m_score3));
p_legoFile->Read(&m_score4, sizeof(m_score4));
p_legoFile->Read(&m_score5, sizeof(m_score5));
}
else if (p_legoFile->IsWriteMode()) {
// A write variable needs to be used here, otherwise
// the compiler aggresively optimizes the function
MxS16 write;
write = m_unk0x10;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_unk0x12;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_unk0x14;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_unk0x16;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_unk0x18;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_score1;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_score2;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_score3;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_score4;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_score5;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
}
return SUCCESS;
}

View File

@ -120,6 +120,7 @@ MxResult PizzaMissionState::Serialize(LegoFile* p_legoFile)
m_state[i].WriteToFile(p_legoFile);
}
}
return SUCCESS;
}

View File

@ -86,8 +86,6 @@ MxResult PizzeriaState::Serialize(LegoFile* p_legoFile)
}
}
else {
// A write variable needs to be used here, otherwise
// the compiler aggresively optimizes the function
for (MxS16 i = 0; i < 5; i++) {
m_unk0x08[i].WriteToFile(p_legoFile);
}

View File

@ -439,28 +439,28 @@ GasStationState::GasStationState()
MxResult GasStationState::Serialize(LegoFile* p_legoFile)
{
LegoState::Serialize(p_legoFile);
if (p_legoFile->IsWriteMode()) {
// A write variable needs to be used here, otherwise
// the compiler aggresively optimizes the function
MxS16 write;
write = m_unk0x18;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_unk0x1a;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_unk0x1c;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_unk0x1e;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
write = m_unk0x20;
p_legoFile->Write(&write, 2);
p_legoFile->Write(&write, sizeof(write));
}
else if (p_legoFile->IsReadMode()) {
p_legoFile->Read(&m_unk0x18, 2);
p_legoFile->Read(&m_unk0x1a, 2);
p_legoFile->Read(&m_unk0x1c, 2);
p_legoFile->Read(&m_unk0x1e, 2);
p_legoFile->Read(&m_unk0x20, 2);
p_legoFile->Read(&m_unk0x18, sizeof(m_unk0x18));
p_legoFile->Read(&m_unk0x1a, sizeof(m_unk0x1a));
p_legoFile->Read(&m_unk0x1c, sizeof(m_unk0x1c));
p_legoFile->Read(&m_unk0x1e, sizeof(m_unk0x1e));
p_legoFile->Read(&m_unk0x20, sizeof(m_unk0x20));
}
return SUCCESS;
}

View File

@ -689,8 +689,6 @@ MxResult HospitalState::Serialize(LegoFile* p_legoFile)
LegoState::Serialize(p_legoFile);
if (p_legoFile->IsWriteMode()) {
// A write variable needs to be used here, otherwise
// the compiler aggresively optimizes the function
MxS16 write;
write = m_unk0x0c;