mirror of
https://github.com/isledecomp/isle-portable.git
synced 2025-02-16 19:50:52 -05:00
implement TowTrackMissionState (#399)
* TowTrackMissionState * Fixes --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
parent
49e3fa238f
commit
21d096dcd2
2 changed files with 64 additions and 8 deletions
|
@ -2,8 +2,55 @@
|
|||
|
||||
DECOMP_SIZE_ASSERT(TowTrackMissionState, 0x28)
|
||||
|
||||
// STUB: LEGO1 0x1004dd30
|
||||
// FUNCTION: LEGO1 0x1004dd30
|
||||
TowTrackMissionState::TowTrackMissionState()
|
||||
{
|
||||
// TODO
|
||||
m_unk0x12 = 0;
|
||||
m_unk0x14 = 0;
|
||||
m_unk0x16 = 0;
|
||||
m_unk0x08 = 0;
|
||||
m_unk0x18 = 0;
|
||||
m_unk0x0c = 0;
|
||||
m_unk0x1a = 0;
|
||||
m_unk0x10 = 0;
|
||||
m_unk0x1c = 0;
|
||||
m_color1 = 0;
|
||||
m_color2 = 0;
|
||||
m_color3 = 0;
|
||||
m_color4 = 0;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1004dde0
|
||||
MxResult TowTrackMissionState::VTable0x1c(LegoFileStream* p_legoFileStream)
|
||||
{
|
||||
if (p_legoFileStream->IsWriteMode()) {
|
||||
p_legoFileStream->FUN_10006030(this->ClassName());
|
||||
}
|
||||
|
||||
if (p_legoFileStream->IsReadMode()) {
|
||||
p_legoFileStream->Write(&m_unk0x12, sizeof(MxU16));
|
||||
p_legoFileStream->Write(&m_unk0x14, sizeof(MxU16));
|
||||
p_legoFileStream->Write(&m_unk0x16, sizeof(MxU16));
|
||||
p_legoFileStream->Write(&m_unk0x18, sizeof(MxU16));
|
||||
p_legoFileStream->Write(&m_unk0x1a, sizeof(MxU16));
|
||||
p_legoFileStream->Write(&m_unk0x1c, sizeof(MxU16));
|
||||
p_legoFileStream->Write(&m_color1, sizeof(MxU16));
|
||||
p_legoFileStream->Write(&m_color2, sizeof(MxU16));
|
||||
p_legoFileStream->Write(&m_color3, sizeof(MxU16));
|
||||
p_legoFileStream->Write(&m_color4, sizeof(MxU16));
|
||||
}
|
||||
else if (p_legoFileStream->IsWriteMode()) {
|
||||
p_legoFileStream->Read(&m_unk0x12, sizeof(MxU16));
|
||||
p_legoFileStream->Read(&m_unk0x14, sizeof(MxU16));
|
||||
p_legoFileStream->Read(&m_unk0x16, sizeof(MxU16));
|
||||
p_legoFileStream->Read(&m_unk0x18, sizeof(MxU16));
|
||||
p_legoFileStream->Read(&m_unk0x1a, sizeof(MxU16));
|
||||
p_legoFileStream->Read(&m_unk0x1c, sizeof(MxU16));
|
||||
p_legoFileStream->Read(&m_color1, sizeof(MxU16));
|
||||
p_legoFileStream->Read(&m_color2, sizeof(MxU16));
|
||||
p_legoFileStream->Read(&m_color3, sizeof(MxU16));
|
||||
p_legoFileStream->Read(&m_color4, sizeof(MxU16));
|
||||
}
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ public:
|
|||
{
|
||||
return !strcmp(p_name, TowTrackMissionState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
virtual MxResult VTable0x1c(LegoFileStream* p_legoFileStream) override; // vtable+0x1C
|
||||
|
||||
inline MxU16 GetColor(MxU8 p_id)
|
||||
{
|
||||
|
@ -41,12 +42,20 @@ public:
|
|||
}
|
||||
|
||||
protected:
|
||||
undefined m_unk0x8[0x14];
|
||||
MxU16 m_color1;
|
||||
MxU16 m_color2;
|
||||
MxU16 m_color3;
|
||||
MxU16 m_color4;
|
||||
MxU16 m_color5;
|
||||
undefined4 m_unk0x08; // 0x08
|
||||
undefined4 m_unk0x0c; // 0x0c
|
||||
MxU8 m_unk0x10; // 0x10
|
||||
MxU16 m_unk0x12; // 0x12
|
||||
MxU16 m_unk0x14; // 0x14
|
||||
MxU16 m_unk0x16; // 0x16
|
||||
MxU16 m_unk0x18; // 0x18
|
||||
MxU16 m_unk0x1a; // 0x1a
|
||||
MxU16 m_unk0x1c; // 0x1c
|
||||
MxU16 m_color1; // 0x1e
|
||||
MxU16 m_color2; // 0x20
|
||||
MxU16 m_color3; // 0x22
|
||||
MxU16 m_color4; // 0x24
|
||||
MxU16 m_color5; // 0x26
|
||||
};
|
||||
|
||||
#endif // TOWTRACKMISSIONSTATE_H
|
||||
|
|
Loading…
Reference in a new issue