diff --git a/config/arm9/overlays/ov002/delinks.txt b/config/arm9/overlays/ov002/delinks.txt index 19c85016bf..727381bc51 100644 --- a/config/arm9/overlays/ov002/delinks.txt +++ b/config/arm9/overlays/ov002/delinks.txt @@ -4460,7 +4460,7 @@ src/_ZN8YoshiEgg13InitResourcesEv.cpp: complete .text start:0x020ee144 end:0x020ee3d8 -src/YoshiEgg_Spawn.c: +src/daYegg_c_classInit.c: complete .text start:0x020ee3d8 end:0x020ee42c @@ -4779,7 +4779,7 @@ src/func_ov002_020f15b8.c: complete .text start:0x020f15b8 end:0x020f15cc -src/BlueCoinSwitch_Spawn.c: +src/daObjBC_Switch_c_classInit.c: complete .text start:0x020f15cc end:0x020f15fc diff --git a/config/arm9/overlays/ov002/symbols.txt b/config/arm9/overlays/ov002/symbols.txt index 65b782e25a..d8c642df9a 100644 --- a/config/arm9/overlays/ov002/symbols.txt +++ b/config/arm9/overlays/ov002/symbols.txt @@ -1168,7 +1168,7 @@ _ZN8YoshiEgg16CleanupResourcesEv kind:function(arm,size=0x44) addr:0x020edf54 _ZN8YoshiEgg6RenderEv kind:function(arm,size=0x78) addr:0x020edf98 _ZN8YoshiEgg8BehaviorEv kind:function(arm,size=0x134) addr:0x020ee010 _ZN8YoshiEgg13InitResourcesEv kind:function(arm,size=0x294) addr:0x020ee144 -YoshiEgg_Spawn kind:function(arm,size=0x54) addr:0x020ee3d8 +daYegg_c_classInit kind:function(arm,size=0x54) addr:0x020ee3d8 _ZN10dBgActor_cD1Ev kind:function(arm,size=0x38) addr:0x020ee42c _ZN10dBgActor_cD0Ev kind:function(arm,size=0x4c) addr:0x020ee464 _ZN10dBgActor_c14KillByMegaCharER6Player kind:function(arm,size=0xac) addr:0x020ee4b0 @@ -1248,7 +1248,7 @@ _ZN14BlueCoinSwitch8BehaviorEv kind:function(arm,size=0x1a0) addr:0x020f12c8 _ZN14BlueCoinSwitch13InitResourcesEv kind:function(arm,size=0x110) addr:0x020f1468 func_ov002_020f1578 kind:function(arm,size=0x40) addr:0x020f1578 func_ov002_020f15b8 kind:function(arm,size=0x14) addr:0x020f15b8 -BlueCoinSwitch_Spawn kind:function(arm,size=0x30) addr:0x020f15cc +daObjBC_Switch_c_classInit kind:function(arm,size=0x30) addr:0x020f15cc _ZN14EnemySwitchTagD1Ev kind:function(arm,size=0x30) addr:0x020f15fc _ZN14EnemySwitchTagD0Ev kind:function(arm,size=0x44) addr:0x020f162c _ZN12EnemySpawnerD1Ev kind:function(arm,size=0x24) addr:0x020f1670 @@ -2221,7 +2221,7 @@ data_ov002_0210ad68 kind:data(any) addr:0x0210ad68 data_ov002_0210ad70 kind:data(any) addr:0x0210ad70 _ZTS8daYegg_c kind:data(any) addr:0x0210ad78 _ZTI8daYegg_c kind:data(any) addr:0x0210ad84 -YoshiEgg_SpawnInfo kind:data(any) addr:0x0210ad90 +g_profile_YOSHI_EGG kind:data(any) addr:0x0210ad90 _ZTV8YoshiEgg kind:data(any) addr:0x0210adb4 _ZTV8daYegg_c kind:data(any) addr:0x0210adb4 _ZTV10dBgActor_c kind:data(any) addr:0x0210ae38 @@ -2256,7 +2256,7 @@ _ZTV9OneUpLogo kind:data(any) addr:0x0210b1ac _ZTV14daObj1UpLogo_c kind:data(any) addr:0x0210b1ac _ZTI16daObjBC_Switch_c kind:data(any) addr:0x0210b228 _ZTS16daObjBC_Switch_c kind:data(any) addr:0x0210b234 -BlueCoinSwitch_SpawnInfo kind:data(any) addr:0x0210b248 +g_profile_BC_SWITCH kind:data(any) addr:0x0210b248 _ZTV14BlueCoinSwitch kind:data(any) addr:0x0210b26c _ZTI11daESwitch_c kind:data(any) addr:0x0210b2ec _ZTI11daECreate_c kind:data(any) addr:0x0210b2f8 diff --git a/config/arm9/overlays/ov003/delinks.txt b/config/arm9/overlays/ov003/delinks.txt index 2b0cc91359..3f81e4e32c 100644 --- a/config/arm9/overlays/ov003/delinks.txt +++ b/config/arm9/overlays/ov003/delinks.txt @@ -127,6 +127,6 @@ src/_ZN13dScGameOver_c13InitResourcesEv.cpp: complete .text start:0x020b0b3c end:0x020b1118 -src/func_ov003_020b1118.cpp: +src/dScGameOver_c_classInit.cpp: complete .text start:0x020b1118 end:0x020b117c diff --git a/config/arm9/overlays/ov003/symbols.txt b/config/arm9/overlays/ov003/symbols.txt index ded9d059e2..5fb94eca6f 100644 --- a/config/arm9/overlays/ov003/symbols.txt +++ b/config/arm9/overlays/ov003/symbols.txt @@ -33,7 +33,7 @@ _ZN13dScGameOver_c6RenderEv kind:function(arm,size=0x80) addr:0x020b0814 _ZN13dScGameOver_c8BehaviorEv kind:function(arm,size=0x2a0) addr:0x020b0894 _ZN13dScGameOver_c16CleanupResourcesEv kind:function(arm,size=0x8) addr:0x020b0b34 _ZN13dScGameOver_c13InitResourcesEv kind:function(arm,size=0x5dc) addr:0x020b0b3c -func_ov003_020b1118 kind:function(arm,size=0x64) addr:0x020b1118 +dScGameOver_c_classInit kind:function(arm,size=0x64) addr:0x020b1118 data_ov003_020b117c kind:data(any) addr:0x020b117c data_ov003_020b1180 kind:data(any) addr:0x020b1180 data_ov003_020b1181 kind:data(any) addr:0x020b1181 @@ -113,7 +113,7 @@ data_ov003_020b16e4 kind:data(any) addr:0x020b16e4 data_ov003_020b1704 kind:data(any) addr:0x020b1704 _ZTV12dScStarSel_c kind:data(any) addr:0x020b1704 data_ov003_020b174c kind:data(any) addr:0x020b174c -data_ov003_020b1750 kind:data(any) addr:0x020b1750 ambiguous +g_profile_GAME_OVER kind:data(any) addr:0x020b1750 ambiguous _ZTI13dScGameOver_c kind:data(any) addr:0x020b1758 data_ov003_020b1764 kind:data(any) addr:0x020b1764 data_ov003_020b1774 kind:data(any) addr:0x020b1774 diff --git a/config/arm9/overlays/ov064/delinks.txt b/config/arm9/overlays/ov064/delinks.txt index abc63ebe81..a291cd921e 100644 --- a/config/arm9/overlays/ov064/delinks.txt +++ b/config/arm9/overlays/ov064/delinks.txt @@ -604,7 +604,7 @@ src/_ZN13TreasureChest13InitResourcesEv.cpp: complete .text start:0x0211a814 end:0x0211a8f0 -src/TreasureChest_Spawn.c: +src/daObjTbox_c_classInit.c: complete .text start:0x0211a8f0 end:0x0211a930 diff --git a/config/arm9/overlays/ov064/symbols.txt b/config/arm9/overlays/ov064/symbols.txt index 7874bcc737..cce543ef74 100644 --- a/config/arm9/overlays/ov064/symbols.txt +++ b/config/arm9/overlays/ov064/symbols.txt @@ -148,7 +148,7 @@ _ZN13TreasureChest16CleanupResourcesEv kind:function(arm,size=0x48) addr:0x0211a _ZN13TreasureChest6RenderEv kind:function(arm,size=0x28) addr:0x0211a7c4 _ZN13TreasureChest8BehaviorEv kind:function(arm,size=0x28) addr:0x0211a7ec _ZN13TreasureChest13InitResourcesEv kind:function(arm,size=0xdc) addr:0x0211a814 -TreasureChest_Spawn kind:function(arm,size=0x40) addr:0x0211a8f0 +daObjTbox_c_classInit kind:function(arm,size=0x40) addr:0x0211a8f0 _ZN4ClamD1Ev kind:function(arm,size=0x38) addr:0x0211a930 _ZN4ClamD0Ev kind:function(arm,size=0x4c) addr:0x0211a968 func_ov064_0211a9b4 kind:function(arm,size=0x40) addr:0x0211a9b4 @@ -290,7 +290,7 @@ data_ov064_0211c4bc kind:data(any) addr:0x0211c4bc data_ov064_0211c4c4 kind:data(any) addr:0x0211c4c4 _ZTI11daObjTbox_c kind:data(any) addr:0x0211c4cc _ZTS11daObjTbox_c kind:data(any) addr:0x0211c4d8 -TreasureChest_SpawnInfo kind:data(any) addr:0x0211c4e8 +g_profile_TREASURE_BOX kind:data(any) addr:0x0211c4e8 _ZTV13TreasureChest kind:data(any) addr:0x0211c50c _ZTV11daObjTbox_c kind:data(any) addr:0x0211c50c _ZTI12daObjShell_c kind:data(any) addr:0x0211c588 diff --git a/config/arm9/overlays/ov081/delinks.txt b/config/arm9/overlays/ov081/delinks.txt index c8110ba57d..ed0a9c7361 100644 --- a/config/arm9/overlays/ov081/delinks.txt +++ b/config/arm9/overlays/ov081/delinks.txt @@ -431,7 +431,7 @@ src/_ZN8IceBlock13InitResourcesEv.cpp: complete .text start:0x02127ff0 end:0x021280a0 -src/IceBlock_Spawn.c: +src/daObjIceBlock_c_classInit.c: complete .text start:0x021280a0 end:0x021280d8 diff --git a/config/arm9/overlays/ov081/symbols.txt b/config/arm9/overlays/ov081/symbols.txt index 2c94535a62..983b420816 100644 --- a/config/arm9/overlays/ov081/symbols.txt +++ b/config/arm9/overlays/ov081/symbols.txt @@ -105,7 +105,7 @@ _ZN8IceBlock16CleanupResourcesEv kind:function(arm,size=0x44) addr:0x02127d98 _ZN8IceBlock6RenderEv kind:function(arm,size=0x40) addr:0x02127ddc _ZN8IceBlock8BehaviorEv kind:function(arm,size=0x1d4) addr:0x02127e1c _ZN8IceBlock13InitResourcesEv kind:function(arm,size=0xb0) addr:0x02127ff0 -IceBlock_Spawn kind:function(arm,size=0x38) addr:0x021280a0 +daObjIceBlock_c_classInit kind:function(arm,size=0x38) addr:0x021280a0 data_ov081_021280d8 kind:data(any) addr:0x021280d8 __sinit_ov081_021280e8 kind:function(arm,size=0x6c) addr:0x021280e8 __sinit_ov081_02128154 kind:function(arm,size=0x360) addr:0x02128154 @@ -183,7 +183,7 @@ _ZTV8Moneybag kind:data(any) addr:0x02128c04 _ZTV8daGmch_c kind:data(any) addr:0x02128c04 _ZTI15daObjIceBlock_c kind:data(any) addr:0x02128c80 _ZTS15daObjIceBlock_c kind:data(any) addr:0x02128c8c -IceBlock_SpawnInfo kind:data(any) addr:0x02128ca0 +g_profile_ICE_BLOCK_LL kind:data(any) addr:0x02128ca0 _ZTV8IceBlock kind:data(any) addr:0x02128cc4 _ZTV15daObjIceBlock_c kind:data(any) addr:0x02128cc4 data_ov081_02128d60 kind:bss addr:0x02128d60 diff --git a/config/tu_manifest.d/ov002/BlueCoinSwitch.json b/config/tu_manifest.d/ov002/BlueCoinSwitch.json index 89fae28f9f..e0dbb518c9 100644 --- a/config/tu_manifest.d/ov002/BlueCoinSwitch.json +++ b/config/tu_manifest.d/ov002/BlueCoinSwitch.json @@ -75,10 +75,10 @@ "ordinal": 7 }, { - "symbol": "BlueCoinSwitch_Spawn", + "symbol": "daObjBC_Switch_c_classInit", "address": "0x020f15cc", "size": "0x00000030", - "legacy_source": "src/BlueCoinSwitch_Spawn.c", + "legacy_source": "src/daObjBC_Switch_c_classInit.c", "ordinal": 8 } ], @@ -102,9 +102,23 @@ "criteria": { "every_declared_function_defined": "PASS", "every_declared_function_bytes_match": "PASS", - "declared_function_set_equals_defined_function_set": "FAIL-BY-DESIGN -- 12 unlicensed section/symbol(s); see unlicensed_output_observed", + "declared_function_set_equals_defined_function_set": "FAIL-BY-DESIGN -- 11 unlicensed section/symbol(s), 0 compiler-only policy error(s)", "functions_occur_in_expected_order": "PARTIAL -- ordinal pair(s) not in ROM order: [(0, 1)]", "relocation_destinations_verified": "PASS" + }, + "compilerOnlyOutput": { + "requested": [ + "_ZN14BlueCoinSwitchD2Ev" + ], + "deadstripped": [ + "_ZN14BlueCoinSwitchD2Ev" + ], + "droppedSections": [ + 22, + 23 + ], + "data": [], + "dataExternalized": [] } }, "partial_isolation": { @@ -130,7 +144,7 @@ "src/_ZN14BlueCoinSwitch13InitResourcesEv.cpp", "src/func_ov002_020f1578.c", "src/func_ov002_020f15b8.c", - "src/BlueCoinSwitch_Spawn.c" + "src/daObjBC_Switch_c_classInit.c" ], "extraInertImports": 82, "extraImportsWithNoHome": [], diff --git a/include/YoshiEgg.h b/include/YoshiEgg.h index f58664df71..10707cd3d9 100644 --- a/include/YoshiEgg.h +++ b/include/YoshiEgg.h @@ -9,7 +9,7 @@ #include "dBgCh_Actr.h" /* daYegg_c in the ROM's RTTI. Derives from dEnemyBase_c, and both witnesses agree: - * YoshiEgg_Spawn allocates 0x42c, calls _ZN12dEnemyBase_cC2Ev, stores _ZTV8YoshiEgg and + * daYegg_c_classInit allocates 0x42c, calls _ZN12dEnemyBase_cC2Ev, stores _ZTV8YoshiEgg and * constructs the four members below in order; _ZN8YoshiEggD1Ev destroys the same four * in reverse and chains to _ZN12dEnemyBase_cD2Ev. * diff --git a/include/dScGameOver_c.h b/include/dScGameOver_c.h index de43dd318a..5ed37f37d1 100644 --- a/include/dScGameOver_c.h +++ b/include/dScGameOver_c.h @@ -13,7 +13,7 @@ * the same seven dScene_c gives every other direct child -- 0, 3, 6, 9, 12, * 16, 17 (rtti_vtables.py --own dScGameOver_c). No new virtual is added. * - * CONSTRUCTION. func_ov003_020b1118 is the factory: it opens with + * CONSTRUCTION. dScGameOver_c_classInit is the factory: it opens with * `_ZN7fBase_cnwEj(0x98)`, i.e. fBase_c::operator new(0x98). SIZE 0x98 is * read directly off the allocator call. No nested-object construction is * visible in this TU (unlike dScEntry_c/dScStarSel_c); every own field diff --git a/notes/data/c-cpp-classification.tsv b/notes/data/c-cpp-classification.tsv index d5f42d930c..c7732688c2 100644 --- a/notes/data/c-cpp-classification.tsv +++ b/notes/data/c-cpp-classification.tsv @@ -26,7 +26,7 @@ src/BillBlaster_Spawn.c S1-stores-rom-vptr ov079 stores _ZTV11BillBlaster 1 N src/Bird_Spawn.c WEAK-refs-only ov009 1 None - src/BitUnPack.c PURE-C 0 None not-in-delinks src/BlackBrickBlock_Spawn.c WEAK-refs-only ov002 1 None - -src/BlueCoinSwitch_Spawn.c S1-stores-rom-vptr ov002 stores _ZTV14BlueCoinSwitch 1 None _ZTV14BlueCoinSwitch - +src/daObjBC_Switch_c_classInit.c S1-stores-rom-vptr ov002 stores _ZTV14BlueCoinSwitch 1 None _ZTV14BlueCoinSwitch - src/BlueCoin_Spawn.c WEAK-refs-only ov002 1 None - src/BlueFlame_Spawn.c WEAK-refs-only ov002 1 None - src/BobOmbBuddy_Spawn.c WEAK-refs-only ov084 1 None - @@ -194,7 +194,7 @@ src/HuffUnCompReadByCallback.c PURE-C 0 None not-in-delinks src/HugeCover_Spawn.c S1-stores-rom-vptr ov032 stores _ZTV9HugeCover 1 None _ZTV9HugeCover - src/HugeWater_Spawn.c WEAK-refs-only ov032 1 None - src/IPCSend.c WEAK-refs-only arm9 1 None - -src/IceBlock_Spawn.c WEAK-refs-only ov081 1 None - +src/daObjIceBlock_c_classInit.c WEAK-refs-only ov081 1 None - src/IceSheet_Spawn.c WEAK-refs-only ov018 1 None - src/IceSlideManager_Spawn.c WEAK-refs-only ov019 1 None - src/InitControllerMode.c PURE-C arm9 1 None - @@ -496,7 +496,7 @@ src/Tornado_Spawn.c WEAK-refs-only ov096 1 None - src/TouchArea_Update.c PURE-C ov001 1 None - src/TowerStep_Spawn.c WEAK-refs-only ov015 1 None - src/Trap_Spawn.c S1-stores-rom-vptr ov010 stores _ZTV14daObjC1_Trap_c 1 None _ZTV14daObjC1_Trap_c - -src/TreasureChest_Spawn.c WEAK-refs-only ov064 1 None - +src/daObjTbox_c_classInit.c WEAK-refs-only ov064 1 None - src/TtcConveyorBeltLarge_Spawn.c WEAK-refs-only ov065 1 None - src/TtcConveyorBeltSmall_Spawn.c WEAK-refs-only ov065 1 None - src/TtcMovingCubeA_Spawn.c WEAK-refs-only ov065 1 None - @@ -567,7 +567,7 @@ src/game/actors/WingFeather/WingFeather_Spawn.c WEAK-refs-only ov002 1 None src/Wireless_Reset.c PURE-C arm9 1 None - src/WithMeshClsn_UpdateContinuous_Veneer.c WEAK-refs-only arm9 1 None - src/WithMeshClsn_UpdateDiscreteNoLava_veneer.c WEAK-refs-only arm9 1 None - -src/YoshiEgg_Spawn.c WEAK-refs-only ov002 1 None - +src/daYegg_c_classInit.c WEAK-refs-only ov002 1 None - src/_Z19UnloadLevelOverlaysi.c P4-mangled-freefn arm9 _Z19UnloadLevelOverlaysi 1 active None - src/_Z23LoadMinimapChangeObjecti5Fix12IiEh.c P4-mangled-freefn arm9 _Z23LoadMinimapChangeObjecti5Fix12IiEh 1 None by-value-class-param src/_ZN10BrickBlockD0Ev.c DTOR-ONLY ov002 daObjBlockItemTag_c BrickBlock/daObjBlockItemTag_c _ZN10BrickBlockD0Ev 1 True _ZTV10BrickBlock - diff --git a/notes/data/tu-merge-candidates.json b/notes/data/tu-merge-candidates.json index c602bf4ccb..22d4d64af8 100644 --- a/notes/data/tu-merge-candidates.json +++ b/notes/data/tu-merge-candidates.json @@ -2893,7 +2893,7 @@ "src/_ZN13TreasureChest6RenderEv.cpp", "src/_ZN13TreasureChest8BehaviorEv.cpp", "src/_ZN13TreasureChest13InitResourcesEv.cpp", - "src/TreasureChest_Spawn.c" + "src/daObjTbox_c_classInit.c" ], "ext_mix": { ".cpp": 9, @@ -3973,7 +3973,7 @@ "src/_ZN14BlueCoinSwitch13InitResourcesEv.cpp", "src/func_ov002_020f1578.c", "src/func_ov002_020f15b8.c", - "src/BlueCoinSwitch_Spawn.c" + "src/daObjBC_Switch_c_classInit.c" ], "ext_mix": { ".cpp": 6, @@ -7599,7 +7599,7 @@ "src/_ZN8IceBlock6RenderEv.cpp", "src/_ZN8IceBlock8BehaviorEv.cpp", "src/_ZN8IceBlock13InitResourcesEv.cpp", - "src/IceBlock_Spawn.c" + "src/daObjIceBlock_c_classInit.c" ], "ext_mix": { ".cpp": 9, @@ -16878,7 +16878,7 @@ "src/_ZN8YoshiEgg6RenderEv.cpp", "src/_ZN8YoshiEgg8BehaviorEv.cpp", "src/_ZN8YoshiEgg13InitResourcesEv.cpp", - "src/YoshiEgg_Spawn.c" + "src/daYegg_c_classInit.c" ], "ext_mix": { ".cpp": 12, @@ -33323,7 +33323,7 @@ "n_functions_map": 1, "n_files": 1, "files": [ - "src/func_ov003_020b1118.cpp" + "src/dScGameOver_c_classInit.cpp" ], "ext_mix": { ".cpp": 1 diff --git a/src/BlueCoinSwitch_Spawn.c b/src/BlueCoinSwitch_Spawn.c deleted file mode 100644 index 570b9a322f..0000000000 --- a/src/BlueCoinSwitch_Spawn.c +++ /dev/null @@ -1,9 +0,0 @@ -extern void *_ZN7fBase_cnwEj(unsigned); -extern void _ZN10dBgActor_cC2Ev(void *); -extern int _ZTV14BlueCoinSwitch[]; -int *BlueCoinSwitch_Spawn(void) -{ - int *p = (int *)_ZN7fBase_cnwEj(816); - if (p) { _ZN10dBgActor_cC2Ev(p); p[0] = (int)_ZTV14BlueCoinSwitch; } - return p; -} diff --git a/src/func_ov003_020b1118.cpp b/src/dScGameOver_c_classInit.cpp similarity index 57% rename from src/func_ov003_020b1118.cpp rename to src/dScGameOver_c_classInit.cpp index 7f8b151fa0..9599c291f1 100644 --- a/src/func_ov003_020b1118.cpp +++ b/src/dScGameOver_c_classInit.cpp @@ -1,14 +1,19 @@ //cpp +// @symbol dScGameOver_c_classInit extern "C" { extern void *data_0208e4b8; extern void *_ZTV8dScene_c; extern void *data_ov003_020b179c; void *_ZN7fBase_cnwEj(unsigned int); void _ZN7fBase_cC2Ev(void *); -void *func_ov003_020b1118(void); +void *dScGameOver_c_classInit(void); } -void *func_ov003_020b1118(void) { +/* Reconstructed source-style name: SM64DS proves dScGameOver_c through RTTI, + * allocation size, vtable identity, and the GAME_OVER registry profile; + * later EAD lineage supplies classInit. Exact original spelling is not + * preserved. Historical alias: func_ov003_020b1118. */ +void *dScGameOver_c_classInit(void) { char *p = (char *)_ZN7fBase_cnwEj(0x98); if (p) { _ZN7fBase_cC2Ev(p); diff --git a/src/daObjBC_Switch_c_classInit.c b/src/daObjBC_Switch_c_classInit.c new file mode 100644 index 0000000000..a4af5e615f --- /dev/null +++ b/src/daObjBC_Switch_c_classInit.c @@ -0,0 +1,15 @@ +extern void *_ZN7fBase_cnwEj(unsigned); +extern void _ZN10dBgActor_cC2Ev(void *); +extern int _ZTV14BlueCoinSwitch[]; +// @symbol daObjBC_Switch_c_classInit +/* Reconstructed source-style name: SM64DS proves daObjBC_Switch_c through + * RTTI, allocation size, vtable identity, and the BC_SWITCH registry profile; + * later EAD lineage supplies classInit. Exact original spelling is not + * preserved. The project's BlueCoinSwitch implementation aliases remain + * unchanged. Historical alias: BlueCoinSwitch_Spawn. */ +int *daObjBC_Switch_c_classInit(void) +{ + int *p = (int *)_ZN7fBase_cnwEj(816); + if (p) { _ZN10dBgActor_cC2Ev(p); p[0] = (int)_ZTV14BlueCoinSwitch; } + return p; +} diff --git a/src/IceBlock_Spawn.c b/src/daObjIceBlock_c_classInit.c similarity index 52% rename from src/IceBlock_Spawn.c rename to src/daObjIceBlock_c_classInit.c index 8bfa15dcf4..50789f1062 100644 --- a/src/IceBlock_Spawn.c +++ b/src/daObjIceBlock_c_classInit.c @@ -1,4 +1,4 @@ -// @symbol IceBlock_Spawn +// @symbol daObjIceBlock_c_classInit /* recovered: vtable identified, globals resolved, declarations from a shared header */ #include "decl_ActorBase.h" #include "decl_dCcAc_c.h" @@ -6,7 +6,12 @@ #include "decl_common.h" /* recovered: vtable identified, globals resolved */ /* resolved: VT0 = _ZTV8IceBlock */ -int *IceBlock_Spawn(void) +/* Reconstructed source-style name: SM64DS proves daObjIceBlock_c through RTTI, + * allocation size, vtable identity, and the ICE_BLOCK_LL registry profile; + * later EAD lineage supplies classInit. Exact original spelling is not + * preserved. The project's IceBlock implementation aliases remain unchanged. + * Historical alias: IceBlock_Spawn. */ +int *daObjIceBlock_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(872); if (p) { diff --git a/src/TreasureChest_Spawn.c b/src/daObjTbox_c_classInit.c similarity index 64% rename from src/TreasureChest_Spawn.c rename to src/daObjTbox_c_classInit.c index 62c5488029..62c4273be4 100644 --- a/src/TreasureChest_Spawn.c +++ b/src/daObjTbox_c_classInit.c @@ -1,4 +1,4 @@ -// @symbol TreasureChest_Spawn +// @symbol daObjTbox_c_classInit /* Measured C++ factory wall. `return new TreasureChest` reproduces all 0x40 * bytes with mwccarm 2004/b56, including the base/member construction order, * but emits an unresolved `_Znwm` relocation at +0x08. The ROM calls @@ -11,7 +11,12 @@ #include "decl_dCcAc_c.h" #include "decl_common.h" -int *TreasureChest_Spawn(void) +/* Reconstructed source-style name: SM64DS proves daObjTbox_c through RTTI, + * allocation size, vtable identity, and the TREASURE_BOX registry profile; + * later EAD lineage supplies classInit. Exact original spelling is not + * preserved. The project's TreasureChest implementation aliases remain + * unchanged. Historical alias: TreasureChest_Spawn. */ +int *daObjTbox_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(0x178); if (p) { diff --git a/src/YoshiEgg_Spawn.c b/src/daYegg_c_classInit.c similarity index 63% rename from src/YoshiEgg_Spawn.c rename to src/daYegg_c_classInit.c index 985e20778f..1af7533d4d 100644 --- a/src/YoshiEgg_Spawn.c +++ b/src/daYegg_c_classInit.c @@ -1,4 +1,4 @@ -// @symbol YoshiEgg_Spawn +// @symbol daYegg_c_classInit /* recovered: vtable identified, globals resolved, declarations from a shared header */ #include "decl_ActorBase.h" #include "decl_Enemy.h" @@ -9,7 +9,12 @@ #include "decl_common.h" /* recovered: vtable identified, globals resolved */ /* resolved: VT0 = _ZTV8YoshiEgg */ -int *YoshiEgg_Spawn(void) +/* Reconstructed source-style name: SM64DS proves daYegg_c through RTTI, + * allocation size, vtable identity, and the YOSHI_EGG registry profile; + * later EAD lineage supplies classInit. Exact original spelling is not + * preserved. The project's YoshiEgg implementation aliases remain unchanged. + * Historical alias: YoshiEgg_Spawn. */ +int *daYegg_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(1068); if (p) { diff --git a/src_tu/actors/BlueCoinSwitch.cpp b/src_tu/actors/BlueCoinSwitch.cpp index cfe7ad12e3..f40c10cfe8 100644 --- a/src_tu/actors/BlueCoinSwitch.cpp +++ b/src_tu/actors/BlueCoinSwitch.cpp @@ -24,7 +24,7 @@ * [5] 0x020f1468 src/_ZN14BlueCoinSwitch13InitResourcesEv.cpp * [6] 0x020f1578 src/func_ov002_020f1578.c * [7] 0x020f15b8 src/func_ov002_020f15b8.c - * [8] 0x020f15cc src/BlueCoinSwitch_Spawn.c + * [8] 0x020f15cc src/daObjBC_Switch_c_classInit.c */ /* Includes: union of the legacy files', first-seen in ROM-ascending @@ -84,10 +84,13 @@ extern int _ZTV14BlueCoinSwitch[]; } /* -------------------------------------------------------------------------- */ -/* ROM ordinal 8 -- BlueCoinSwitch_Spawn, 0x020f15cc, size 0x30 */ +/* ROM ordinal 8 -- daObjBC_Switch_c_classInit, 0x020f15cc, size 0x30 */ /* -------------------------------------------------------------------------- */ extern "C" { /* .c-derived member: C linkage for the whole block */ -int *BlueCoinSwitch_Spawn(void) +/* Reconstructed source-style name: the ROM proves daObjBC_Switch_c and the + * BC_SWITCH profile relationship; later EAD lineage supplies classInit. + * Exact original SM64DS spelling is not preserved. */ +int *daObjBC_Switch_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(816); if (p) { _ZN10dBgActor_cC2Ev(p); p[0] = (int)(_ZTV14BlueCoinSwitch + 2); } diff --git a/symbols/actor_renames.tsv b/symbols/actor_renames.tsv index c9632fbc5a..7fcc2126a9 100644 --- a/symbols/actor_renames.tsv +++ b/symbols/actor_renames.tsv @@ -198,6 +198,7 @@ ov002 0x020edf98 func_ov002_020edf98 _ZN8YoshiEgg6RenderEv vtable slot 9 ov002 0x020ee010 func_ov002_020ee010 _ZN8YoshiEgg8BehaviorEv vtable slot 6 ov002 0x020ee144 func_ov002_020ee144 _ZN8YoshiEgg13InitResourcesEv vtable slot 0 ov002 0x020ee3d8 func_ov002_020ee3d8 YoshiEgg_Spawn spawnfunc +ov002 0x020ee3d8 YoshiEgg_Spawn daYegg_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov002 0x020f085c func_ov002_020f085c InvisibleSecret_Spawn spawnfunc ov002 0x020f0894 func_ov002_020f0894 _ZN15InvisibleSecretD1Ev vtable slot 16 ov002 0x020f08cc func_ov002_020f08cc _ZN15InvisibleSecretD0Ev vtable slot 17 @@ -214,6 +215,7 @@ ov002 0x020f0f08 func_ov002_020f0f08 _ZN9OneUpLogo8BehaviorEv vtable slot 6 ov002 0x020f107c func_ov002_020f107c _ZN9OneUpLogo13InitResourcesEv vtable slot 0 ov002 0x020f1170 func_ov002_020f1170 OneUpLogo_Spawn spawnfunc ov002 0x020f15cc func_ov002_020f15cc BlueCoinSwitch_Spawn spawnfunc +ov002 0x020f15cc BlueCoinSwitch_Spawn daObjBC_Switch_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov002 0x020f15fc func_ov002_020f15fc _ZN14BlueCoinSwitchD1Ev vtable slot 16 ov002 0x020f162c func_ov002_020f162c _ZN14BlueCoinSwitchD0Ev vtable slot 17 ov002 0x020f1670 func_ov002_020f1670 _ZN12EnemySpawnerD1Ev vtable slot 16 @@ -337,6 +339,7 @@ ov002 0x0210abdc data_ov002_0210abdc Tree_SpawnInfo spawninfo ov002 0x0210ac00 data_ov002_0210ac00 _ZTV4Tree vtable alloc=0x264 ov002 0x0210ac98 data_ov002_0210ac98 Warp_SpawnInfo spawninfo ov002 0x0210ad90 data_ov002_0210ad90 YoshiEgg_SpawnInfo spawninfo +ov002 0x0210ad90 YoshiEgg_SpawnInfo g_profile_YOSHI_EGG reconstructed profile global; literal ROM ID YOSHI_EGG+registry role+later EAD lineage; exact SM64DS spelling not preserved ov002 0x0210adb4 data_ov002_0210adb4 _ZTV8YoshiEgg vtable alloc=? ov002 0x0210ae38 data_ov002_0210ae38 _ZTV17ExclamationSwitch vtable alloc=0x354 ov002 0x0210b00c data_ov002_0210b00c InvisibleSecret_SpawnInfo spawninfo @@ -345,6 +348,7 @@ ov002 0x0210b0ec data_ov002_0210b0ec _ZTV15InvisibleSecret vtable alloc=0x114 ov002 0x0210b188 data_ov002_0210b188 OneUpLogo_SpawnInfo spawninfo ov002 0x0210b1ac data_ov002_0210b1ac _ZTV9OneUpLogo vtable alloc=0x150 ov002 0x0210b248 data_ov002_0210b248 BlueCoinSwitch_SpawnInfo spawninfo +ov002 0x0210b248 BlueCoinSwitch_SpawnInfo g_profile_BC_SWITCH reconstructed profile global; literal ROM ID BC_SWITCH+registry role+later EAD lineage; exact SM64DS spelling not preserved ov002 0x0210b324 data_ov002_0210b324 EnemySwitchTag_SpawnInfo spawninfo ov002 0x0210b340 data_ov002_0210b340 EnemySpawner_SpawnInfo spawninfo ov002 0x0210b364 data_ov002_0210b364 _ZTV12EnemySpawner vtable alloc=0x110 @@ -366,6 +370,8 @@ ov003 0x020b16b4 data_ov003_020b16b4 StarSelect_SpawnInfo spawninfo ov003 0x020b16b4 StarSelect_SpawnInfo g_profile_STAR_SELECT reconstructed profile global; literal ROM ID STAR_SELECT+registry role+later EAD lineage; exact SM64DS spelling not preserved ov003 0x020adc10 func_ov003_020adc10 dScTitle_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov003 0x020b1380 data_ov003_020b1380 g_profile_TITLE reconstructed profile global; literal ROM ID TITLE+registry role+later EAD lineage; exact SM64DS spelling not preserved +ov003 0x020b1118 func_ov003_020b1118 dScGameOver_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved +ov003 0x020b1750 data_ov003_020b1750 g_profile_GAME_OVER reconstructed profile global; literal ROM ID GAME_OVER+registry role+later EAD lineage; exact SM64DS spelling not preserved ov005 0x020c21ec func_ov005_020c21ec dScMiniGm_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov005 0x020c2440 data_ov005_020c2440 g_profile_MINIGAME reconstructed profile global; literal ROM ID MINIGAME+registry role+later EAD lineage; exact SM64DS spelling not preserved ov006 0x020d9574 func_ov006_020d9574 MgSortOrSplode_Spawn spawnfunc @@ -1444,6 +1450,7 @@ ov064 0x0211a7c4 func_ov064_0211a7c4 _ZN13TreasureChest6RenderEv vtable slot 9 ov064 0x0211a7ec func_ov064_0211a7ec _ZN13TreasureChest8BehaviorEv vtable slot 6 ov064 0x0211a814 func_ov064_0211a814 _ZN13TreasureChest13InitResourcesEv vtable slot 0 ov064 0x0211a8f0 func_ov064_0211a8f0 TreasureChest_Spawn spawnfunc +ov064 0x0211a8f0 TreasureChest_Spawn daObjTbox_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov064 0x0211a930 func_ov064_0211a930 _ZN4ClamD1Ev vtable slot 16 ov064 0x0211a968 func_ov064_0211a968 _ZN4ClamD0Ev vtable slot 17 ov064 0x0211a9f4 func_ov064_0211a9f4 _ZN4Clam16CleanupResourcesEv vtable slot 3 @@ -1470,6 +1477,7 @@ ov064 0x0211c334 data_ov064_0211c334 _ZTV17BowserPuzzlePiece vtable alloc=0x33c ov064 0x0211c3fc data_ov064_0211c3fc WaterRing_SpawnInfo spawninfo ov064 0x0211c420 data_ov064_0211c420 _ZTV9WaterRing vtable alloc=0x390 ov064 0x0211c4e8 data_ov064_0211c4e8 TreasureChest_SpawnInfo spawninfo +ov064 0x0211c4e8 TreasureChest_SpawnInfo g_profile_TREASURE_BOX reconstructed profile global; literal ROM ID TREASURE_BOX+registry role+later EAD lineage; exact SM64DS spelling not preserved ov064 0x0211c50c data_ov064_0211c50c _ZTV13TreasureChest vtable alloc=0x178 ov064 0x0211c5a4 data_ov064_0211c5a4 Clam_SpawnInfo spawninfo ov064 0x0211c5c8 data_ov064_0211c5c8 _ZTV4Clam vtable alloc=0x174 @@ -1901,6 +1909,7 @@ ov081 0x02127ddc func_ov081_02127ddc _ZN8IceBlock6RenderEv vtable slot 9 ov081 0x02127e1c func_ov081_02127e1c _ZN8IceBlock8BehaviorEv vtable slot 6 ov081 0x02127ff0 func_ov081_02127ff0 _ZN8IceBlock13InitResourcesEv vtable slot 0 ov081 0x021280a0 func_ov081_021280a0 IceBlock_Spawn spawnfunc +ov081 0x021280a0 IceBlock_Spawn daObjIceBlock_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov081 0x02128858 data_ov081_02128858 Spindrift_SpawnInfo spawninfo ov081 0x0212887c data_ov081_0212887c _ZTV9Spindrift vtable alloc=0x39c ov081 0x021289cc data_ov081_021289cc MrBlizzard_SpawnInfo spawninfo @@ -1910,6 +1919,7 @@ ov081 0x02128abc data_ov081_02128abc _ZTV8Snowball vtable alloc=0x38c ov081 0x02128be0 data_ov081_02128be0 Moneybag_SpawnInfo spawninfo ov081 0x02128c04 data_ov081_02128c04 _ZTV8Moneybag vtable alloc=0x3f4 ov081 0x02128ca0 data_ov081_02128ca0 IceBlock_SpawnInfo spawninfo +ov081 0x02128ca0 IceBlock_SpawnInfo g_profile_ICE_BLOCK_LL reconstructed profile global; literal ROM ID ICE_BLOCK_LL+registry role+later EAD lineage; exact SM64DS spelling not preserved ov081 0x02128cc4 data_ov081_02128cc4 _ZTV8IceBlock vtable alloc=0x368 ov084 0x02129020 func_ov084_02129020 _ZN7daKrb_cD1Ev vtable slot 16 ov084 0x02129070 func_ov084_02129070 _ZN7daKrb_cD0Ev vtable slot 17