diff --git a/LEGO1/mxloopingsmkpresenter.cpp b/LEGO1/mxloopingsmkpresenter.cpp index 59a22d14..4484624a 100644 --- a/LEGO1/mxloopingsmkpresenter.cpp +++ b/LEGO1/mxloopingsmkpresenter.cpp @@ -39,8 +39,8 @@ void MxLoopingSmkPresenter::Destroy(MxBool p_fromDestructor) // FUNCTION: LEGO1 0x100b4a00 void MxLoopingSmkPresenter::VTable0x88() { - if (m_mxSmack.m_smackTag.Frames == m_unk0x71c) { - m_unk0x71c = 0; + if (m_mxSmack.m_smackTag.Frames == m_elapsedFrames) { + m_elapsedFrames = 0; // TODO: struct incorrect, Palette at wrong offset? memset(&m_mxSmack.m_smackTag.Palette[4], 0, sizeof(m_mxSmack.m_smackTag.Palette)); } diff --git a/LEGO1/mxsmkpresenter.cpp b/LEGO1/mxsmkpresenter.cpp index 0f0ffa4f..dc26ed7d 100644 --- a/LEGO1/mxsmkpresenter.cpp +++ b/LEGO1/mxsmkpresenter.cpp @@ -21,7 +21,7 @@ MxSmkPresenter::~MxSmkPresenter() // FUNCTION: LEGO1 0x100b38d0 void MxSmkPresenter::Init() { - m_unk0x71c = 0; + m_elapsedFrames = 0; memset(&m_mxSmack, 0, sizeof(m_mxSmack)); m_flags &= 0xfd; m_flags &= 0xfb; @@ -65,8 +65,8 @@ void MxSmkPresenter::LoadFrame(MxStreamChunk* p_chunk) MxU8* bitmapData = m_bitmap->GetBitmapData(); MxU8* chunkData = p_chunk->GetData(); - MxBool paletteChanged = m_mxSmack.m_frameTypes[m_unk0x71c] & 1; - m_unk0x71c++; + MxBool paletteChanged = m_mxSmack.m_frameTypes[m_elapsedFrames] & 1; + m_elapsedFrames++; VTable0x88(); MxRectList list(TRUE); @@ -90,13 +90,13 @@ void MxSmkPresenter::LoadFrame(MxStreamChunk* p_chunk) void MxSmkPresenter::VTable0x88() { if ((m_mxSmack.m_smackTag.SmackerType & 1) != 0) { - MxU32 und = (m_unk0x71c % m_mxSmack.m_smackTag.Frames); - if (1 < m_unk0x71c && und == 1) - m_unk0x71c = 1; + MxU32 und = (m_elapsedFrames % m_mxSmack.m_smackTag.Frames); + if (1 < m_elapsedFrames && und == 1) + m_elapsedFrames = 1; } else { - if (m_mxSmack.m_smackTag.Frames == m_unk0x71c) { - m_unk0x71c = 0; + if (m_mxSmack.m_smackTag.Frames == m_elapsedFrames) { + m_elapsedFrames = 0; // TODO: struct incorrect, Palette at wrong offset? memset(&m_mxSmack.m_smackTag.Palette[4], 0, sizeof(m_mxSmack.m_smackTag.Palette)); } diff --git a/LEGO1/mxsmkpresenter.h b/LEGO1/mxsmkpresenter.h index ae87f7b7..f2ce9ce6 100644 --- a/LEGO1/mxsmkpresenter.h +++ b/LEGO1/mxsmkpresenter.h @@ -39,7 +39,7 @@ class MxSmkPresenter : public MxVideoPresenter { protected: MxSmack m_mxSmack; // 0x64 - undefined4 m_unk0x71c; // 0x71c + MxU32 m_elapsedFrames; // 0x71c }; #endif // MXSMKPRESENTER_H