mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-22 07:54:23 +00:00
Clear unknowns in MxSmkPresenter
and MxLoopingSmkPresenter
(#1658)
This commit is contained in:
@@ -25,12 +25,12 @@ public:
|
||||
return HandlerClassName();
|
||||
}
|
||||
|
||||
void RepeatingTickle() override; // vtable+0x24
|
||||
MxResult AddToManager() override; // vtable+0x34
|
||||
void Destroy() override; // vtable+0x38
|
||||
void NextFrame() override; // vtable+0x64
|
||||
void VTable0x88() override; // vtable+0x88
|
||||
virtual void VTable0x8c(); // vtable+0x8c
|
||||
void RepeatingTickle() override; // vtable+0x24
|
||||
MxResult AddToManager() override; // vtable+0x34
|
||||
void Destroy() override; // vtable+0x38
|
||||
void NextFrame() override; // vtable+0x64
|
||||
void ResetCurrentFrameAtEnd() override; // vtable+0x88
|
||||
virtual void LoadFrameIfRequired(); // vtable+0x8c
|
||||
|
||||
private:
|
||||
void Init();
|
||||
|
@@ -38,7 +38,7 @@ public:
|
||||
void CreateBitmap() override; // vtable+0x60
|
||||
void LoadFrame(MxStreamChunk* p_chunk) override; // vtable+0x68
|
||||
void RealizePalette() override; // vtable+0x70
|
||||
virtual void VTable0x88(); // vtable+0x88
|
||||
virtual void ResetCurrentFrameAtEnd(); // vtable+0x88
|
||||
|
||||
// SYNTHETIC: LEGO1 0x100b3850
|
||||
// MxSmkPresenter::`scalar deleting destructor'
|
||||
|
@@ -39,7 +39,7 @@ void MxLoopingSmkPresenter::Destroy(MxBool p_fromDestructor)
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100b4a00
|
||||
void MxLoopingSmkPresenter::VTable0x88()
|
||||
void MxLoopingSmkPresenter::ResetCurrentFrameAtEnd()
|
||||
{
|
||||
if (m_mxSmk.m_smackTag.Frames == m_currentFrame) {
|
||||
m_currentFrame = 0;
|
||||
@@ -66,7 +66,7 @@ void MxLoopingSmkPresenter::NextFrame()
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100b4a90
|
||||
void MxLoopingSmkPresenter::VTable0x8c()
|
||||
void MxLoopingSmkPresenter::LoadFrameIfRequired()
|
||||
{
|
||||
if (m_action->GetDuration() < m_elapsedDuration) {
|
||||
ProgressTickleState(e_freezing);
|
||||
@@ -110,7 +110,7 @@ void MxLoopingSmkPresenter::RepeatingTickle()
|
||||
break;
|
||||
}
|
||||
|
||||
VTable0x8c();
|
||||
LoadFrameIfRequired();
|
||||
|
||||
m_loopingChunkCursor->Next(chunk);
|
||||
|
||||
|
@@ -70,7 +70,7 @@ void MxSmkPresenter::LoadFrame(MxStreamChunk* p_chunk)
|
||||
|
||||
MxBool paletteChanged = m_mxSmk.m_frameTypes[m_currentFrame] & 1;
|
||||
m_currentFrame++;
|
||||
VTable0x88();
|
||||
ResetCurrentFrameAtEnd();
|
||||
|
||||
MxRect32List rects(TRUE);
|
||||
MxSmk::LoadFrame(bitmapInfo, bitmapData, &m_mxSmk, chunkData, paletteChanged, &rects);
|
||||
@@ -91,11 +91,11 @@ void MxSmkPresenter::LoadFrame(MxStreamChunk* p_chunk)
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100b4260
|
||||
void MxSmkPresenter::VTable0x88()
|
||||
void MxSmkPresenter::ResetCurrentFrameAtEnd()
|
||||
{
|
||||
if ((m_mxSmk.m_smackTag.SmackerType & 1) != 0) {
|
||||
MxU32 und = (m_currentFrame % m_mxSmk.m_smackTag.Frames);
|
||||
if (1 < m_currentFrame && und == 1) {
|
||||
MxU32 validCurrentFrame = (m_currentFrame % m_mxSmk.m_smackTag.Frames);
|
||||
if (1 < m_currentFrame && validCurrentFrame == 1) {
|
||||
m_currentFrame = 1;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user