Reccmp: Use symbol names in asm output (#433)

* Name substitution for reccmp asm output

* Decomp marker corrections

* Fix a few annotations

* Fix IslePathActor dtor

* Fix audio presenter

* Fix LegoEntity::Create

* Fix Pizza and related

* Fix path part

* Add missing annotations

* Add missing annotations

* Add more missing annotations

* Fix MxNotificationParam

* More fixes

* More fixes

* Add missing annotations

* Fixes

* More annotations

* More annotations

* More annotations

* More annotations

* Fixes and annotations

* Find imports and thunk functions

* Fix more bugs

* Add some markers for LEGO1 imports, fix SIZE comment

* Add more annotations

* Rename annotation

* Fix bugs and annotations

* Fix bug

* Order

* Update legoanimpresenter.h

* Re-enable print-rec-addr option

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
MS
2024-01-14 16:28:46 -05:00
committed by GitHub
parent 7f7e6e37dd
commit 7e9d3bde65
73 changed files with 1357 additions and 427 deletions

View File

@@ -6,6 +6,7 @@ DECOMP_SIZE_ASSERT(GifMap, 0x08);
DECOMP_SIZE_ASSERT(GifManagerBase, 0x14);
DECOMP_SIZE_ASSERT(GifManager, 0x30);
// GLOBAL: LEGO1 0x100f0100
GifMapEntry* g_unk0x100f0100;
// FUNCTION: LEGO1 0x10001cc0

View File

@@ -7,8 +7,13 @@
DECOMP_SIZE_ASSERT(LegoBackgroundColor, 0x30)
// GLOBAL: LEGO1 0x100f3fb0
const char* g_delimiter = "\t";
// GLOBAL: LEGO1 0x100f3fb4
const char* g_set = "set";
// GLOBAL: LEGO1 0x100f3fb8
const char* g_reset = "reset";
// FUNCTION: LEGO1 0x1003bfb0

View File

@@ -7,10 +7,10 @@
DECOMP_SIZE_ASSERT(LegoFullScreenMovie, 0x24)
// GLOBAL: LEGO1 0x100f3be8
// GLOBAL: LEGO1 0x100f3fbc
const char* g_strEnable = "enable";
// GLOBAL: LEGO1 0x100f3bf4
// GLOBAL: LEGO1 0x100f3fc0
const char* g_strDisable = "disable";
// FUNCTION: LEGO1 0x1003c500

View File

@@ -19,15 +19,15 @@
// There may be other members that come after.
DECOMP_SIZE_ASSERT(LegoGameState, 0x430)
// GLOBAL: LEGO1 0x100f3e24
const char* g_historyGSI = "History.gsi";
// GLOBAL: LEGO1 0x100f3e30
const char* g_playersGSI = "Players.gsi";
// GLOBAL: LEGO1 0x100f3e40
const char* g_fileExtensionGS = ".GS";
// GLOBAL: LEGO1 0x100f3e44
const char* g_playersGSI = "Players.gsi";
// GLOBAL: LEGO1 0x100f3e48
const char* g_historyGSI = "History.gsi";
// GLOBAL: LEGO1 0x100f3e58
ColorStringStruct g_colorSaveData[43] = {
{"c_dbbkfny0", "lego red"}, {"c_dbbkxly0", "lego white"}, {"c_chbasey0", "lego black"},
@@ -168,7 +168,7 @@ void LegoGameState::GetFileSavePath(MxString* p_outPath, MxULong p_slotn)
strcpy(path, m_savePath);
// Slot: "G0", "G1", ...
strcat(path, "G");
strcat(path, "\\G");
baseForSlot[0] += p_slotn;
strcat(path, baseForSlot);

View File

@@ -11,3 +11,9 @@ LegoActor::LegoActor()
m_unk0x10 = 0;
m_unk0x74 = 0;
}
// STUB: LEGO1 0x1002d320
LegoActor::~LegoActor()
{
// TODO
}

View File

@@ -46,7 +46,7 @@ MxResult LegoEntity::Create(MxDSAction& p_dsAction)
{
m_mxEntityId = p_dsAction.GetObjectId();
m_atom = p_dsAction.GetAtomId();
Init();
SetWorld();
return SUCCESS;
}

View File

@@ -17,6 +17,13 @@ MxResult IslePathActor::Create(MxDSAction& p_dsAction)
return MxEntity::Create(p_dsAction);
}
// FUNCTION: LEGO1 0x1001a2a0
void IslePathActor::Destroy(MxBool p_fromDestructor)
{
if (!p_fromDestructor)
LegoPathActor::Destroy(FALSE);
}
// STUB: LEGO1 0x1001a350
void IslePathActor::VTable0xe0()
{

View File

@@ -100,7 +100,7 @@ MxAtomId* g_testScript = NULL;
// GLOBAL: LEGO1 0x100f457c
MxAtomId* g_jukeboxwScript = NULL;
// GLOBAL: LEGO1 0x100f4580c
// GLOBAL: LEGO1 0x100f4580
MxAtomId* g_sndAnimScript = NULL;
// GLOBAL: LEGO1 0x100f4584
@@ -118,7 +118,7 @@ MxBool g_isWorldActive = TRUE;
// FUNCTION: LEGO1 0x10015700
LegoOmni* Lego()
{
return (LegoOmni*) MxOmni::GetInstance();
return LegoOmni::GetInstance();
}
// FUNCTION: LEGO1 0x10015710

View File

@@ -6,6 +6,12 @@ LegoAnimPresenter::LegoAnimPresenter()
// TODO
}
// STUB: LEGO1 0x10068670
LegoAnimPresenter::~LegoAnimPresenter()
{
// TODO
}
// STUB: LEGO1 0x100686f0
void LegoAnimPresenter::Init()
{

View File

@@ -6,6 +6,12 @@ LegoHideAnimPresenter::LegoHideAnimPresenter()
Init();
}
// STUB: LEGO1 0x1006d9f0
LegoHideAnimPresenter::~LegoHideAnimPresenter()
{
// TODO
}
// STUB: LEGO1 0x1006da50
void LegoHideAnimPresenter::Init()
{