mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-26 17:46:38 -05:00
parent
f3b0de0609
commit
1db48b3b2c
2 changed files with 51 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
|||
#include "mxsmkpresenter.h"
|
||||
|
||||
#include "decomp.h"
|
||||
#include "mxvideomanager.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(MxSmkPresenter, 0x720);
|
||||
|
||||
|
@ -65,3 +66,48 @@ void MxSmkPresenter::FUN_100c5d40(MxSmack* p_mxSmack)
|
|||
if (p_mxSmack->m_unk0x6b4)
|
||||
delete p_mxSmack->m_unk0x6b4;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100b4300
|
||||
void MxSmkPresenter::Destroy()
|
||||
{
|
||||
Destroy(FALSE);
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100b3940 STUB
|
||||
void MxSmkPresenter::VTable0x5c(undefined4 p_unknown1)
|
||||
{
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100b3a00 STUB
|
||||
void MxSmkPresenter::VTable0x68(undefined4 p_unknown1)
|
||||
{
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100b42c0
|
||||
void MxSmkPresenter::VTable0x70()
|
||||
{
|
||||
MxPalette* palette = m_bitmap->CreatePalette();
|
||||
MVideoManager()->RealizePalette(palette);
|
||||
delete palette;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100b4260
|
||||
MxU32 MxSmkPresenter::VTable0x88()
|
||||
{
|
||||
MxU32 result = m_unk0x71c;
|
||||
if ((m_mxSmack.m_smack.m_smkType & 1) != 0) {
|
||||
result = m_unk0x71c / m_mxSmack.m_smack.m_frames;
|
||||
if (1 < m_unk0x71c && (m_unk0x71c % m_mxSmack.m_smack.m_frames) == 1) {
|
||||
m_unk0x71c = 1;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
else {
|
||||
if (m_mxSmack.m_smack.m_frames == result) {
|
||||
m_unk0x71c = 0;
|
||||
result = 0;
|
||||
memset(m_mxSmack.m_smack.m_palette, 0, sizeof(m_mxSmack.m_smack.m_palette));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,12 @@ class MxSmkPresenter : public MxVideoPresenter {
|
|||
MxSmkPresenter();
|
||||
virtual ~MxSmkPresenter() override;
|
||||
|
||||
virtual void Destroy() override;
|
||||
virtual void VTable0x5c(undefined4 p_unknown1) override;
|
||||
virtual void VTable0x60() override;
|
||||
virtual void VTable0x68(undefined4 p_unknown1) override; // vtable+0x68
|
||||
virtual void VTable0x70() override;
|
||||
virtual MxU32 VTable0x88();
|
||||
|
||||
struct MxSmack {
|
||||
Smack m_smack;
|
||||
|
|
Loading…
Reference in a new issue