mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-25 09:24:17 +00:00
Fix writing/reading of game state (#834)
* Fix writing/reading of game state * Match existing state serialization functions
This commit is contained in:
committed by
GitHub
parent
26f2dd1e5f
commit
c9db98c4c3
@@ -34,7 +34,7 @@ public:
|
||||
MxResult Serialize(LegoFile* p_file)
|
||||
{
|
||||
if (p_file->IsWriteMode()) {
|
||||
p_file->FUN_10006030(m_name);
|
||||
p_file->WriteString(m_name);
|
||||
p_file->WriteVector3(m_point1);
|
||||
p_file->WriteVector3(m_point2);
|
||||
p_file->WriteVector3(m_point3);
|
||||
@@ -71,8 +71,8 @@ public:
|
||||
return !strcmp(p_name, Act1State::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxBool SetFlag() override; // vtable+0x18
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxBool SetFlag() override; // vtable+0x18
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
void FUN_10034660();
|
||||
void FUN_100346a0();
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
return !strcmp(p_name, Act3State::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxBool VTable0x14() override;
|
||||
MxBool IsSerializable() override;
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1000e3c0
|
||||
// Act3State::`scalar deleting destructor'
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
return !strcmp(p_name, AmbulanceMissionState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
inline void SetUnknown0x08(undefined4 p_unk0x08) { m_unk0x08 = p_unk0x08; }
|
||||
|
||||
|
||||
@@ -50,8 +50,8 @@ public:
|
||||
return !strcmp(p_name, AnimState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxBool SetFlag() override; // vtable+0x18
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxBool SetFlag() override; // vtable+0x18
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
void FUN_100651d0(MxU32, AnimInfo*, MxU32&);
|
||||
void FUN_10065240(MxU32, AnimInfo*, MxU32);
|
||||
|
||||
@@ -27,7 +27,7 @@ public:
|
||||
return !strcmp(p_name, GasStationState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10006290
|
||||
// GasStationState::`scalar deleting destructor'
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000e0b0
|
||||
MxBool VTable0x14() override { return FALSE; } // vtable+0x14
|
||||
MxBool IsSerializable() override { return FALSE; } // vtable+0x14
|
||||
|
||||
// FUNCTION: LEGO1 0x1000e0c0
|
||||
MxBool SetFlag() override
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
return !strcmp(p_name, HospitalState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
// SYNTHETIC: LEGO1 0x100764c0
|
||||
// HospitalState::`scalar deleting destructor'
|
||||
|
||||
@@ -27,7 +27,7 @@ public:
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10071830
|
||||
MxBool VTable0x14() override { return FALSE; } // vtable+0x14
|
||||
MxBool IsSerializable() override { return FALSE; } // vtable+0x14
|
||||
|
||||
inline MxS16 GetMaxNameLength() { return _countof(m_letters); }
|
||||
inline MxStillPresenter* GetNameLetter(MxS32 p_index) { return m_letters[p_index]; }
|
||||
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
return !strcmp(p_name, JukeBoxState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxBool VTable0x14() override; // vtable+0x14
|
||||
MxBool IsSerializable() override; // vtable+0x14
|
||||
|
||||
inline MxU32 IsActive() { return m_active; }
|
||||
inline void SetActive(MxU32 p_active) { m_active = p_active; }
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
return !strcmp(p_name, LegoAct2State::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxBool VTable0x14() override; // vtable+0x14
|
||||
MxBool IsSerializable() override; // vtable+0x14
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1000e040
|
||||
// LegoAct2State::`scalar deleting destructor'
|
||||
|
||||
@@ -30,8 +30,8 @@ public:
|
||||
void Init();
|
||||
void FUN_1002fa00();
|
||||
void FUN_1002fb30();
|
||||
MxResult Save(LegoStorage* p_storage);
|
||||
MxResult Load(LegoStorage* p_storage);
|
||||
MxResult Write(LegoStorage* p_storage);
|
||||
MxResult Read(LegoStorage* p_storage);
|
||||
MxBool FUN_1002fdb0(LegoEntity* p_entity);
|
||||
MxU32 FUN_1002ff40(LegoEntity*, MxBool);
|
||||
void FUN_10030000(LegoEntity* p_entity);
|
||||
|
||||
@@ -27,8 +27,8 @@ public:
|
||||
void Init();
|
||||
void FUN_10026360(MxS32 p_scriptIndex);
|
||||
void FUN_100263a0(undefined4 p_und);
|
||||
void Save(LegoStorage* p_storage);
|
||||
MxResult Load(LegoStorage* p_storage);
|
||||
void Write(LegoStorage* p_storage);
|
||||
MxResult Read(LegoStorage* p_storage);
|
||||
MxBool FUN_100269e0(LegoEntity* p_entity);
|
||||
MxU32 FUN_10026ba0(LegoEntity*, MxBool);
|
||||
void FUN_10026c50(LegoEntity* p_entity);
|
||||
|
||||
@@ -27,16 +27,16 @@ public:
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10005f90
|
||||
virtual MxBool VTable0x14() { return TRUE; } // vtable+0x14
|
||||
virtual MxBool IsSerializable() { return TRUE; } // vtable+0x14
|
||||
|
||||
// FUNCTION: LEGO1 0x10005fa0
|
||||
virtual MxBool SetFlag() { return FALSE; } // vtable+0x18
|
||||
|
||||
// FUNCTION: LEGO1 0x10005fb0
|
||||
virtual MxResult VTable0x1c(LegoFile* p_legoFile)
|
||||
virtual MxResult Serialize(LegoFile* p_legoFile)
|
||||
{
|
||||
if (p_legoFile->IsWriteMode()) {
|
||||
p_legoFile->FUN_10006030(this->ClassName());
|
||||
p_legoFile->WriteString(ClassName());
|
||||
}
|
||||
return SUCCESS;
|
||||
} // vtable+0x1c
|
||||
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
return !strcmp(p_name, this->m_className.GetData()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
// SYNTHETIC: LEGO1 0x100260a0
|
||||
// LegoVehicleBuildState::`scalar deleting destructor'
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
return !strcmp(p_name, PizzaMissionState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
inline MxU16 GetColor(MxU8 p_id) { return GetState(p_id)->m_color; }
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ public:
|
||||
return !strcmp(p_name, PizzeriaState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10017ce0
|
||||
// PizzeriaState::`scalar deleting destructor'
|
||||
|
||||
@@ -26,7 +26,7 @@ public:
|
||||
return !strcmp(p_name, PoliceState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1005e920
|
||||
// PoliceState::`scalar deleting destructor'
|
||||
|
||||
@@ -33,7 +33,7 @@ public:
|
||||
return !strcmp(p_name, RaceState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
RaceStateEntry* GetState(MxU8 p_id);
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
return !strcmp(p_name, RadioState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxBool VTable0x14() override; // vtable+0x14
|
||||
MxBool IsSerializable() override; // vtable+0x14
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1002d020
|
||||
// RadioState::`scalar deleting destructor'
|
||||
|
||||
@@ -20,8 +20,8 @@ public:
|
||||
return !strcmp(p_name, ScoreState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxBool VTable0x14() override; // vtable+0x14
|
||||
MxBool SetFlag() override; // vtable+0x18
|
||||
MxBool IsSerializable() override; // vtable+0x14
|
||||
MxBool SetFlag() override; // vtable+0x18
|
||||
|
||||
inline MxBool GetTutorialFlag() { return m_playCubeTutorial; }
|
||||
inline void SetTutorialFlag(MxBool p_playCubeTutorial) { m_playCubeTutorial = p_playCubeTutorial; }
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
return !strcmp(p_name, TowTrackMissionState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
inline MxU16 GetColor(MxU8 p_id)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user