mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-25 01:14:19 +00:00
Implement/match MxSmack::LoadFrame (#348)
This commit is contained in:
committed by
GitHub
parent
6d0d308c37
commit
c51aed256b
@@ -45,7 +45,7 @@ void MxSmkPresenter::Destroy(MxBool p_fromDestructor)
|
||||
// FUNCTION: LEGO1 0x100b3940
|
||||
void MxSmkPresenter::LoadHeader(MxStreamChunk* p_chunk)
|
||||
{
|
||||
MxSmack::LoadHeaderAndTrees(p_chunk->GetData(), &m_mxSmack);
|
||||
MxSmack::LoadHeader(p_chunk->GetData(), &m_mxSmack);
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100b3960
|
||||
@@ -65,14 +65,14 @@ void MxSmkPresenter::LoadFrame(MxStreamChunk* p_chunk)
|
||||
MxU8* bitmapData = m_bitmap->GetBitmapData();
|
||||
MxU8* chunkData = p_chunk->GetData();
|
||||
|
||||
MxBool und = m_mxSmack.m_frameTypes[m_unk0x71c] & 1;
|
||||
MxBool paletteChanged = m_mxSmack.m_frameTypes[m_unk0x71c] & 1;
|
||||
m_unk0x71c++;
|
||||
VTable0x88();
|
||||
|
||||
MxRectList list(TRUE);
|
||||
MxSmack::FUN_100c5db0(bitmapInfo, bitmapData, &m_mxSmack, chunkData, und, &list);
|
||||
MxSmack::LoadFrame(bitmapInfo, bitmapData, &m_mxSmack, chunkData, paletteChanged, &list);
|
||||
|
||||
if (((MxDSMediaAction*) m_action)->GetPaletteManagement() && und)
|
||||
if (((MxDSMediaAction*) m_action)->GetPaletteManagement() && paletteChanged)
|
||||
RealizePalette();
|
||||
|
||||
MxRect32 invalidateRect;
|
||||
@@ -98,7 +98,7 @@ void MxSmkPresenter::VTable0x88()
|
||||
if (m_mxSmack.m_smackTag.Frames == m_unk0x71c) {
|
||||
m_unk0x71c = 0;
|
||||
// TODO: struct incorrect, Palette at wrong offset?
|
||||
memset(m_mxSmack.m_smackTag.Palette, 0, sizeof(m_mxSmack.m_smackTag.Palette));
|
||||
memset(&m_mxSmack.m_smackTag.Palette[4], 0, sizeof(m_mxSmack.m_smackTag.Palette));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user