Implement misc.lib (#483)

* Implement misc.lib

* Lowercase files

* Minor changes

* Fix file cases

* Fixes

* Fix missing dtor

* Add override

* Match LegoImage::Read

* Fix delete call

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Nathan M Gilbert
2024-01-24 12:12:57 -05:00
committed by GitHub
parent a19165a749
commit 2bebc09da3
44 changed files with 772 additions and 397 deletions

View File

@@ -21,54 +21,54 @@ TowTrackMissionState::TowTrackMissionState()
}
// FUNCTION: LEGO1 0x1004dde0
MxResult TowTrackMissionState::VTable0x1c(LegoFileStream* p_legoFileStream)
MxResult TowTrackMissionState::VTable0x1c(LegoFile* p_legoFile)
{
if (p_legoFileStream->IsWriteMode()) {
p_legoFileStream->FUN_10006030(this->ClassName());
if (p_legoFile->IsWriteMode()) {
p_legoFile->FUN_10006030(this->ClassName());
}
if (p_legoFileStream->IsReadMode()) {
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));
if (p_legoFile->IsReadMode()) {
p_legoFile->Read(&m_unk0x12, sizeof(MxU16));
p_legoFile->Read(&m_unk0x14, sizeof(MxU16));
p_legoFile->Read(&m_unk0x16, sizeof(MxU16));
p_legoFile->Read(&m_unk0x18, sizeof(MxU16));
p_legoFile->Read(&m_unk0x1a, sizeof(MxU16));
p_legoFile->Read(&m_unk0x1c, sizeof(MxU16));
p_legoFile->Read(&m_color1, sizeof(MxU16));
p_legoFile->Read(&m_color2, sizeof(MxU16));
p_legoFile->Read(&m_color3, sizeof(MxU16));
p_legoFile->Read(&m_color4, sizeof(MxU16));
}
else if (p_legoFileStream->IsWriteMode()) {
else if (p_legoFile->IsWriteMode()) {
MxU16 write = m_unk0x12;
p_legoFileStream->Write(&write, sizeof(MxU16));
p_legoFile->Write(&write, sizeof(MxU16));
write = m_unk0x14;
p_legoFileStream->Write(&write, sizeof(MxU16));
p_legoFile->Write(&write, sizeof(MxU16));
write = m_unk0x16;
p_legoFileStream->Write(&write, sizeof(MxU16));
p_legoFile->Write(&write, sizeof(MxU16));
write = m_unk0x18;
p_legoFileStream->Write(&write, sizeof(MxU16));
p_legoFile->Write(&write, sizeof(MxU16));
write = m_unk0x1a;
p_legoFileStream->Write(&write, sizeof(MxU16));
p_legoFile->Write(&write, sizeof(MxU16));
write = m_unk0x1c;
p_legoFileStream->Write(&write, sizeof(MxU16));
p_legoFile->Write(&write, sizeof(MxU16));
write = m_color1;
p_legoFileStream->Write(&write, sizeof(MxU16));
p_legoFile->Write(&write, sizeof(MxU16));
write = m_color2;
p_legoFileStream->Write(&write, sizeof(MxU16));
p_legoFile->Write(&write, sizeof(MxU16));
write = m_color3;
p_legoFileStream->Write(&write, sizeof(MxU16));
p_legoFile->Write(&write, sizeof(MxU16));
write = m_color4;
p_legoFileStream->Write(&write, sizeof(MxU16));
p_legoFile->Write(&write, sizeof(MxU16));
}
return SUCCESS;