Order compilation units according to retail, match and align Score class (#1271)

* Initial changes for ordering, Score

* Add mxdebug

* Match `Score::Paint`

* Refactor

* Add BETA asserts

* BETA match
This commit is contained in:
Christian Semmler
2024-12-24 11:38:15 -07:00
committed by GitHub
parent bb29d289fe
commit 7c41ff4569
13 changed files with 232 additions and 225 deletions

View File

@@ -29,22 +29,28 @@ public:
MxResult Serialize(LegoFile* p_file) override; // vtable+0x1c
// FUNCTION: BETA10 0x10088770
MxS16 GetHighScore(MxU8 p_actorId)
{
switch (p_actorId) {
case LegoActor::c_pepper:
return m_peHighScore;
break;
case LegoActor::c_mama:
return m_maHighScore;
break;
case LegoActor::c_papa:
return m_paHighScore;
break;
case LegoActor::c_nick:
return m_niHighScore;
break;
case LegoActor::c_laura:
return m_laHighScore;
default:
return 0;
break;
}
return 0;
}
// FUNCTION: BETA10 0x100242d0

View File

@@ -34,6 +34,8 @@ public:
}
MxS16 GetUnknown0x02() { return m_unk0x02; }
// FUNCTION: BETA10 0x10088970
MxS16 GetHighScore() { return m_score; }
// FUNCTION: BETA10 0x100c96f0

View File

@@ -148,6 +148,7 @@ public:
// FUNCTION: BETA10 0x100ef850
MxU32 GetUnknown0xb0() { return m_unk0xb0; }
// FUNCTION: BETA10 0x10088850
MxS16 GetHighScore(MxU8 p_actorId) { return GetMission(p_actorId)->m_hiScore; }
// SYNTHETIC: LEGO1 0x10039350

View File

@@ -59,6 +59,9 @@ public:
~Score() override;
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x100010b0
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
// FUNCTION: LEGO1 0x100010c0
// FUNCTION: BETA10 0x100f4f20
const char* ClassName() const override // vtable+0x0c
@@ -78,14 +81,13 @@ public:
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void ReadyWorld() override; // vtable+0x50
MxBool VTable0x5c() override; // vtable+0x5c
MxBool Escape() override; // vtable+0x64
void Enable(MxBool p_enable) override; // vtable+0x68
void Paint();
MxLong FUN_10001510(MxEndActionNotificationParam& p_param);
MxLong FUN_100016d0(LegoControlManagerNotificationParam& p_param);
void FillArea(MxU32 i_activity, MxU32 i_actor, MxS16 score);
void FillArea(MxS32 i_activity, MxS32 i_actor, MxS16 score);
protected:
void DeleteScript();

View File

@@ -30,22 +30,28 @@ public:
MxResult Serialize(LegoFile* p_file) override; // vtable+0x1c
// FUNCTION: BETA10 0x10088890
MxS16 GetHighScore(MxU8 p_actorId)
{
switch (p_actorId) {
case LegoActor::c_pepper:
return m_peHighScore;
break;
case LegoActor::c_mama:
return m_maHighScore;
break;
case LegoActor::c_papa:
return m_paHighScore;
break;
case LegoActor::c_nick:
return m_niHighScore;
break;
case LegoActor::c_laura:
return m_laHighScore;
default:
return 0;
break;
}
return 0;
}
// FUNCTION: BETA10 0x100f8530