Order functions in binary up to end of Act2Actor (#1312)

* Order more functions

* Order LegoRaceActor

* Further ordering

* Order `Act2Actor`

* Fix
This commit is contained in:
Christian Semmler
2025-01-05 13:00:50 -07:00
committed by GitHub
parent 72aa7e330d
commit 7c452e9453
31 changed files with 497 additions and 515 deletions

View File

@@ -10,6 +10,12 @@ class MxAudioPresenter : public MxMediaPresenter {
public:
MxAudioPresenter() { m_volume = 100; }
// 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
// FUNCTION: BETA10 0x1008cba0
static const char* HandlerClassName()
{
@@ -30,12 +36,6 @@ public:
return !strcmp(p_name, MxAudioPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
}
// 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; // 0x50
};

View File

@@ -16,6 +16,9 @@ public:
// FUNCTION: LEGO1 0x1000c550
~MxMediaPresenter() override { Destroy(TRUE); }
// FUNCTION: LEGO1 0x1000c5b0
void Destroy() override { Destroy(FALSE); } // vtable+0x38
MxResult Tickle() override; // vtable+0x08
// FUNCTION: BETA10 0x10054f50
@@ -42,9 +45,6 @@ public:
void RepeatingTickle() override; // vtable+0x24
void DoneTickle() override; // vtable+0x2c
// FUNCTION: LEGO1 0x1000c5b0
void Destroy() override { Destroy(FALSE); } // vtable+0x38
MxResult StartAction(MxStreamController*, MxDSAction*) override; // vtable+0x3c
void EndAction() override; // vtable+0x40
void Enable(MxBool p_enable) override; // vtable+0x54

View File

@@ -28,31 +28,8 @@ public:
MxPresenter() { Init(); }
// FUNCTION: LEGO1 0x1000bf00
~MxPresenter() override {} // vtable+0x00
MxResult Tickle() override; // vtable+0x08
// FUNCTION: BETA10 0x1004d9e0
static const char* HandlerClassName()
{
// STRING: LEGO1 0x100f0740
return "MxPresenter";
}
// FUNCTION: LEGO1 0x1000bfe0
// FUNCTION: BETA10 0x1004d9b0
const char* ClassName() const override // vtable+0x0c
{
return HandlerClassName();
}
// FUNCTION: LEGO1 0x1000bff0
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxPresenter::ClassName()) || MxCore::IsA(p_name);
}
// FUNCTION: LEGO1 0x1000be30
virtual void VTable0x14() {} // vtable+0x14
@@ -88,6 +65,9 @@ protected:
}
public:
// FUNCTION: LEGO1 0x1000bf00
~MxPresenter() override {} // vtable+0x00
// FUNCTION: LEGO1 0x1000bf70
virtual MxResult AddToManager() { return SUCCESS; } // vtable+0x34
@@ -115,6 +95,26 @@ public:
virtual void Enable(MxBool p_enable); // vtable+0x54
// FUNCTION: BETA10 0x1004d9e0
static const char* HandlerClassName()
{
// STRING: LEGO1 0x100f0740
return "MxPresenter";
}
// FUNCTION: LEGO1 0x1000bfe0
// FUNCTION: BETA10 0x1004d9b0
const char* ClassName() const override // vtable+0x0c
{
return HandlerClassName();
}
// FUNCTION: LEGO1 0x1000bff0
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxPresenter::ClassName()) || MxCore::IsA(p_name);
}
MxEntity* CreateEntity(const char* p_defaultName);
void SendToCompositePresenter(MxOmni* p_omni);
MxBool IsEnabled();

View File

@@ -10,6 +10,9 @@ public:
// FUNCTION: LEGO1 0x1000d430
~MxSoundPresenter() override { Destroy(TRUE); }
// FUNCTION: LEGO1 0x1000d490
void Destroy() override { Destroy(FALSE); } // vtable+0x38
// FUNCTION: BETA10 0x1008ca70
static const char* HandlerClassName()
{
@@ -32,9 +35,6 @@ public:
MxResult AddToManager() override; // vtable+0x34
// FUNCTION: LEGO1 0x1000d490
void Destroy() override { Destroy(FALSE); } // vtable+0x38
// SYNTHETIC: LEGO1 0x1000d5c0
// MxSoundPresenter::`scalar deleting destructor'

View File

@@ -14,43 +14,6 @@ class MxVideoPresenter : public MxMediaPresenter {
public:
MxVideoPresenter() { Init(); }
// FUNCTION: LEGO1 0x1000c740
~MxVideoPresenter() override { Destroy(TRUE); } // vtable+0x00
// FUNCTION: BETA10 0x100551b0
static const char* HandlerClassName()
{
// STRING: LEGO1 0x100f0760
return "MxVideoPresenter";
}
// FUNCTION: LEGO1 0x1000c820
// FUNCTION: BETA10 0x10055180
const char* ClassName() const override // vtable+0x0c
{
return HandlerClassName();
}
// FUNCTION: LEGO1 0x1000c830
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxVideoPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
}
void ReadyTickle() override; // vtable+0x18
void StartingTickle() override; // vtable+0x1c
void StreamingTickle() override; // vtable+0x20
void RepeatingTickle() override; // vtable+0x24
void FreezingTickle() override; // vtable+0x28
MxResult AddToManager() override; // vtable+0x34
// FUNCTION: LEGO1 0x1000c7a0
void Destroy() override { Destroy(FALSE); } // vtable+0x38
void EndAction() override; // vtable+0x40
MxResult PutData() override; // vtable+0x4c
MxBool IsHit(MxS32 p_x, MxS32 p_y) override; // vtable+0x50
// FUNCTION: LEGO1 0x1000c700
// FUNCTION: BETA10 0x10054a80
virtual void LoadHeader(MxStreamChunk* p_chunk) {} // vtable+0x5c
@@ -72,6 +35,12 @@ public:
virtual undefined VTable0x74(); // vtable+0x74
// FUNCTION: LEGO1 0x1000c740
~MxVideoPresenter() override { Destroy(TRUE); } // vtable+0x00
// FUNCTION: LEGO1 0x1000c7a0
void Destroy() override { Destroy(FALSE); } // vtable+0x38
// FUNCTION: LEGO1 0x1000c7b0
virtual LPDIRECTDRAWSURFACE VTable0x78() { return m_unk0x58; } // vtable+0x78
@@ -84,6 +53,36 @@ public:
// FUNCTION: LEGO1 0x1000c800
virtual MxS32 GetHeight() { return m_alpha ? m_alpha->m_height : m_frameBitmap->GetBmiHeightAbs(); } // vtable+0x84
// FUNCTION: BETA10 0x100551b0
static const char* HandlerClassName()
{
// STRING: LEGO1 0x100f0760
return "MxVideoPresenter";
}
// FUNCTION: LEGO1 0x1000c820
// FUNCTION: BETA10 0x10055180
const char* ClassName() const override // vtable+0x0c
{
return HandlerClassName();
}
// FUNCTION: LEGO1 0x1000c830
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxVideoPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
}
void ReadyTickle() override; // vtable+0x18
void StartingTickle() override; // vtable+0x1c
void StreamingTickle() override; // vtable+0x20
void RepeatingTickle() override; // vtable+0x24
void FreezingTickle() override; // vtable+0x28
MxResult AddToManager() override; // vtable+0x34
void EndAction() override; // vtable+0x40
MxResult PutData() override; // vtable+0x4c
MxBool IsHit(MxS32 p_x, MxS32 p_y) override; // vtable+0x50
// VTABLE: LEGO1 0x100dc2bc
// SIZE 0x0c
struct AlphaMask {

View File

@@ -15,6 +15,15 @@ public:
// FUNCTION: LEGO1 0x1000d640
~MxWavePresenter() override { Destroy(TRUE); } // vtable+0x00
// FUNCTION: LEGO1 0x1000d6a0
void Destroy() override { Destroy(FALSE); } // vtable+0x38
virtual void Pause(); // vtable+0x64
virtual void Resume(); // vtable+0x68
// FUNCTION: LEGO1 0x1000d6b0
virtual MxBool IsPaused() { return m_paused; } // vtable+0x6c
// FUNCTION: BETA10 0x1008cd00
static const char* HandlerClassName()
{
@@ -35,26 +44,17 @@ public:
return !strcmp(p_name, MxWavePresenter::ClassName()) || MxSoundPresenter::IsA(p_name);
}
void ReadyTickle() override; // vtable+0x18
void StartingTickle() override; // vtable+0x1c
void StreamingTickle() override; // vtable+0x20
void DoneTickle() override; // vtable+0x2c
void ParseExtra() override; // vtable+0x30
MxResult AddToManager() override; // vtable+0x34
// FUNCTION: LEGO1 0x1000d6a0
void Destroy() override { Destroy(FALSE); } // vtable+0x38
void ReadyTickle() override; // vtable+0x18
void StartingTickle() override; // vtable+0x1c
void StreamingTickle() override; // vtable+0x20
void DoneTickle() override; // vtable+0x2c
void ParseExtra() override; // vtable+0x30
MxResult AddToManager() override; // vtable+0x34
void EndAction() override; // vtable+0x40
MxResult PutData() override; // vtable+0x4c
void Enable(MxBool p_enable) override; // vtable+0x54
void LoopChunk(MxStreamChunk* p_chunk) override; // vtable+0x58
void SetVolume(MxS32 p_volume) override; // vtable+0x60
virtual void Pause(); // vtable+0x64
virtual void Resume(); // vtable+0x68
// FUNCTION: LEGO1 0x1000d6b0
virtual MxBool IsPaused() { return m_paused; } // vtable+0x6c
// SIZE 0x18
struct WaveFormat {