Further clean up Omni/LegoOmni separation (#423)

* Fix inline functions

* Whitespace

* Try this

* Fix MxEntity

* Further fixes

* Move main out

* Replace tickle code
This commit is contained in:
Christian Semmler
2024-01-11 10:02:55 -05:00
committed by GitHub
parent 75f7791d6f
commit 516e16faf6
48 changed files with 285 additions and 485 deletions

View File

@@ -19,7 +19,9 @@ public:
};
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 @@ public:
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 {