Fix inline functions

This commit is contained in:
Christian Semmler 2024-01-11 08:35:04 -05:00
parent 75f7791d6f
commit b75648a34c
21 changed files with 157 additions and 291 deletions

View File

@ -58,6 +58,7 @@ add_library(lego1 SHARED
LEGO1/lego/legoomni/src/common/legoutil.cpp
LEGO1/lego/legoomni/src/common/mxcompositemediapresenter.cpp
LEGO1/lego/legoomni/src/control/legocontrolmanager.cpp
LEGO1/lego/legoomni/src/control/mxcontrolpresenter.cpp
LEGO1/lego/legoomni/src/entity/legoactor.cpp
LEGO1/lego/legoomni/src/entity/legoanimactor.cpp
LEGO1/lego/legoomni/src/entity/legocameracontroller.cpp
@ -177,7 +178,6 @@ add_library(lego1 SHARED
LEGO1/omni/src/common/mxutil.cpp
LEGO1/omni/src/common/mxvariable.cpp
LEGO1/omni/src/common/mxvariabletable.cpp
LEGO1/omni/src/control/mxcontrolpresenter.cpp
LEGO1/omni/src/entity/mxentity.cpp
LEGO1/omni/src/event/mxeventmanager.cpp
LEGO1/omni/src/event/mxeventpresenter.cpp

View File

@ -23,8 +23,11 @@ class MxAudioPresenter : public MxMediaPresenter {
return !strcmp(p_name, MxAudioPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
}
virtual MxS32 GetVolume(); // vtable+0x5c
virtual void SetVolume(MxS32 p_volume); // vtable+0x60
// FUNCTION: LEGO1 0x1000d260
virtual MxS32 GetVolume() { return m_volume; }; // vtable+0x5c
// FUNCTION: LEGO1 0x1000d270
virtual void SetVolume(MxS32 p_volume) { m_volume = p_volume; }; // vtable+0x60
protected:
MxS32 m_volume;

View File

@ -37,7 +37,14 @@ class MxCompositePresenter : public MxPresenter {
virtual void VTable0x58(MxEndActionNotificationParam& p_param); // vtable+0x58
virtual void VTable0x5c(MxNotificationParam& p_param); // vtable+0x5c
virtual void VTable0x60(MxPresenter* p_presenter); // vtable+0x60
virtual MxBool VTable0x64(undefined4 p_undefined); // vtable+0x64
// FUNCTION: LEGO1 0x1000caf0
virtual MxBool VTable0x64(undefined4 p_undefined)
{
if (m_compositePresenter)
return m_compositePresenter->VTable0x64(p_undefined);
return TRUE;
}; // vtable+0x64
protected:
MxCompositePresenterList m_list; // 0x40

View File

@ -15,7 +15,9 @@ class MxCore {
__declspec(dllexport) MxCore();
__declspec(dllexport) virtual ~MxCore(); // vtable+00
__declspec(dllexport) virtual MxLong Notify(MxParam& p_param); // vtable+04
virtual MxResult Tickle(); // vtable+08
// FUNCTION: LEGO1 0x10001f70
virtual MxResult Tickle() { return SUCCESS; }; // vtable+08
// FUNCTION: LEGO1 0x100144c0
inline virtual const char* ClassName() const // vtable+0c

View File

@ -12,7 +12,9 @@
class MxEntity : public MxCore {
public:
MxEntity();
virtual ~MxEntity() override;
// FUNCTION: LEGO1 0x1000c110
virtual ~MxEntity() override{};
// FUNCTION: LEGO1 0x1000c180
inline virtual const char* ClassName() const override // vtable+0xc
@ -27,7 +29,14 @@ class MxEntity : public MxCore {
return !strcmp(p_name, MxEntity::ClassName()) || MxCore::IsA(p_name);
}
virtual MxResult Create(MxS32 p_id, const MxAtomId& p_atom); // vtable+0x14
// FUNCTION: LEGO1 0x10001070
virtual MxResult Create(MxS32 p_id, const MxAtomId& p_atom)
{
this->m_mxEntityId = p_id;
this->m_atom = p_atom;
return SUCCESS;
}; // vtable+0x14
inline MxResult Create(MxDSObject& p_dsObject)
{
m_mxEntityId = p_dsObject.GetObjectId();

View File

@ -11,7 +11,9 @@
class MxMediaPresenter : public MxPresenter {
public:
inline MxMediaPresenter() { Init(); }
virtual ~MxMediaPresenter() override;
// FUNCTION: LEGO1 0x1000c550
virtual ~MxMediaPresenter() override { Destroy(TRUE); };
virtual MxResult Tickle() override; // vtable+0x8
@ -28,10 +30,13 @@ class MxMediaPresenter : public MxPresenter {
return !strcmp(p_name, MxMediaPresenter::ClassName()) || MxPresenter::IsA(p_name);
}
virtual void StreamingTickle() override; // vtable+0x20
virtual void RepeatingTickle() override; // vtable+0x24
virtual void DoneTickle() override; // vtable+0x2c
virtual void Destroy() override; // vtable+0x38
virtual void StreamingTickle() override; // vtable+0x20
virtual void RepeatingTickle() override; // vtable+0x24
virtual void DoneTickle() override; // vtable+0x2c
// FUNCTION: LEGO1 0x1000c5b0
virtual void Destroy() override { Destroy(FALSE); }; // vtable+0x38
virtual MxResult StartAction(MxStreamController*, MxDSAction*) override; // vtable+0x3c
virtual void EndAction() override; // vtable+0x40
virtual void Enable(MxBool p_enable) override; // vtable+0x54

View File

@ -28,8 +28,9 @@ class MxPresenter : public MxCore {
MxPresenter() { Init(); }
__declspec(dllexport) virtual ~MxPresenter(); // vtable+0x0
__declspec(dllexport) virtual MxResult Tickle() override; // vtable+0x8
// FUNCTION: LEGO1 0x1000bf00
__declspec(dllexport) virtual ~MxPresenter(){}; // vtable+0x00
__declspec(dllexport) virtual MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1000bfe0
inline virtual const char* ClassName() const override // vtable+0xc
@ -44,27 +45,65 @@ class MxPresenter : public MxCore {
return !strcmp(p_name, MxPresenter::ClassName()) || MxCore::IsA(p_name);
}
virtual void VTable0x14(); // vtable+0x14
virtual void ReadyTickle(); // vtable+0x18
virtual void StartingTickle(); // vtable+0x1c
virtual void StreamingTickle(); // vtable+0x20
virtual void RepeatingTickle(); // vtable+0x24
virtual void Unk5Tickle(); // vtable+0x28
// FUNCTION: LEGO1 0x1000be30
virtual void VTable0x14() {} // vtable+0x14
// FUNCTION: LEGO1 0x1000be40
virtual void ReadyTickle()
{
ParseExtra();
ProgressTickleState(TickleState_Starting);
} // vtable+0x18
// FUNCTION: LEGO1 0x1000be60
virtual void StartingTickle() { ProgressTickleState(TickleState_Streaming); } // vtable+0x1c
// FUNCTION: LEGO1 0x1000be80
virtual void StreamingTickle() { ProgressTickleState(TickleState_Repeating); }; // vtable+0x20
// FUNCTION: LEGO1 0x1000bea0
virtual void RepeatingTickle() { ProgressTickleState(TickleState_unk5); }; // vtable+0x24
// FUNCTION: LEGO1 0x1000bec0
virtual void Unk5Tickle() { ProgressTickleState(TickleState_Done); }; // vtable+0x28
protected:
__declspec(dllexport) virtual void DoneTickle(); // vtable+0x2c
__declspec(dllexport) virtual void ParseExtra(); // vtable+0x30
// FUNCTION: LEGO1 0x1000bee0
__declspec(dllexport) virtual void DoneTickle() { ProgressTickleState(TickleState_Idle); }; // vtable+0x2c
__declspec(dllexport) virtual void ParseExtra(); // vtable+0x30
inline void ProgressTickleState(TickleState p_tickleState)
{
m_previousTickleStates |= 1 << (MxU8) m_currentTickleState;
m_currentTickleState = p_tickleState;
}
public:
virtual MxResult AddToManager(); // vtable+0x34
virtual void Destroy(); // vtable+0x38
// FUNCTION: LEGO1 0x1000bf70
virtual MxResult AddToManager() { return SUCCESS; }; // vtable+0x34
// FUNCTION: LEGO1 0x1000bf80
virtual void Destroy() { Init(); }; // vtable+0x38
__declspec(dllexport) virtual MxResult StartAction(MxStreamController*, MxDSAction*); // vtable+0x3c
__declspec(dllexport) virtual void EndAction(); // vtable+0x40
virtual void SetTickleState(TickleState p_tickleState); // vtable+0x44
virtual MxBool HasTickleStatePassed(TickleState p_tickleState); // vtable+0x48
virtual MxResult PutData(); // vtable+0x4c
virtual MxBool IsHit(MxS32 p_x, MxS32 p_y); // vtable+0x50
__declspec(dllexport) virtual void Enable(MxBool p_enable); // vtable+0x54
// FUNCTION: LEGO1 0x1000bf90
virtual void SetTickleState(TickleState p_tickleState) { ProgressTickleState(p_tickleState); } // vtable+0x44
// FUNCTION: LEGO1 0x1000bfb0
virtual MxBool HasTickleStatePassed(TickleState p_tickleState)
{
return m_previousTickleStates & (1 << (MxU8) p_tickleState);
}; // vtable+0x48
// FUNCTION: LEGO1 0x1000bfc0
virtual MxResult PutData() { return SUCCESS; }; // vtable+0x4c
// FUNCTION: LEGO1 0x1000bfd0
virtual MxBool IsHit(MxS32 p_x, MxS32 p_y) { return FALSE; }; // vtable+0x50
__declspec(dllexport) virtual void Enable(MxBool p_enable); // vtable+0x54
MxEntity* CreateEntityBackend(const char* p_name);
MxBool IsEnabled();

View File

@ -8,7 +8,8 @@
// SIZE 0x54
class MxSoundPresenter : public MxAudioPresenter {
public:
virtual ~MxSoundPresenter() override;
// FUNCTION: LEGO1 0x1000d430
virtual ~MxSoundPresenter() override { Destroy(TRUE); };
// FUNCTION: LEGO1 0x1000d4a0
inline virtual const char* ClassName() const // vtable+0x0c
@ -24,7 +25,9 @@ class MxSoundPresenter : public MxAudioPresenter {
};
virtual MxResult AddToManager() override; // vtable+0x34
virtual void Destroy() override; // vtable+0x38
// FUNCTION: LEGO1 0x1000d490
virtual void Destroy() override { Destroy(FALSE); }; // vtable+0x38
protected:
void Destroy(MxBool p_fromDestructor);

View File

@ -19,7 +19,9 @@ class MxVideoPresenter : public MxMediaPresenter {
};
MxVideoPresenter() { Init(); }
virtual ~MxVideoPresenter() override; // vtable+0x0
// FUNCTION: LEGO1 0x1000c740
virtual ~MxVideoPresenter() override { Destroy(TRUE); }; // vtable+0x0
// FUNCTION: LEGO1 0x1000c820
inline virtual const char* ClassName() const override // vtable+0x0c
@ -34,27 +36,48 @@ class MxVideoPresenter : public MxMediaPresenter {
return !strcmp(p_name, MxVideoPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
}
virtual void ReadyTickle() override; // vtable+0x18
virtual void StartingTickle() override; // vtable+0x1c
virtual void StreamingTickle() override; // vtable+0x20
virtual void RepeatingTickle() override; // vtable+0x24
virtual void Unk5Tickle() override; // vtable+0x28
virtual MxResult AddToManager() override; // vtable+0x34
virtual void Destroy() override; // vtable+0x38
virtual void ReadyTickle() override; // vtable+0x18
virtual void StartingTickle() override; // vtable+0x1c
virtual void StreamingTickle() override; // vtable+0x20
virtual void RepeatingTickle() override; // vtable+0x24
virtual void Unk5Tickle() override; // vtable+0x28
virtual MxResult AddToManager() override; // vtable+0x34
// FUNCTION: LEGO1 0x1000c7a0
virtual void Destroy() override { Destroy(FALSE); }; // vtable+0x38
virtual void EndAction() override; // vtable+0x40
virtual MxResult PutData() override; // vtable+0x4c
virtual MxBool IsHit(MxS32 p_x, MxS32 p_y) override; // vtable+0x50
virtual void LoadHeader(MxStreamChunk* p_chunk); // vtable+0x5c
virtual void CreateBitmap(); // vtable+0x60
virtual void NextFrame(); // vtable+0x64
virtual void LoadFrame(MxStreamChunk* p_chunk); // vtable+0x68
virtual void PutFrame(); // vtable+0x6c
virtual void RealizePalette(); // vtable+0x70
virtual undefined VTable0x74(); // vtable+0x74
virtual LPDIRECTDRAWSURFACE VTable0x78(); // vtable+0x78
virtual MxBool VTable0x7c(); // vtable+0x7c
virtual MxS32 GetWidth(); // vtable+0x80
virtual MxS32 GetHeight(); // vtable+0x84
// FUNCTION: LEGO1 0x1000c700
virtual void LoadHeader(MxStreamChunk* p_chunk){}; // vtable+0x5c
// FUNCTION: LEGO1 0x1000c710
virtual void CreateBitmap(){}; // vtable+0x60
virtual void NextFrame(); // vtable+0x64
// FUNCTION: LEGO1 0x1000c720
virtual void LoadFrame(MxStreamChunk* p_chunk){}; // vtable+0x68
virtual void PutFrame(); // vtable+0x6c
// FUNCTION: LEGO1 0x1000c730
virtual void RealizePalette(){}; // vtable+0x70
virtual undefined VTable0x74(); // vtable+0x74
// FUNCTION: LEGO1 0x1000c7b0
virtual LPDIRECTDRAWSURFACE VTable0x78() { return m_unk0x58; }; // vtable+0x78
// FUNCTION: LEGO1 0x1000c7c0
virtual MxBool VTable0x7c() { return (m_bitmap != NULL) || (m_alpha != NULL); }; // vtable+0x7c
// FUNCTION: LEGO1 0x1000c7e0
virtual MxS32 GetWidth() { return m_alpha ? m_alpha->m_width : m_bitmap->GetBmiWidth(); }; // vtable+0x80
// FUNCTION: LEGO1 0x1000c800
virtual MxS32 GetHeight() { return m_alpha ? m_alpha->m_height : m_bitmap->GetBmiHeightAbs(); }; // vtable+0x84
// SIZE 0xc
struct AlphaMask {

View File

@ -11,7 +11,9 @@
class MxWavePresenter : public MxSoundPresenter {
public:
MxWavePresenter() { Init(); }
virtual ~MxWavePresenter() override; // vtable+0x00
// FUNCTION: LEGO1 0x1000d640
virtual ~MxWavePresenter() override { Destroy(TRUE); }; // vtable+0x00
// FUNCTION: LEGO1 0x1000d6c0
inline virtual const char* ClassName() const override // vtable+0x0c
@ -26,13 +28,16 @@ class MxWavePresenter : public MxSoundPresenter {
return !strcmp(p_name, MxWavePresenter::ClassName()) || MxSoundPresenter::IsA(p_name);
}
virtual void ReadyTickle() override; // vtable+0x18
virtual void StartingTickle() override; // vtable+0x1c
virtual void StreamingTickle() override; // vtable+0x20
virtual void DoneTickle() override; // vtable+0x2c
virtual void ParseExtra() override; // vtable+0x30
virtual MxResult AddToManager() override; // vtable+0x34
virtual void Destroy() override; // vtable+0x38
virtual void ReadyTickle() override; // vtable+0x18
virtual void StartingTickle() override; // vtable+0x1c
virtual void StreamingTickle() override; // vtable+0x20
virtual void DoneTickle() override; // vtable+0x2c
virtual void ParseExtra() override; // vtable+0x30
virtual MxResult AddToManager() override; // vtable+0x34
// FUNCTION: LEGO1 0x1000d6a0
virtual void Destroy() override { Destroy(FALSE); }; // vtable+0x38
virtual void EndAction() override; // vtable+0x40
virtual MxResult PutData() override; // vtable+0x4c
virtual void Enable(MxBool p_enable) override; // vtable+0x54
@ -40,7 +45,9 @@ class MxWavePresenter : public MxSoundPresenter {
virtual void SetVolume(MxS32 p_volume) override; // vtable+0x60
virtual void Pause(); // vtable+0x64
virtual void Resume(); // vtable+0x68
virtual MxBool IsPaused(); // vtable+0x6c
// FUNCTION: LEGO1 0x1000d6b0
virtual MxBool IsPaused() { return m_paused; }; // vtable+0x6c
// Reference: https://github.com/itsmattkc/SIEdit/blob/master/lib/othertypes.h
// SIZE 0x1c

View File

@ -3,15 +3,3 @@
#include "decomp.h"
DECOMP_SIZE_ASSERT(MxAudioPresenter, 0x54);
// FUNCTION: LEGO1 0x1000d260
MxS32 MxAudioPresenter::GetVolume()
{
return m_volume;
}
// FUNCTION: LEGO1 0x1000d270
void MxAudioPresenter::SetVolume(MxS32 p_volume)
{
m_volume = p_volume;
}

View File

@ -5,18 +5,6 @@
DECOMP_SIZE_ASSERT(MxSoundPresenter, 0x54)
// FUNCTION: LEGO1 0x1000d430
MxSoundPresenter::~MxSoundPresenter()
{
Destroy(TRUE);
}
// FUNCTION: LEGO1 0x1000d490
void MxSoundPresenter::Destroy()
{
Destroy(FALSE);
}
// FUNCTION: LEGO1 0x100b1a50
void MxSoundPresenter::Destroy(MxBool p_fromDestructor)
{

View File

@ -11,24 +11,6 @@
DECOMP_SIZE_ASSERT(MxWavePresenter, 0x6c);
DECOMP_SIZE_ASSERT(MxWavePresenter::WaveFormat, 0x1c);
// FUNCTION: LEGO1 0x1000d640
MxWavePresenter::~MxWavePresenter()
{
Destroy(TRUE);
}
// FUNCTION: LEGO1 0x1000d6a0
void MxWavePresenter::Destroy()
{
Destroy(FALSE);
}
// FUNCTION: LEGO1 0x1000d6b0
MxBool MxWavePresenter::IsPaused()
{
return m_paused;
}
// FUNCTION: LEGO1 0x100b1ad0
void MxWavePresenter::Init()
{

View File

@ -8,14 +8,6 @@
DECOMP_SIZE_ASSERT(MxCompositePresenter, 0x4c);
// FUNCTION: LEGO1 0x1000caf0
MxBool MxCompositePresenter::VTable0x64(undefined4 p_undefined)
{
if (m_compositePresenter)
return m_compositePresenter->VTable0x64(p_undefined);
return TRUE;
}
// FUNCTION: LEGO1 0x100b60b0
MxCompositePresenter::MxCompositePresenter()
{

View File

@ -2,12 +2,6 @@
#include "define.h"
// FUNCTION: LEGO1 0x10001f70
MxResult MxCore::Tickle()
{
return SUCCESS;
}
// FUNCTION: LEGO1 0x100ae1a0
MxCore::MxCore()
{

View File

@ -11,18 +11,6 @@ DECOMP_SIZE_ASSERT(MxMediaPresenter, 0x50);
DECOMP_SIZE_ASSERT(MxStreamChunkList, 0x18);
DECOMP_SIZE_ASSERT(MxStreamChunkListCursor, 0x10);
// FUNCTION: LEGO1 0x1000c550
MxMediaPresenter::~MxMediaPresenter()
{
Destroy(TRUE);
}
// FUNCTION: LEGO1 0x1000c5b0
void MxMediaPresenter::Destroy()
{
Destroy(FALSE);
}
// FUNCTION: LEGO1 0x100b54e0
void MxMediaPresenter::Init()
{

View File

@ -18,97 +18,6 @@
DECOMP_SIZE_ASSERT(MxPresenter, 0x40);
// FUNCTION: LEGO1 0x1000be30
void MxPresenter::VTable0x14()
{
}
// FUNCTION: LEGO1 0x1000be40
void MxPresenter::ReadyTickle()
{
ParseExtra();
m_previousTickleStates |= 1 << (unsigned char) m_currentTickleState;
m_currentTickleState = TickleState_Starting;
}
// FUNCTION: LEGO1 0x1000be60
void MxPresenter::StartingTickle()
{
m_previousTickleStates |= 1 << (unsigned char) m_currentTickleState;
m_currentTickleState = TickleState_Streaming;
}
// FUNCTION: LEGO1 0x1000be80
void MxPresenter::StreamingTickle()
{
m_previousTickleStates |= 1 << (unsigned char) m_currentTickleState;
m_currentTickleState = TickleState_Repeating;
}
// FUNCTION: LEGO1 0x1000bea0
void MxPresenter::RepeatingTickle()
{
m_previousTickleStates |= 1 << (unsigned char) m_currentTickleState;
m_currentTickleState = TickleState_unk5;
}
// FUNCTION: LEGO1 0x1000bec0
void MxPresenter::Unk5Tickle()
{
m_previousTickleStates |= 1 << (unsigned char) m_currentTickleState;
m_currentTickleState = TickleState_Done;
}
// FUNCTION: LEGO1 0x1000bee0
void MxPresenter::DoneTickle()
{
m_previousTickleStates |= 1 << m_currentTickleState;
m_currentTickleState = TickleState_Idle;
}
// FUNCTION: LEGO1 0x1000bf00
MxPresenter::~MxPresenter()
{
}
// FUNCTION: LEGO1 0x1000bf70
MxResult MxPresenter::AddToManager()
{
return SUCCESS;
}
// FUNCTION: LEGO1 0x1000bf80
void MxPresenter::Destroy()
{
Init();
}
// FUNCTION: LEGO1 0x1000bf90
void MxPresenter::SetTickleState(TickleState p_tickleState)
{
m_previousTickleStates |= 1 << (unsigned char) m_currentTickleState;
m_currentTickleState = p_tickleState;
}
// FUNCTION: LEGO1 0x1000bfb0
MxBool MxPresenter::HasTickleStatePassed(TickleState p_tickleState)
{
return m_previousTickleStates & (1 << (unsigned char) p_tickleState);
}
// FUNCTION: LEGO1 0x1000bfc0
MxResult MxPresenter::PutData()
{
return SUCCESS;
}
// FUNCTION: LEGO1 0x1000bfd0
MxBool MxPresenter::IsHit(MxS32 p_x, MxS32 p_y)
{
return FALSE;
}
// FUNCTION: LEGO1 0x100b4d50
void MxPresenter::Init()
{

View File

@ -2,19 +2,6 @@
DECOMP_SIZE_ASSERT(MxEntity, 0x10)
// FUNCTION: LEGO1 0x10001070
MxResult MxEntity::Create(MxS32 p_id, const MxAtomId& p_atom)
{
this->m_mxEntityId = p_id;
this->m_atom = p_atom;
return SUCCESS;
}
// FUNCTION: LEGO1 0x1000c110
MxEntity::~MxEntity()
{
}
// FUNCTION: LEGO1 0x1001d190
MxEntity::MxEntity()
{

View File

@ -8,66 +8,6 @@
DECOMP_SIZE_ASSERT(MxVideoPresenter, 0x64);
DECOMP_SIZE_ASSERT(MxVideoPresenter::AlphaMask, 0xc);
// FUNCTION: LEGO1 0x1000c700
void MxVideoPresenter::LoadHeader(MxStreamChunk* p_chunk)
{
// Empty
}
// FUNCTION: LEGO1 0x1000c710
void MxVideoPresenter::CreateBitmap()
{
// Empty
}
// FUNCTION: LEGO1 0x1000c720
void MxVideoPresenter::LoadFrame(MxStreamChunk* p_chunk)
{
// Empty
}
// FUNCTION: LEGO1 0x1000c730
void MxVideoPresenter::RealizePalette()
{
// Empty
}
// FUNCTION: LEGO1 0x1000c740
MxVideoPresenter::~MxVideoPresenter()
{
Destroy(TRUE);
}
// FUNCTION: LEGO1 0x1000c7a0
void MxVideoPresenter::Destroy()
{
Destroy(FALSE);
}
// FUNCTION: LEGO1 0x1000c7b0
LPDIRECTDRAWSURFACE MxVideoPresenter::VTable0x78()
{
return m_unk0x58;
}
// FUNCTION: LEGO1 0x1000c7c0
MxBool MxVideoPresenter::VTable0x7c()
{
return (m_bitmap != NULL) || (m_alpha != NULL);
}
// FUNCTION: LEGO1 0x1000c7e0
MxS32 MxVideoPresenter::GetWidth()
{
return m_alpha ? m_alpha->m_width : m_bitmap->GetBmiWidth();
}
// FUNCTION: LEGO1 0x1000c800
MxS32 MxVideoPresenter::GetHeight()
{
return m_alpha ? m_alpha->m_height : m_bitmap->GetBmiHeightAbs();
}
// FUNCTION: LEGO1 0x100b24f0
MxVideoPresenter::AlphaMask::AlphaMask(const MxBitmap& p_bitmap)
{