mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-23 16:21:15 +00:00
review comments (final part)
This commit is contained in:
parent
a84709ad04
commit
09c76008ad
@ -88,7 +88,7 @@ class Act1State : public LegoState {
|
|||||||
return !strcmp(p_name, Act1State::ClassName()) || LegoState::IsA(p_name);
|
return !strcmp(p_name, Act1State::ClassName()) || LegoState::IsA(p_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
MxBool SetFlag() override; // vtable+0x18
|
MxBool SetFlag() override; // vtable+0x18
|
||||||
MxResult Serialize(LegoFile* p_file) override; // vtable+0x1c
|
MxResult Serialize(LegoFile* p_file) override; // vtable+0x1c
|
||||||
|
|
||||||
void FUN_10034660();
|
void FUN_10034660();
|
||||||
|
|||||||
@ -68,7 +68,7 @@ class AnimState : public LegoState {
|
|||||||
return !strcmp(p_name, AnimState::ClassName()) || LegoState::IsA(p_name);
|
return !strcmp(p_name, AnimState::ClassName()) || LegoState::IsA(p_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
MxBool SetFlag() override; // vtable+0x18
|
MxBool SetFlag() override; // vtable+0x18
|
||||||
MxResult Serialize(LegoFile* p_file) override; // vtable+0x1c
|
MxResult Serialize(LegoFile* p_file) override; // vtable+0x1c
|
||||||
|
|
||||||
void FUN_100651d0(MxU32, AnimInfo*, MxU32&);
|
void FUN_100651d0(MxU32, AnimInfo*, MxU32&);
|
||||||
|
|||||||
@ -28,17 +28,14 @@ class RaceState : public LegoState {
|
|||||||
inline MxResult Serialize(LegoFile* p_file)
|
inline MxResult Serialize(LegoFile* p_file)
|
||||||
{
|
{
|
||||||
if (p_file->IsReadMode()) {
|
if (p_file->IsReadMode()) {
|
||||||
p_file->Read(&m_id, sizeof(m_id));
|
ReadFromStorage(p_file, &m_id);
|
||||||
p_file->Read(&m_unk0x02, sizeof(m_unk0x02));
|
ReadFromStorage(p_file, &m_unk0x02);
|
||||||
p_file->Read(&m_score, sizeof(m_score));
|
ReadFromStorage(p_file, &m_score);
|
||||||
}
|
}
|
||||||
else if (p_file->IsWriteMode()) {
|
else if (p_file->IsWriteMode()) {
|
||||||
MxS8 id = m_id;
|
WriteToStorage(p_file, m_id);
|
||||||
p_file->Write(&id, sizeof(id));
|
WriteToStorage(p_file, m_unk0x02);
|
||||||
MxS16 unk0x02 = m_unk0x02;
|
WriteToStorage(p_file, m_score);
|
||||||
p_file->Write(&unk0x02, sizeof(unk0x02));
|
|
||||||
MxS16 score = m_score;
|
|
||||||
p_file->Write(&score, sizeof(score));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|||||||
@ -60,14 +60,13 @@ class LegoState : public MxCore {
|
|||||||
|
|
||||||
inline MxResult ReadFromFile(LegoFile* p_file)
|
inline MxResult ReadFromFile(LegoFile* p_file)
|
||||||
{
|
{
|
||||||
p_file->Read(&m_nextIndex, sizeof(m_nextIndex));
|
ReadFromStorage(p_file, &m_nextIndex);
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline MxResult WriteToFile(LegoFile* p_file)
|
inline MxResult WriteToFile(LegoFile* p_file)
|
||||||
{
|
{
|
||||||
MxS16 write = m_nextIndex;
|
WriteToStorage(p_file, m_nextIndex);
|
||||||
p_file->Write(&write, sizeof(write));
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,23 +17,19 @@ class PizzaMissionState : public LegoState {
|
|||||||
public:
|
public:
|
||||||
inline MxResult WriteToFile(LegoFile* p_file)
|
inline MxResult WriteToFile(LegoFile* p_file)
|
||||||
{
|
{
|
||||||
MxS16 unk0x06 = m_unk0x06;
|
WriteToStorage(p_file, m_unk0x06);
|
||||||
p_file->Write(&unk0x06, sizeof(unk0x06));
|
WriteToStorage(p_file, m_unk0x14);
|
||||||
MxS16 unk0x14 = m_unk0x14;
|
WriteToStorage(p_file, m_unk0x16);
|
||||||
p_file->Write(&unk0x14, sizeof(unk0x14));
|
WriteToStorage(p_file, m_score);
|
||||||
MxS16 unk0x16 = m_unk0x16;
|
|
||||||
p_file->Write(&unk0x16, sizeof(unk0x16));
|
|
||||||
MxS16 score = m_score;
|
|
||||||
p_file->Write(&score, sizeof(score));
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline MxResult ReadFromFile(LegoFile* p_file)
|
inline MxResult ReadFromFile(LegoFile* p_file)
|
||||||
{
|
{
|
||||||
p_file->Read(&m_unk0x06, sizeof(m_unk0x06));
|
ReadFromStorage(p_file, &m_unk0x06);
|
||||||
p_file->Read(&m_unk0x14, sizeof(m_unk0x14));
|
ReadFromStorage(p_file, &m_unk0x14);
|
||||||
p_file->Read(&m_unk0x16, sizeof(m_unk0x16));
|
ReadFromStorage(p_file, &m_unk0x16);
|
||||||
p_file->Read(&m_score, sizeof(m_score));
|
ReadFromStorage(p_file, &m_score);
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -648,39 +648,29 @@ MxResult AmbulanceMissionState::Serialize(LegoFile* p_file)
|
|||||||
LegoState::Serialize(p_file);
|
LegoState::Serialize(p_file);
|
||||||
|
|
||||||
if (p_file->IsReadMode()) {
|
if (p_file->IsReadMode()) {
|
||||||
p_file->Read(&m_unk0x10, sizeof(m_unk0x10));
|
ReadFromStorage(p_file, &m_unk0x10);
|
||||||
p_file->Read(&m_unk0x12, sizeof(m_unk0x12));
|
ReadFromStorage(p_file, &m_unk0x12);
|
||||||
p_file->Read(&m_unk0x14, sizeof(m_unk0x14));
|
ReadFromStorage(p_file, &m_unk0x14);
|
||||||
p_file->Read(&m_unk0x16, sizeof(m_unk0x16));
|
ReadFromStorage(p_file, &m_unk0x16);
|
||||||
p_file->Read(&m_unk0x18, sizeof(m_unk0x18));
|
ReadFromStorage(p_file, &m_unk0x18);
|
||||||
p_file->Read(&m_score1, sizeof(m_score1));
|
ReadFromStorage(p_file, &m_score1);
|
||||||
p_file->Read(&m_score2, sizeof(m_score2));
|
ReadFromStorage(p_file, &m_score2);
|
||||||
p_file->Read(&m_score3, sizeof(m_score3));
|
ReadFromStorage(p_file, &m_score3);
|
||||||
p_file->Read(&m_score4, sizeof(m_score4));
|
ReadFromStorage(p_file, &m_score4);
|
||||||
p_file->Read(&m_score5, sizeof(m_score5));
|
ReadFromStorage(p_file, &m_score5);
|
||||||
}
|
}
|
||||||
else if (p_file->IsWriteMode()) {
|
else if (p_file->IsWriteMode()) {
|
||||||
MxS16 write;
|
MxS16 write;
|
||||||
write = m_unk0x10;
|
WriteToStorage(p_file, m_unk0x10);
|
||||||
p_file->Write(&write, sizeof(write));
|
WriteToStorage(p_file, m_unk0x12);
|
||||||
write = m_unk0x12;
|
WriteToStorage(p_file, m_unk0x14);
|
||||||
p_file->Write(&write, sizeof(write));
|
WriteToStorage(p_file, m_unk0x16);
|
||||||
write = m_unk0x14;
|
WriteToStorage(p_file, m_unk0x18);
|
||||||
p_file->Write(&write, sizeof(write));
|
WriteToStorage(p_file, m_score1);
|
||||||
write = m_unk0x16;
|
WriteToStorage(p_file, m_score2);
|
||||||
p_file->Write(&write, sizeof(write));
|
WriteToStorage(p_file, m_score3);
|
||||||
write = m_unk0x18;
|
WriteToStorage(p_file, m_score4);
|
||||||
p_file->Write(&write, sizeof(write));
|
WriteToStorage(p_file, m_score5);
|
||||||
write = m_score1;
|
|
||||||
p_file->Write(&write, sizeof(write));
|
|
||||||
write = m_score2;
|
|
||||||
p_file->Write(&write, sizeof(write));
|
|
||||||
write = m_score3;
|
|
||||||
p_file->Write(&write, sizeof(write));
|
|
||||||
write = m_score4;
|
|
||||||
p_file->Write(&write, sizeof(write));
|
|
||||||
write = m_score5;
|
|
||||||
p_file->Write(&write, sizeof(write));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|||||||
@ -77,9 +77,13 @@ MxU32 PizzeriaState::FUN_10017d70()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10017da0
|
// FUNCTION: LEGO1 0x10017da0
|
||||||
|
// FUNCTION: BETA10 0x100efe33
|
||||||
MxResult PizzeriaState::Serialize(LegoFile* p_file)
|
MxResult PizzeriaState::Serialize(LegoFile* p_file)
|
||||||
{
|
{
|
||||||
LegoState::Serialize(p_file);
|
if (p_file->IsWriteMode()) {
|
||||||
|
p_file->WriteString(ClassName());
|
||||||
|
}
|
||||||
|
|
||||||
if (p_file->IsReadMode()) {
|
if (p_file->IsReadMode()) {
|
||||||
for (MxS16 i = 0; i < 5; i++) {
|
for (MxS16 i = 0; i < 5; i++) {
|
||||||
m_unk0x08[i].ReadFromFile(p_file);
|
m_unk0x08[i].ReadFromFile(p_file);
|
||||||
|
|||||||
@ -163,47 +163,28 @@ MxResult TowTrackMissionState::Serialize(LegoFile* p_file)
|
|||||||
LegoState::Serialize(p_file);
|
LegoState::Serialize(p_file);
|
||||||
|
|
||||||
if (p_file->IsReadMode()) {
|
if (p_file->IsReadMode()) {
|
||||||
p_file->Read(&m_unk0x12, sizeof(m_unk0x12));
|
ReadFromStorage(p_file, &m_unk0x12);
|
||||||
p_file->Read(&m_unk0x14, sizeof(m_unk0x14));
|
ReadFromStorage(p_file, &m_unk0x14);
|
||||||
p_file->Read(&m_unk0x16, sizeof(m_unk0x16));
|
ReadFromStorage(p_file, &m_unk0x16);
|
||||||
p_file->Read(&m_unk0x18, sizeof(m_unk0x18));
|
ReadFromStorage(p_file, &m_unk0x18);
|
||||||
p_file->Read(&m_unk0x1a, sizeof(m_unk0x1a));
|
ReadFromStorage(p_file, &m_unk0x1a);
|
||||||
p_file->Read(&m_score1, sizeof(m_score1));
|
ReadFromStorage(p_file, &m_score1);
|
||||||
p_file->Read(&m_score2, sizeof(m_score2));
|
ReadFromStorage(p_file, &m_score2);
|
||||||
p_file->Read(&m_score3, sizeof(m_score3));
|
ReadFromStorage(p_file, &m_score3);
|
||||||
p_file->Read(&m_score4, sizeof(m_score4));
|
ReadFromStorage(p_file, &m_score4);
|
||||||
p_file->Read(&m_score5, sizeof(m_score5));
|
ReadFromStorage(p_file, &m_score5);
|
||||||
}
|
}
|
||||||
else if (p_file->IsWriteMode()) {
|
else if (p_file->IsWriteMode()) {
|
||||||
MxU16 write = m_unk0x12;
|
WriteToStorage(p_file, m_unk0x12);
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
WriteToStorage(p_file, m_unk0x14);
|
||||||
|
WriteToStorage(p_file, m_unk0x16);
|
||||||
write = m_unk0x14;
|
WriteToStorage(p_file, m_unk0x18);
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
WriteToStorage(p_file, m_unk0x1a);
|
||||||
|
WriteToStorage(p_file, m_score1);
|
||||||
write = m_unk0x16;
|
WriteToStorage(p_file, m_score2);
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
WriteToStorage(p_file, m_score3);
|
||||||
|
WriteToStorage(p_file, m_score4);
|
||||||
write = m_unk0x18;
|
WriteToStorage(p_file, m_score5);
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
|
||||||
|
|
||||||
write = m_unk0x1a;
|
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
|
||||||
|
|
||||||
write = m_score1;
|
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
|
||||||
|
|
||||||
write = m_score2;
|
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
|
||||||
|
|
||||||
write = m_score3;
|
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
|
||||||
|
|
||||||
write = m_score4;
|
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
|
||||||
|
|
||||||
write = m_score5;
|
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|||||||
@ -441,24 +441,18 @@ MxResult GasStationState::Serialize(LegoFile* p_file)
|
|||||||
LegoState::Serialize(p_file);
|
LegoState::Serialize(p_file);
|
||||||
|
|
||||||
if (p_file->IsWriteMode()) {
|
if (p_file->IsWriteMode()) {
|
||||||
MxS16 write;
|
WriteToStorage(p_file, m_unk0x18);
|
||||||
write = m_unk0x18;
|
WriteToStorage(p_file, m_unk0x1a);
|
||||||
p_file->Write(&write, sizeof(write));
|
WriteToStorage(p_file, m_unk0x1c);
|
||||||
write = m_unk0x1a;
|
WriteToStorage(p_file, m_unk0x1e);
|
||||||
p_file->Write(&write, sizeof(write));
|
WriteToStorage(p_file, m_unk0x20);
|
||||||
write = m_unk0x1c;
|
|
||||||
p_file->Write(&write, sizeof(write));
|
|
||||||
write = m_unk0x1e;
|
|
||||||
p_file->Write(&write, sizeof(write));
|
|
||||||
write = m_unk0x20;
|
|
||||||
p_file->Write(&write, sizeof(write));
|
|
||||||
}
|
}
|
||||||
else if (p_file->IsReadMode()) {
|
else if (p_file->IsReadMode()) {
|
||||||
p_file->Read(&m_unk0x18, sizeof(m_unk0x18));
|
ReadFromStorage(p_file, &m_unk0x18);
|
||||||
p_file->Read(&m_unk0x1a, sizeof(m_unk0x1a));
|
ReadFromStorage(p_file, &m_unk0x1a);
|
||||||
p_file->Read(&m_unk0x1c, sizeof(m_unk0x1c));
|
ReadFromStorage(p_file, &m_unk0x1c);
|
||||||
p_file->Read(&m_unk0x1e, sizeof(m_unk0x1e));
|
ReadFromStorage(p_file, &m_unk0x1e);
|
||||||
p_file->Read(&m_unk0x20, sizeof(m_unk0x20));
|
ReadFromStorage(p_file, &m_unk0x20);
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|||||||
@ -689,28 +689,20 @@ MxResult HospitalState::Serialize(LegoFile* p_file)
|
|||||||
LegoState::Serialize(p_file);
|
LegoState::Serialize(p_file);
|
||||||
|
|
||||||
if (p_file->IsWriteMode()) {
|
if (p_file->IsWriteMode()) {
|
||||||
MxS16 write;
|
WriteToStorage(p_file, m_unk0x0c);
|
||||||
|
WriteToStorage(p_file, m_unk0x0e);
|
||||||
write = m_unk0x0c;
|
WriteToStorage(p_file, m_unk0x10);
|
||||||
p_file->Write(&write, sizeof(m_unk0x0c));
|
WriteToStorage(p_file, m_unk0x12);
|
||||||
write = m_unk0x0e;
|
WriteToStorage(p_file, m_unk0x14);
|
||||||
p_file->Write(&write, sizeof(m_unk0x0e));
|
WriteToStorage(p_file, m_unk0x16);
|
||||||
write = m_unk0x10;
|
|
||||||
p_file->Write(&write, sizeof(m_unk0x10));
|
|
||||||
write = m_unk0x12;
|
|
||||||
p_file->Write(&write, sizeof(m_unk0x12));
|
|
||||||
write = m_unk0x14;
|
|
||||||
p_file->Write(&write, sizeof(m_unk0x14));
|
|
||||||
write = m_unk0x16;
|
|
||||||
p_file->Write(&write, sizeof(m_unk0x16));
|
|
||||||
}
|
}
|
||||||
else if (p_file->IsReadMode()) {
|
else if (p_file->IsReadMode()) {
|
||||||
p_file->Read(&m_unk0x0c, sizeof(m_unk0x0c));
|
ReadFromStorage(p_file, &m_unk0x0c);
|
||||||
p_file->Read(&m_unk0x0e, sizeof(m_unk0x0e));
|
ReadFromStorage(p_file, &m_unk0x0e);
|
||||||
p_file->Read(&m_unk0x10, sizeof(m_unk0x10));
|
ReadFromStorage(p_file, &m_unk0x10);
|
||||||
p_file->Read(&m_unk0x12, sizeof(m_unk0x12));
|
ReadFromStorage(p_file, &m_unk0x12);
|
||||||
p_file->Read(&m_unk0x14, sizeof(m_unk0x14));
|
ReadFromStorage(p_file, &m_unk0x14);
|
||||||
p_file->Read(&m_unk0x16, sizeof(m_unk0x16));
|
ReadFromStorage(p_file, &m_unk0x16);
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|||||||
@ -1390,8 +1390,8 @@ MxResult Act1State::Serialize(LegoFile* p_file)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
p_file->Write(&m_unk0x010, sizeof(m_unk0x010));
|
WriteToStorage(p_file, m_unk0x010);
|
||||||
p_file->Write(&m_unk0x022, sizeof(m_unk0x022));
|
WriteToStorage(p_file, m_unk0x022);
|
||||||
}
|
}
|
||||||
else if (p_file->IsReadMode()) {
|
else if (p_file->IsReadMode()) {
|
||||||
if (m_unk0x108.GetName()->Compare("") != 0) {
|
if (m_unk0x108.GetName()->Compare("") != 0) {
|
||||||
@ -1444,8 +1444,8 @@ MxResult Act1State::Serialize(LegoFile* p_file)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
p_file->Read(&m_unk0x010, sizeof(m_unk0x010));
|
ReadFromStorage(p_file, &m_unk0x010);
|
||||||
p_file->Read(&m_unk0x022, sizeof(m_unk0x022));
|
ReadFromStorage(p_file, &m_unk0x022);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
|
|||||||
@ -211,11 +211,10 @@ MxResult PoliceState::Serialize(LegoFile* p_file)
|
|||||||
LegoState::Serialize(p_file);
|
LegoState::Serialize(p_file);
|
||||||
|
|
||||||
if (p_file->IsReadMode()) {
|
if (p_file->IsReadMode()) {
|
||||||
p_file->Read(&m_policeScript, sizeof(m_policeScript));
|
ReadFromStorage(p_file, &m_policeScript);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
PoliceScript::Script policeScript = m_policeScript;
|
WriteToStorage(p_file, m_policeScript);
|
||||||
p_file->Write(&policeScript, sizeof(m_policeScript));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|||||||
@ -156,4 +156,16 @@ class LegoFile : public LegoStorage {
|
|||||||
FILE* m_file; // 0x08
|
FILE* m_file; // 0x08
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
inline void ReadFromStorage(LegoStorage* p_storage, T* p_variable, LegoU32 p_size = sizeof(T))
|
||||||
|
{
|
||||||
|
p_storage->Read(p_variable, p_size);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
inline void WriteToStorage(LegoStorage* p_storage, T p_variable)
|
||||||
|
{
|
||||||
|
p_storage->Write(&p_variable, sizeof(T));
|
||||||
|
}
|
||||||
|
|
||||||
#endif // __LEGOSTORAGE_H
|
#endif // __LEGOSTORAGE_H
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user