diff --git a/config/arm9/overlays/ov010/delinks.txt b/config/arm9/overlays/ov010/delinks.txt index 00bb09a71e..cd33a21e0d 100644 --- a/config/arm9/overlays/ov010/delinks.txt +++ b/config/arm9/overlays/ov010/delinks.txt @@ -35,7 +35,7 @@ src/_ZN9LightBeam13InitResourcesEv.cpp: complete .text start:0x02111d20 end:0x02111dd0 -src/LightBeam_Spawn.c: +src/daObjC1Hikari_c_classInit.c: complete .text start:0x02111dd0 end:0x02111e10 @@ -67,7 +67,7 @@ src/_ZN13PeachPainting13InitResourcesEv.cpp: complete .text start:0x02111fc0 end:0x02112004 -src/PeachPainting_Spawn.c: +src/daObjC1Peach_c_classInit.c: complete .text start:0x02112004 end:0x0211203c diff --git a/config/arm9/overlays/ov010/symbols.txt b/config/arm9/overlays/ov010/symbols.txt index e27b65b566..59fcfa3b46 100644 --- a/config/arm9/overlays/ov010/symbols.txt +++ b/config/arm9/overlays/ov010/symbols.txt @@ -22,7 +22,7 @@ _ZN9LightBeam16CleanupResourcesEv kind:function(arm,size=0x24) addr:0x02111a94 _ZN9LightBeam6RenderEv kind:function(arm,size=0x28) addr:0x02111ab8 _ZN9LightBeam8BehaviorEv kind:function(arm,size=0x240) addr:0x02111ae0 _ZN9LightBeam13InitResourcesEv kind:function(arm,size=0xb0) addr:0x02111d20 -LightBeam_Spawn kind:function(arm,size=0x40) addr:0x02111dd0 +daObjC1Hikari_c_classInit kind:function(arm,size=0x40) addr:0x02111dd0 _ZN13PeachPaintingD1Ev kind:function(arm,size=0x30) addr:0x02111e10 _ZN13PeachPaintingD0Ev kind:function(arm,size=0x44) addr:0x02111e40 _ZN13PeachPainting20UpdateModelTransformEv kind:function(arm,size=0x40) addr:0x02111e84 @@ -30,7 +30,7 @@ _ZN13PeachPainting16CleanupResourcesEv kind:function(arm,size=0x24) addr:0x02111 _ZN13PeachPainting6RenderEv kind:function(arm,size=0x40) addr:0x02111ee8 _ZN13PeachPainting8BehaviorEv kind:function(arm,size=0x98) addr:0x02111f28 _ZN13PeachPainting13InitResourcesEv kind:function(arm,size=0x44) addr:0x02111fc0 -PeachPainting_Spawn kind:function(arm,size=0x38) addr:0x02112004 +daObjC1Peach_c_classInit kind:function(arm,size=0x38) addr:0x02112004 __sinit_ov010_0211203c kind:function(arm,size=0xe0) addr:0x0211203c __sinit_ov010_0211211c kind:function(arm,size=0x40) addr:0x0211211c __sinit_ov010_0211215c kind:function(arm,size=0x40) addr:0x0211215c @@ -122,7 +122,7 @@ _ZTV14daObjC1_Trap_c kind:data(any) addr:0x02112ae4 data_ov010_02112b08 kind:data(any) addr:0x02112b08 ambiguous _ZTI15daObjC1Hikari_c kind:data(any) addr:0x02112b64 _ZTS15daObjC1Hikari_c kind:data(any) addr:0x02112b70 -LightBeam_SpawnInfo kind:data(any) addr:0x02112b84 ambiguous +g_profile_C1_HIKARI kind:data(any) addr:0x02112b84 ambiguous _ZTV9LightBeam kind:data(any) addr:0x02112ba8 _ZTV15daObjC1Hikari_c kind:data(any) addr:0x02112ba8 data_ov010_02112bdc kind:data(any) addr:0x02112bdc ambiguous @@ -131,7 +131,7 @@ data_ov010_02112c08 kind:data(any) addr:0x02112c08 ambiguous data_ov010_02112c18 kind:data(any) addr:0x02112c18 ambiguous _ZTI14daObjC1Peach_c kind:data(any) addr:0x02112c24 _ZTS14daObjC1Peach_c kind:data(any) addr:0x02112c30 -PeachPainting_SpawnInfo kind:data(any) addr:0x02112c44 ambiguous +g_profile_C1_PEACH kind:data(any) addr:0x02112c44 ambiguous data_ov010_02112c4c kind:data(any) addr:0x02112c4c ambiguous data_ov010_02112c58 kind:data(any) addr:0x02112c58 ambiguous _ZTV13PeachPainting kind:data(any) addr:0x02112c68 diff --git a/config/arm9/overlays/ov014/delinks.txt b/config/arm9/overlays/ov014/delinks.txt index 30ee11fe3b..0d3f8e4692 100644 --- a/config/arm9/overlays/ov014/delinks.txt +++ b/config/arm9/overlays/ov014/delinks.txt @@ -23,7 +23,7 @@ src/_ZN10ShutterBob13InitResourcesEv.cpp: complete .text start:0x02111294 end:0x021112cc -src/ShutterBob_Spawn.c: +src/daObjBSwdoor_c_classInit.c: complete .text start:0x021112cc end:0x02111308 @@ -171,7 +171,7 @@ src/_ZN15ChainChompFence13InitResourcesEv.cpp: complete .text start:0x02112ffc end:0x0211307c -src/ChainChompFence_Spawn.c: +src/daObjWanwanShutter_c_classInit.c: complete .text start:0x0211307c end:0x021130ac diff --git a/config/arm9/overlays/ov014/symbols.txt b/config/arm9/overlays/ov014/symbols.txt index bbb8a1706a..32f929d278 100644 --- a/config/arm9/overlays/ov014/symbols.txt +++ b/config/arm9/overlays/ov014/symbols.txt @@ -3,7 +3,7 @@ _ZN10ShutterBobD0Ev kind:function(arm,size=0x64) addr:0x021111f0 _ZN10ShutterBob16CleanupResourcesEv kind:function(arm,size=0x14) addr:0x02111254 _ZN10ShutterBob8BehaviorEv kind:function(arm,size=0x2c) addr:0x02111268 _ZN10ShutterBob13InitResourcesEv kind:function(arm,size=0x38) addr:0x02111294 -ShutterBob_Spawn kind:function(arm,size=0x3c) addr:0x021112cc +daObjBSwdoor_c_classInit kind:function(arm,size=0x3c) addr:0x021112cc _ZN10ChainChompD1Ev kind:function(arm,size=0xb4) addr:0x02111308 _ZN10ChainChompD0Ev kind:function(arm,size=0xc8) addr:0x021113bc func_ov014_02111484 kind:function(arm,size=0x54) addr:0x02111484 @@ -40,7 +40,7 @@ _ZN15ChainChompFence16CleanupResourcesEv kind:function(arm,size=0x44) addr:0x021 _ZN15ChainChompFence6RenderEv kind:function(arm,size=0x40) addr:0x02112f80 _ZN15ChainChompFence8BehaviorEv kind:function(arm,size=0x3c) addr:0x02112fc0 _ZN15ChainChompFence13InitResourcesEv kind:function(arm,size=0x80) addr:0x02112ffc -ChainChompFence_Spawn kind:function(arm,size=0x30) addr:0x0211307c +daObjWanwanShutter_c_classInit kind:function(arm,size=0x30) addr:0x0211307c __sinit_ov014_021130ac kind:function(arm,size=0x6c) addr:0x021130ac __sinit_ov014_02113118 kind:function(arm,size=0x1e4) addr:0x02113118 __sinit_ov014_021132fc kind:function(arm,size=0x6c) addr:0x021132fc @@ -158,7 +158,7 @@ data_ov014_02114598 kind:data(any) addr:0x02114598 ambiguous _ZTI14daObjBSwdoor_c kind:data(any) addr:0x021145b8 data_ov014_021145c4 kind:data(any) addr:0x021145c4 _ZTS14daObjBSwdoor_c kind:data(any) addr:0x021145d0 -ShutterBob_SpawnInfo kind:data(any) addr:0x021145e4 ambiguous +g_profile_SWITCHDOOR kind:data(any) addr:0x021145e4 ambiguous _ZTV10ShutterBob kind:data(any) addr:0x02114608 data_ov014_0211462c kind:data(any) addr:0x0211462c ambiguous data_ov014_02114688 kind:data(any) addr:0x02114688 @@ -192,7 +192,7 @@ data_ov014_02114860 kind:data(any) addr:0x02114860 ambiguous _ZTI20daObjWanwanShutter_c kind:data(any) addr:0x02114868 _ZTS20daObjWanwanShutter_c kind:data(any) addr:0x02114874 data_ov014_0211487c kind:data(any) addr:0x0211487c ambiguous -ChainChompFence_SpawnInfo kind:data(any) addr:0x0211488c ambiguous +g_profile_WANWAN_SHUTTER kind:data(any) addr:0x0211488c ambiguous data_ov014_02114898 kind:data(any) addr:0x02114898 ambiguous _ZTV15ChainChompFence kind:data(any) addr:0x021148b0 data_ov014_021148b4 kind:data(any) addr:0x021148b4 ambiguous diff --git a/config/arm9/overlays/ov017/delinks.txt b/config/arm9/overlays/ov017/delinks.txt index 9096b484fe..1ccbb12686 100644 --- a/config/arm9/overlays/ov017/delinks.txt +++ b/config/arm9/overlays/ov017/delinks.txt @@ -28,7 +28,7 @@ src/_ZN9ShipWater13InitResourcesEv.cpp: complete .text start:0x021113c0 end:0x02111480 -src/ShipWater_Spawn.c: +src/daObjKsWater_c_classInit.c: complete .text start:0x02111480 end:0x021114b8 diff --git a/config/arm9/overlays/ov017/symbols.txt b/config/arm9/overlays/ov017/symbols.txt index d6f760b41c..0d74a2f125 100644 --- a/config/arm9/overlays/ov017/symbols.txt +++ b/config/arm9/overlays/ov017/symbols.txt @@ -4,7 +4,7 @@ _ZN9ShipWater16CleanupResourcesEv kind:function(arm,size=0x44) addr:0x0211124c _ZN9ShipWater6RenderEv kind:function(arm,size=0x34) addr:0x02111290 _ZN9ShipWater8BehaviorEv kind:function(arm,size=0xfc) addr:0x021112c4 _ZN9ShipWater13InitResourcesEv kind:function(arm,size=0xc0) addr:0x021113c0 -ShipWater_Spawn kind:function(arm,size=0x38) addr:0x02111480 +daObjKsWater_c_classInit kind:function(arm,size=0x38) addr:0x02111480 data_ov017_021114b8 kind:data(any) addr:0x021114b8 data_ov017_021114bc kind:data(any) addr:0x021114bc data_ov017_021114c0 kind:data(any) addr:0x021114c0 @@ -71,7 +71,7 @@ data_ov017_02111b74 kind:data(any) addr:0x02111b74 ambiguous data_ov017_02111b88 kind:data(any) addr:0x02111b88 ambiguous _ZTI14daObjKsWater_c kind:data(any) addr:0x02111bb4 _ZTS14daObjKsWater_c kind:data(any) addr:0x02111bc0 -ShipWater_SpawnInfo kind:data(any) addr:0x02111bd4 ambiguous +g_profile_KS_MIZU kind:data(any) addr:0x02111bd4 ambiguous data_ov017_02111be0 kind:data(any) addr:0x02111be0 ambiguous _ZTV9ShipWater kind:data(any) addr:0x02111bf8 _ZTV14daObjKsWater_c kind:data(any) addr:0x02111bf8 diff --git a/config/tu_manifest.d/ov010/LightBeam.json b/config/tu_manifest.d/ov010/LightBeam.json index 0235724d9b..030528539b 100644 --- a/config/tu_manifest.d/ov010/LightBeam.json +++ b/config/tu_manifest.d/ov010/LightBeam.json @@ -68,10 +68,10 @@ "ordinal": 6 }, { - "symbol": "LightBeam_Spawn", + "symbol": "daObjC1Hikari_c_classInit", "address": "0x02111dd0", "size": "0x00000040", - "legacy_source": "src/LightBeam_Spawn.c", + "legacy_source": "src/daObjC1Hikari_c_classInit.c", "ordinal": 7 } ], @@ -80,7 +80,8 @@ "notes": [ "Generated by tools/tubuild.py create. See the file's own header comment for what was and was not reconciled, and notes/translation-unit-reconstruction-plan.md section 7.3 for what this generator does and does not attempt to resolve automatically.", "tubuild create warning: CONFLICT: extern declaration 'Matrix4x3_FromRotationY' differs between the legacy file that used to hold func_ov010_02111a54 and the one that held _ZN9LightBeam8BehaviorEv; kept the first, the other is commented out for review", - "8/8 MATCH, objisolate clean, reloc-destinations clean. TU-local C++ class; the 0x124 member is a 1-byte dCcAcPos_c stand-in carrying the evidenced _ZN10dCcAcPos_cD1Ev call -- the full header type would not fit the flat layout (next field at 0x125)." + "8/8 MATCH, objisolate clean, reloc-destinations clean. TU-local C++ class; the 0x124 member is a 1-byte dCcAcPos_c stand-in carrying the evidenced _ZN10dCcAcPos_cD1Ev call -- the full header type would not fit the flat layout (next field at 0x125).", + "Reconstructed source-style factory symbol daObjC1Hikari_c_classInit: class identity is ROM-proven by RTTI/allocation/vtable and profile identity by literal ROM ID C1_HIKARI; classInit spelling is later-EAD lineage reconstruction. Historical alias: LightBeam_Spawn." ], "verification": { "round": "tools/tubuild.py verify -- text-only, whole shadow TU compiled once", @@ -93,9 +94,17 @@ "criteria": { "every_declared_function_defined": "PASS", "every_declared_function_bytes_match": "PASS", - "declared_function_set_equals_defined_function_set": "FAIL-BY-DESIGN -- 7 unlicensed section/symbol(s); see unlicensed_output_observed", + "declared_function_set_equals_defined_function_set": "FAIL-BY-DESIGN -- 7 unlicensed section/symbol(s), 2 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": [], + "unhandled": [ + "_ZN7Vector3D1Ev", + "_ZN9LightBeamD2Ev" + ], + "data": [] } } } diff --git a/config/tu_manifest.d/ov010/PeachPainting.json b/config/tu_manifest.d/ov010/PeachPainting.json index e546c2ac1e..71c2333742 100644 --- a/config/tu_manifest.d/ov010/PeachPainting.json +++ b/config/tu_manifest.d/ov010/PeachPainting.json @@ -68,10 +68,10 @@ "ordinal": 6 }, { - "symbol": "PeachPainting_Spawn", + "symbol": "daObjC1Peach_c_classInit", "address": "0x02112004", "size": "0x00000038", - "legacy_source": "src/PeachPainting_Spawn.c", + "legacy_source": "src/daObjC1Peach_c_classInit.c", "ordinal": 7 } ], @@ -80,7 +80,8 @@ "notes": [ "Generated by tools/tubuild.py create. See the file's own header comment for what was and was not reconciled, and notes/translation-unit-reconstruction-plan.md section 7.3 for what this generator does and does not attempt to resolve automatically.", "tubuild create warning: CONFLICT: local declaration ('struct', 'dActor_c') differs between the legacy file that used to hold _ZN13PeachPaintingD1Ev and the one that held _ZN13PeachPainting8BehaviorEv; kept the first, the other is commented out for review", - "8/8 MATCH, objisolate clean, reloc-destinations clean. TU-local C++ class per the WaterDiamond recipe; DistToCPlayer folded into the shadow base from a later member's view." + "8/8 MATCH, objisolate clean, reloc-destinations clean. TU-local C++ class per the WaterDiamond recipe; DistToCPlayer folded into the shadow base from a later member's view.", + "Reconstructed source-style factory symbol daObjC1Peach_c_classInit: class identity is ROM-proven by RTTI/allocation/vtable and profile identity by literal ROM ID C1_PEACH; classInit spelling is later-EAD lineage reconstruction. Historical alias: PeachPainting_Spawn." ], "verification": { "round": "tools/tubuild.py verify -- text-only, whole shadow TU compiled once", @@ -93,9 +94,16 @@ "criteria": { "every_declared_function_defined": "PASS", "every_declared_function_bytes_match": "PASS", - "declared_function_set_equals_defined_function_set": "FAIL-BY-DESIGN -- 6 unlicensed section/symbol(s); see unlicensed_output_observed", + "declared_function_set_equals_defined_function_set": "FAIL-BY-DESIGN -- 6 unlicensed section/symbol(s), 1 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": [], + "unhandled": [ + "_ZN13PeachPaintingD2Ev" + ], + "data": [] } } } diff --git a/config/tu_manifest.d/ov014/ChainChompFence.json b/config/tu_manifest.d/ov014/ChainChompFence.json index bdc31c8b8d..8616351b4c 100644 --- a/config/tu_manifest.d/ov014/ChainChompFence.json +++ b/config/tu_manifest.d/ov014/ChainChompFence.json @@ -68,10 +68,10 @@ "ordinal": 6 }, { - "symbol": "ChainChompFence_Spawn", + "symbol": "daObjWanwanShutter_c_classInit", "address": "0x0211307c", "size": "0x00000030", - "legacy_source": "src/ChainChompFence_Spawn.c", + "legacy_source": "src/daObjWanwanShutter_c_classInit.c", "ordinal": 7 } ], @@ -79,7 +79,8 @@ "bss": [], "notes": [ "Generated by tools/tubuild.py create. See the file's own header comment for what was and was not reconciled, and notes/translation-unit-reconstruction-plan.md section 7.3 for what this generator does and does not attempt to resolve automatically.", - "8/8 MATCH, objisolate clean, reloc-destinations clean. The legacy shadow embedded dBgW by value; the real class is abstract, so the member is a char[4] slot cast at the two call sites. One ~ChainChompFence() emits D0+D1; Spawn stores &_ZTV15ChainChompFence[2]." + "8/8 MATCH, objisolate clean, reloc-destinations clean. The legacy shadow embedded dBgW by value; the real class is abstract, so the member is a char[4] slot cast at the two call sites. One ~ChainChompFence() emits D0+D1; Spawn stores &_ZTV15ChainChompFence[2].", + "Reconstructed source-style factory symbol daObjWanwanShutter_c_classInit: class identity is ROM-proven by RTTI/allocation/vtable and profile identity by literal ROM ID WANWAN_SHUTTER; classInit spelling is later-EAD lineage reconstruction. Historical alias: ChainChompFence_Spawn." ], "verification": { "round": "tools/tubuild.py verify -- text-only, whole shadow TU compiled once", @@ -92,9 +93,17 @@ "criteria": { "every_declared_function_defined": "PASS", "every_declared_function_bytes_match": "PASS", - "declared_function_set_equals_defined_function_set": "FAIL-BY-DESIGN -- 13 unlicensed section/symbol(s); see unlicensed_output_observed", + "declared_function_set_equals_defined_function_set": "FAIL-BY-DESIGN -- 13 unlicensed section/symbol(s), 2 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": [], + "unhandled": [ + "_ZN15ChainChompFenceD2Ev", + "_ZN7Vector3D1Ev" + ], + "data": [] } } } diff --git a/config/tu_manifest.d/ov014/ShutterBob.json b/config/tu_manifest.d/ov014/ShutterBob.json index cc0a859040..c7fa2c5eb9 100644 --- a/config/tu_manifest.d/ov014/ShutterBob.json +++ b/config/tu_manifest.d/ov014/ShutterBob.json @@ -54,10 +54,10 @@ "ordinal": 4 }, { - "symbol": "ShutterBob_Spawn", + "symbol": "daObjBSwdoor_c_classInit", "address": "0x021112cc", "size": "0x0000003c", - "legacy_source": "src/ShutterBob_Spawn.c", + "legacy_source": "src/daObjBSwdoor_c_classInit.c", "ordinal": 5 } ], @@ -65,7 +65,8 @@ "bss": [], "notes": [ "Generated by tools/tubuild.py create. See the file's own header comment for what was and was not reconciled, and notes/translation-unit-reconstruction-plan.md section 7.3 for what this generator does and does not attempt to resolve automatically.", - "6/6 MATCH, objisolate clean, reloc-destinations clean. NEW FACT: #pragma long_calls is POSITIONAL in 2004/b56 (unlike opt_propagation/optimize_for_size) -- tubuild create DROPPED the legacy file's `#pragma long_calls on`, costing CleanupResources its pooled cross-overlay tail-call; restored in the TU, bracketed with `off`. Also: create's decl merge flipped the call's address semantics (char[] decay vs int value) -- caught by the byte gate, restored to the address view. Spawn stores &_ZTV10ShutterBob[2]." + "6/6 MATCH, objisolate clean, reloc-destinations clean. NEW FACT: #pragma long_calls is POSITIONAL in 2004/b56 (unlike opt_propagation/optimize_for_size) -- tubuild create DROPPED the legacy file's `#pragma long_calls on`, costing CleanupResources its pooled cross-overlay tail-call; restored in the TU, bracketed with `off`. Also: create's decl merge flipped the call's address semantics (char[] decay vs int value) -- caught by the byte gate, restored to the address view. Spawn stores &_ZTV10ShutterBob[2].", + "Reconstructed source-style factory symbol daObjBSwdoor_c_classInit: class identity is ROM-proven by RTTI/allocation/vtable and profile identity by literal ROM ID SWITCHDOOR; classInit spelling is later-EAD lineage reconstruction. Historical alias: ShutterBob_Spawn." ], "verification": { "round": "tools/tubuild.py verify -- text-only, whole shadow TU compiled once", @@ -78,9 +79,16 @@ "criteria": { "every_declared_function_defined": "PASS", "every_declared_function_bytes_match": "PASS", - "declared_function_set_equals_defined_function_set": "FAIL-BY-DESIGN -- 14 unlicensed section/symbol(s); see unlicensed_output_observed", + "declared_function_set_equals_defined_function_set": "FAIL-BY-DESIGN -- 14 unlicensed section/symbol(s), 1 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": [], + "unhandled": [ + "_ZN10ShutterBobD2Ev" + ], + "data": [] } } } diff --git a/config/tu_manifest.d/ov017/ShipWater.json b/config/tu_manifest.d/ov017/ShipWater.json index c4e00b3770..8747695af5 100644 --- a/config/tu_manifest.d/ov017/ShipWater.json +++ b/config/tu_manifest.d/ov017/ShipWater.json @@ -61,10 +61,10 @@ "ordinal": 5 }, { - "symbol": "ShipWater_Spawn", + "symbol": "daObjKsWater_c_classInit", "address": "0x02111480", "size": "0x00000038", - "legacy_source": "src/ShipWater_Spawn.c", + "legacy_source": "src/daObjKsWater_c_classInit.c", "ordinal": 6 } ], @@ -72,7 +72,8 @@ "bss": [], "notes": [ "Generated by tools/tubuild.py create. See the file's own header comment for what was and was not reconciled, and notes/translation-unit-reconstruction-plan.md section 7.3 for what this generator does and does not attempt to resolve automatically.", - "Second key-function-TU pilot after ov045/PoleLift, same shape: PoleLift's forced fix generalised exactly -- ShipWater_Spawn's vptr store needed (int)(_ZTV9ShipWater + 2), the same +8-byte Itanium-preamble correction objisolate's addend check caught (plan sec 5.1). D0/D1 were two files each defining ShipWater::~ShipWater(){}; collapsed to one per the D0/D1/D2 collapse rule. decl_common.h mistyped both SharedFilePtr statics as `int[]`, colliding with the real SharedFilePtr type this TU also needs; dropped the include and restated the four symbols the TU actually uses. compiler_only_output/externalized_output cover D2Ev and the eight inherited vague-linkage RTTI records (fBase_c/dBase_c/dActor_c canonical addresses shared with ov002/daObjAbuku_c; dBgActor_c canonical addresses shared with ov047/daObjKm3_Kurumajiku_c and daObjKm3_Kaitendai_c). ShipWater's own new _ZTS9ShipWater/_ZTI9ShipWater/_ZTV9ShipWater stay unlicensed -- same as PoleLift's own RTTI/vtable -- because no policy mechanism licenses a class's first-emitted vtable; that is Phase F (plan sec 15), not this round. Promotion is refused: this TU's own vtable/RTTI remain unlicensed and no linkcheck has been attempted." + "Second key-function-TU pilot after ov045/PoleLift, same shape: PoleLift's forced fix generalised exactly -- ShipWater_Spawn's vptr store needed (int)(_ZTV9ShipWater + 2), the same +8-byte Itanium-preamble correction objisolate's addend check caught (plan sec 5.1). D0/D1 were two files each defining ShipWater::~ShipWater(){}; collapsed to one per the D0/D1/D2 collapse rule. decl_common.h mistyped both SharedFilePtr statics as `int[]`, colliding with the real SharedFilePtr type this TU also needs; dropped the include and restated the four symbols the TU actually uses. compiler_only_output/externalized_output cover D2Ev and the eight inherited vague-linkage RTTI records (fBase_c/dBase_c/dActor_c canonical addresses shared with ov002/daObjAbuku_c; dBgActor_c canonical addresses shared with ov047/daObjKm3_Kurumajiku_c and daObjKm3_Kaitendai_c). ShipWater's own new _ZTS9ShipWater/_ZTI9ShipWater/_ZTV9ShipWater stay unlicensed -- same as PoleLift's own RTTI/vtable -- because no policy mechanism licenses a class's first-emitted vtable; that is Phase F (plan sec 15), not this round. Promotion is refused: this TU's own vtable/RTTI remain unlicensed and no linkcheck has been attempted.", + "Reconstructed source-style factory symbol daObjKsWater_c_classInit: class identity is ROM-proven by RTTI/allocation/vtable and profile identity by literal ROM ID KS_MIZU; classInit spelling is later-EAD lineage reconstruction. Historical alias: ShipWater_Spawn." ], "verification": { "round": "tools/tubuild.py verify -- text-only, whole shadow TU compiled once", @@ -85,7 +86,7 @@ "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" }, @@ -129,6 +130,20 @@ "symbolCheckNewVsBaseline": null, "rom": null, "linkerOutput": null + }, + "compilerOnlyOutput": { + "requested": [ + "_ZN9ShipWaterD2Ev" + ], + "deadstripped": [ + "_ZN9ShipWaterD2Ev" + ], + "droppedSections": [ + 22, + 23 + ], + "data": [], + "dataExternalized": [] } }, "compiler_only_output": [ @@ -352,7 +367,7 @@ "src/_ZN9ShipWater6RenderEv.cpp", "src/_ZN9ShipWater8BehaviorEv.cpp", "src/_ZN9ShipWater13InitResourcesEv.cpp", - "src/ShipWater_Spawn.c" + "src/daObjKsWater_c_classInit.c" ], "extraInertImports": 77, "extraImportsWithNoHome": [], diff --git a/include/ShutterBob.h b/include/ShutterBob.h index ca4cb94761..ee4a12f13e 100644 --- a/include/ShutterBob.h +++ b/include/ShutterBob.h @@ -16,7 +16,7 @@ * kind __si_class_type_info, ONE base, subobject offset 0 * base daObjSwdoor_c, ov002 0x021099c0 * - * SIZE 0x324, from ShutterBob_Spawn's literal 804. It overrides slots 0 + * SIZE 0x324, from daObjBSwdoor_c_classInit's literal 804. It overrides slots 0 * (InitResources), 3 (CleanupResources) and 6 (Behavior), all three of which the * base leaves null. * diff --git a/notes/data/c-cpp-classification.tsv b/notes/data/c-cpp-classification.tsv index 6ca8418887..c792fe94a4 100644 --- a/notes/data/c-cpp-classification.tsv +++ b/notes/data/c-cpp-classification.tsv @@ -63,7 +63,7 @@ src/CccArena_Spawn.c WEAK-refs-only ov073 1 None - src/CccBigIce_Spawn.c WEAK-refs-only ov073 1 None - src/CccSmallIce_Spawn.c WEAK-refs-only ov073 1 None - src/CgStairs_Spawn.c WEAK-refs-only ov102 1 None - -src/ChainChompFence_Spawn.c WEAK-refs-only ov014 1 None - +src/daObjWanwanShutter_c_classInit.c WEAK-refs-only ov014 1 None - src/ChangeArea.c PURE-C arm9 1 None - src/CheepCheep_Spawn.c WEAK-refs-only ov090 1 None - src/ChillBully_Spawn.c WEAK-refs-only ov027 1 None - @@ -236,7 +236,7 @@ src/LavaBubble_Spawn.c WEAK-refs-only ov064 1 None - src/LavaPlank_Spawn.c WEAK-refs-only ov022 1 None - src/LavaSeesaw_Spawn.c S1-stores-rom-vptr ov022 stores _ZTV10LavaSeesaw 1 None _ZTV10LavaSeesaw - src/LenVec3.c PURE-C arm9 1 None - -src/LightBeam_Spawn.c WEAK-refs-only ov010 1 None - +src/daObjC1Hikari_c_classInit.c WEAK-refs-only ov010 1 None - src/LinkSilverStarAndStarMarker.c PURE-C ov002 1 None - src/LoadArchive.c PURE-C arm9 1 None - src/LoadBlueCoinModel.c WEAK-refs-only arm9 1 None - @@ -330,7 +330,7 @@ src/OpenCannonInLevel.c PURE-C arm9 1 None - src/OrangeBallBillboard_Spawn.c WEAK-refs-only ov044 1 None - src/Ov004_Deallocate.c PURE-C ov004 1 None - src/Painting_Spawn.c S1-stores-rom-vptr ov080 stores _ZTV8Painting 1 None _ZTV8Painting - -src/PeachPainting_Spawn.c WEAK-refs-only ov010 1 None - +src/daObjC1Peach_c_classInit.c WEAK-refs-only ov010 1 None - src/PiranhaPlant_Spawn.c WEAK-refs-only ov084 1 None - src/Player_DisableInteraction.c PURE-C ov002 1 None - src/Player_PlaySoundEffect.c PURE-C arm9 1 None - @@ -424,11 +424,11 @@ src/SharedFilePtr_Destruct_TexSeq.c PURE-C arm9 1 None - src/Shark_Spawn.c WEAK-refs-only ov090 1 None - src/ShipDown_Spawn.c WEAK-refs-only ov016 1 None - src/ShipUp_Spawn.c WEAK-refs-only ov016 1 None - -src/ShipWater_Spawn.c WEAK-refs-only ov017 1 None - +src/daObjKsWater_c_classInit.c WEAK-refs-only ov017 1 None - src/ShipWing_Spawn.c WEAK-refs-only ov036 1 None - src/ShowArea.c PURE-C arm9 1 None - src/ShowCrashScreen.c WEAK-refs-only arm9 1 None - -src/ShutterBob_Spawn.c S1-stores-rom-vptr ov014 stores _ZTV10ShutterBob 1 None _ZTV10ShutterBob/_ZTV13daObjSwdoor_c - +src/daObjBSwdoor_c_classInit.c S1-stores-rom-vptr ov014 stores _ZTV10ShutterBob 1 None _ZTV10ShutterBob/_ZTV13daObjSwdoor_c - src/ShutterHmc_Spawn.c S1-stores-rom-vptr ov021 stores _ZTV10ShutterHmc 1 None _ZTV10ShutterHmc/_ZTV13daObjSwdoor_c - src/SignPost_Spawn.c WEAK-refs-only ov002 1 None - src/SilverStarBlockTag_Spawn.c WEAK-refs-only ov002 1 None - diff --git a/notes/data/tu-merge-candidates.json b/notes/data/tu-merge-candidates.json index 8965fb7be7..7e46478c8d 100644 --- a/notes/data/tu-merge-candidates.json +++ b/notes/data/tu-merge-candidates.json @@ -3038,7 +3038,7 @@ "src/_ZN13PeachPainting6RenderEv.cpp", "src/_ZN13PeachPainting8BehaviorEv.cpp", "src/_ZN13PeachPainting13InitResourcesEv.cpp", - "src/PeachPainting_Spawn.c" + "src/daObjC1Peach_c_classInit.c" ], "ext_mix": { ".cpp": 4, @@ -3788,7 +3788,7 @@ "src/_ZN9LightBeam6RenderEv.cpp", "src/_ZN9LightBeam8BehaviorEv.cpp", "src/_ZN9LightBeam13InitResourcesEv.cpp", - "src/LightBeam_Spawn.c" + "src/daObjC1Hikari_c_classInit.c" ], "ext_mix": { ".cpp": 4, @@ -3847,7 +3847,7 @@ "src/_ZN15ChainChompFence6RenderEv.cpp", "src/_ZN15ChainChompFence8BehaviorEv.cpp", "src/_ZN15ChainChompFence13InitResourcesEv.cpp", - "src/ChainChompFence_Spawn.c" + "src/daObjWanwanShutter_c_classInit.c" ], "ext_mix": { ".cpp": 7, @@ -5735,7 +5735,7 @@ "src/_ZN9ShipWater6RenderEv.cpp", "src/_ZN9ShipWater8BehaviorEv.cpp", "src/_ZN9ShipWater13InitResourcesEv.c", - "src/ShipWater_Spawn.c" + "src/daObjKsWater_c_classInit.c" ], "ext_mix": { ".cpp": 5, @@ -8309,7 +8309,7 @@ "src/_ZN10ShutterBob16CleanupResourcesEv.cpp", "src/_ZN10ShutterBob8BehaviorEv.cpp", "src/_ZN10ShutterBob13InitResourcesEv.cpp", - "src/ShutterBob_Spawn.c" + "src/daObjBSwdoor_c_classInit.c" ], "ext_mix": { ".cpp": 4, diff --git a/notes/enemy-leaf-provenance.md b/notes/enemy-leaf-provenance.md index 5090ad609c..560f22994b 100644 --- a/notes/enemy-leaf-provenance.md +++ b/notes/enemy-leaf-provenance.md @@ -101,7 +101,7 @@ and the merged `src_tu/actors/ChainChomp.cpp`. | 0x5f0 | `mSpawnPosY` | as above, and `Behavior` clamps `mPosY` up to `mSpawnPosY + 0xc8000` every frame — the rest height the chomp hangs at. | | 0x5f4 | `mSpawnPosZ` | as above. | | 0x608 | `mStumpUniqueID` | `InitResources` calls `dActor_c::Spawn(0x1b, 0x11, &mPosX, ...)` and stores `spawned + 4` here. `fBase_c + 0x04` is `uniqueID` (`include/fBase_c.h`). ACTOR_SPAWN_TABLE at 0x02090864, entry 0x1b, points at 0x02135298 = `Stump_SpawnInfo`; and the very next line writes `spawned + 0x320`, which `include/Stump.h` declares as `Stump::mBusy`. Two independent witnesses for the same class. | -| 0x60c | `mFenceUniqueID` | `Behavior` lazily fills it with `dActor_c::FindWithActorID(0x29, 0)->uniqueID`. ACTOR_SPAWN_TABLE entry 0x29 points at 0x0211488c = `ChainChompFence_SpawnInfo`, in this same overlay. | +| 0x60c | `mFenceUniqueID` | `Behavior` lazily fills it with `dActor_c::FindWithActorID(0x29, 0)->uniqueID`. ACTOR_SPAWN_TABLE entry 0x29 points at 0x0211488c = `g_profile_WANWAN_SHUTTER` (historical alias `ChainChompFence_SpawnInfo`), in this same overlay. | | 0x61c | `mIsOnGround` | `Behavior` clears it at the top of the frame and sets it to 1 in exactly the branch that had to clamp `mPosY` up to the rest height. | | 0x61d | `mWasOnGround` | last statement of that block is `mWasOnGround = mIsOnGround`, and `func_ov014_02111fb8` fires only when the clamp happens *and* `mWasOnGround == 0` — a rising-edge one-shot. | diff --git a/src/ChainChompFence_Spawn.c b/src/ChainChompFence_Spawn.c deleted file mode 100644 index a44bc2df36..0000000000 --- a/src/ChainChompFence_Spawn.c +++ /dev/null @@ -1,13 +0,0 @@ -// @symbol ChainChompFence_Spawn -/* recovered: globals resolved, declarations from a shared header */ -#include "decl_ActorBase.h" -#include "decl_Platform.h" -#include "decl_common.h" -/* recovered: globals resolved */ -/* resolved: VT = _ZTV15ChainChompFence */ -int *ChainChompFence_Spawn(void) -{ - int *p = (int *)_ZN7fBase_cnwEj(800); - if (p) { _ZN10dBgActor_cC2Ev(p); p[0] = (int)_ZTV15ChainChompFence; } - return p; -} diff --git a/src/ShutterBob_Spawn.c b/src/daObjBSwdoor_c_classInit.c similarity index 58% rename from src/ShutterBob_Spawn.c rename to src/daObjBSwdoor_c_classInit.c index daf8e958be..44dec1578e 100644 --- a/src/ShutterBob_Spawn.c +++ b/src/daObjBSwdoor_c_classInit.c @@ -1,4 +1,4 @@ -// @symbol ShutterBob_Spawn +// @symbol daObjBSwdoor_c_classInit /* recovered: vtable identified, declarations from a shared header */ #include "decl_ActorBase.h" #include "decl_Platform.h" @@ -7,7 +7,11 @@ extern int _ZTV13daObjSwdoor_c[]; extern int _ZTV10ShutterBob[]; /* recovered: vtable identified */ /* vtable identified: VT0 = _ZTV13daObjSwdoor_c */ -int *ShutterBob_Spawn(void) +/* Reconstructed source-style name: SM64DS proves daObjBSwdoor_c through RTTI, + * allocation size, vtable identity, and the SWITCHDOOR registry profile; later + * EAD lineage supplies classInit. Exact original spelling is not preserved. + * Historical alias: ShutterBob_Spawn. */ +int *daObjBSwdoor_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(804); if (p) { diff --git a/src/LightBeam_Spawn.c b/src/daObjC1Hikari_c_classInit.c similarity index 60% rename from src/LightBeam_Spawn.c rename to src/daObjC1Hikari_c_classInit.c index ba6390b3fc..e247c96764 100644 --- a/src/LightBeam_Spawn.c +++ b/src/daObjC1Hikari_c_classInit.c @@ -1,4 +1,4 @@ -// @symbol LightBeam_Spawn +// @symbol daObjC1Hikari_c_classInit /* recovered: vtable identified, globals resolved, declarations from a shared header */ #include "decl_Actor.h" #include "decl_ActorBase.h" @@ -7,7 +7,11 @@ #include "decl_common.h" /* recovered: vtable identified, globals resolved */ /* resolved: VT0 = _ZTV9LightBeam */ -int *LightBeam_Spawn(void) +/* Reconstructed source-style name: SM64DS proves daObjC1Hikari_c through + * RTTI, allocation size, vtable identity, and the C1_HIKARI registry profile; + * later EAD lineage supplies classInit. Exact original spelling is not + * preserved. Historical alias: LightBeam_Spawn. */ +int *daObjC1Hikari_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(364); if (p) { diff --git a/src/PeachPainting_Spawn.c b/src/daObjC1Peach_c_classInit.c similarity index 57% rename from src/PeachPainting_Spawn.c rename to src/daObjC1Peach_c_classInit.c index 46ed4b90c0..c1f3ad15f0 100644 --- a/src/PeachPainting_Spawn.c +++ b/src/daObjC1Peach_c_classInit.c @@ -1,4 +1,4 @@ -// @symbol PeachPainting_Spawn +// @symbol daObjC1Peach_c_classInit /* recovered: vtable identified, globals resolved, declarations from a shared header */ #include "decl_Actor.h" #include "decl_ActorBase.h" @@ -6,7 +6,11 @@ #include "decl_common.h" /* recovered: vtable identified, globals resolved */ /* resolved: VT0 = _ZTV13PeachPainting */ -int *PeachPainting_Spawn(void) +/* Reconstructed source-style name: SM64DS proves daObjC1Peach_c through RTTI, + * allocation size, vtable identity, and the C1_PEACH registry profile; later + * EAD lineage supplies classInit. Exact original spelling is not preserved. + * Historical alias: PeachPainting_Spawn. */ +int *daObjC1Peach_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(296); if (p) { diff --git a/src/ShipWater_Spawn.c b/src/daObjKsWater_c_classInit.c similarity index 59% rename from src/ShipWater_Spawn.c rename to src/daObjKsWater_c_classInit.c index c84e1d3ff9..52ba9a9a9f 100644 --- a/src/ShipWater_Spawn.c +++ b/src/daObjKsWater_c_classInit.c @@ -1,4 +1,4 @@ -// @symbol ShipWater_Spawn +// @symbol daObjKsWater_c_classInit /* recovered: vtable identified, globals resolved, declarations from a shared header */ #include "decl_ActorBase.h" #include "decl_Platform.h" @@ -6,7 +6,11 @@ #include "decl_common.h" /* recovered: vtable identified, globals resolved */ /* resolved: VT0 = _ZTV9ShipWater */ -int *ShipWater_Spawn(void) +/* Reconstructed source-style name: SM64DS proves daObjKsWater_c through RTTI, + * allocation size, vtable identity, and the KS_MIZU registry profile; later + * EAD lineage supplies classInit. Exact original spelling is not preserved. + * Historical alias: ShipWater_Spawn. */ +int *daObjKsWater_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(832); if (p) { diff --git a/src/daObjWanwanShutter_c_classInit.c b/src/daObjWanwanShutter_c_classInit.c new file mode 100644 index 0000000000..fd63962827 --- /dev/null +++ b/src/daObjWanwanShutter_c_classInit.c @@ -0,0 +1,17 @@ +// @symbol daObjWanwanShutter_c_classInit +/* recovered: globals resolved, declarations from a shared header */ +#include "decl_ActorBase.h" +#include "decl_Platform.h" +#include "decl_common.h" +/* recovered: globals resolved */ +/* resolved: VT = _ZTV15ChainChompFence */ +/* Reconstructed source-style name: SM64DS proves daObjWanwanShutter_c through + * RTTI, allocation size, vtable identity, and the WANWAN_SHUTTER registry + * profile; later EAD lineage supplies classInit. Exact original spelling is + * not preserved. Historical alias: ChainChompFence_Spawn. */ +int *daObjWanwanShutter_c_classInit(void) +{ + int *p = (int *)_ZN7fBase_cnwEj(800); + if (p) { _ZN10dBgActor_cC2Ev(p); p[0] = (int)_ZTV15ChainChompFence; } + return p; +} diff --git a/src_tu/actors/ChainChompFence.cpp b/src_tu/actors/ChainChompFence.cpp index 9f2d7d8ce7..075bc1d23b 100644 --- a/src_tu/actors/ChainChompFence.cpp +++ b/src_tu/actors/ChainChompFence.cpp @@ -23,7 +23,7 @@ * [4] 0x02112f80 src/_ZN15ChainChompFence6RenderEv.cpp * [5] 0x02112fc0 src/_ZN15ChainChompFence8BehaviorEv.cpp * [6] 0x02112ffc src/_ZN15ChainChompFence13InitResourcesEv.cpp - * [7] 0x0211307c src/ChainChompFence_Spawn.c + * [7] 0x0211307c src/daObjWanwanShutter_c_classInit.c */ /* Includes: union of the legacy files', first-seen in ROM-ascending @@ -99,13 +99,14 @@ extern int data_ov014_02114558[]; } /* -------------------------------------------------------------------------- */ -/* ROM ordinal 7 -- ChainChompFence_Spawn, 0x0211307c, size 0x30 */ +/* ROM ordinal 7 -- daObjWanwanShutter_c_classInit, 0x0211307c, size 0x30 */ /* -------------------------------------------------------------------------- */ -// @symbol ChainChompFence_Spawn +// @symbol daObjWanwanShutter_c_classInit /* recovered: globals resolved, declarations from a shared header */ /* recovered: globals resolved */ /* resolved: VT = _ZTV15ChainChompFence */ -extern "C" int *ChainChompFence_Spawn(void) +/* Reconstructed source-style name. Historical alias: ChainChompFence_Spawn. */ +extern "C" int *daObjWanwanShutter_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(800); if (p) { _ZN10dBgActor_cC2Ev(p); p[0] = (int)&_ZTV15ChainChompFence[2]; /* +8: this TU defines the vtable */ } diff --git a/src_tu/actors/LightBeam.cpp b/src_tu/actors/LightBeam.cpp index c674f7ac77..517b2f5eb2 100644 --- a/src_tu/actors/LightBeam.cpp +++ b/src_tu/actors/LightBeam.cpp @@ -23,7 +23,7 @@ * [4] 0x02111ab8 src/_ZN9LightBeam6RenderEv.cpp * [5] 0x02111ae0 src/_ZN9LightBeam8BehaviorEv.cpp * [6] 0x02111d20 src/_ZN9LightBeam13InitResourcesEv.cpp - * [7] 0x02111dd0 src/LightBeam_Spawn.c + * [7] 0x02111dd0 src/daObjC1Hikari_c_classInit.c */ /* Includes: union of the legacy files', first-seen in ROM-ascending @@ -117,14 +117,15 @@ extern int data_0209caa0[]; } /* -------------------------------------------------------------------------- */ -/* ROM ordinal 7 -- LightBeam_Spawn, 0x02111dd0, size 0x40 */ +/* ROM ordinal 7 -- daObjC1Hikari_c_classInit, 0x02111dd0, size 0x40 */ /* -------------------------------------------------------------------------- */ -// @symbol LightBeam_Spawn +// @symbol daObjC1Hikari_c_classInit /* recovered: vtable identified, globals resolved, declarations from a shared header */ /* recovered: vtable identified, globals resolved */ /* resolved: VT0 = _ZTV9LightBeam */ extern "C" { /* .c-derived member: C linkage for the whole block */ -int *LightBeam_Spawn(void) +/* Reconstructed source-style name. Historical alias: LightBeam_Spawn. */ +int *daObjC1Hikari_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(364); if (p) { diff --git a/src_tu/actors/PeachPainting.cpp b/src_tu/actors/PeachPainting.cpp index 279a61d04f..c25dc359dd 100644 --- a/src_tu/actors/PeachPainting.cpp +++ b/src_tu/actors/PeachPainting.cpp @@ -23,7 +23,7 @@ * [4] 0x02111ee8 src/_ZN13PeachPainting6RenderEv.cpp * [5] 0x02111f28 src/_ZN13PeachPainting8BehaviorEv.cpp * [6] 0x02111fc0 src/_ZN13PeachPainting13InitResourcesEv.cpp - * [7] 0x02112004 src/PeachPainting_Spawn.c + * [7] 0x02112004 src/daObjC1Peach_c_classInit.c */ /* Includes: union of the legacy files', first-seen in ROM-ascending @@ -94,14 +94,15 @@ extern void func_ov010_02111e84(void*); } /* -------------------------------------------------------------------------- */ -/* ROM ordinal 7 -- PeachPainting_Spawn, 0x02112004, size 0x38 */ +/* ROM ordinal 7 -- daObjC1Peach_c_classInit, 0x02112004, size 0x38 */ /* -------------------------------------------------------------------------- */ -// @symbol PeachPainting_Spawn +// @symbol daObjC1Peach_c_classInit /* recovered: vtable identified, globals resolved, declarations from a shared header */ /* recovered: vtable identified, globals resolved */ /* resolved: VT0 = _ZTV13PeachPainting */ extern "C" { /* .c-derived member: C linkage for the whole block */ -int *PeachPainting_Spawn(void) +/* Reconstructed source-style name. Historical alias: PeachPainting_Spawn. */ +int *daObjC1Peach_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(296); if (p) { diff --git a/src_tu/actors/ShipWater.cpp b/src_tu/actors/ShipWater.cpp index bbd1ecd7c8..5c5272278d 100644 --- a/src_tu/actors/ShipWater.cpp +++ b/src_tu/actors/ShipWater.cpp @@ -24,7 +24,7 @@ * [3] 0x02111290 src/_ZN9ShipWater6RenderEv.cpp * [4] 0x021112c4 src/_ZN9ShipWater8BehaviorEv.cpp * [5] 0x021113c0 src/_ZN9ShipWater13InitResourcesEv.cpp - * [6] 0x02111480 src/ShipWater_Spawn.c + * [6] 0x02111480 src/daObjKsWater_c_classInit.c */ /* Includes: union of the legacy files', first-seen in ROM-ascending @@ -59,14 +59,15 @@ CLPS_Block *clps); } /* -------------------------------------------------------------------------- */ -/* ROM ordinal 6 -- ShipWater_Spawn, 0x02111480, size 0x38 */ +/* ROM ordinal 6 -- daObjKsWater_c_classInit, 0x02111480, size 0x38 */ /* -------------------------------------------------------------------------- */ -// @symbol ShipWater_Spawn +// @symbol daObjKsWater_c_classInit /* recovered: vtable identified, globals resolved, declarations from a shared header */ /* recovered: vtable identified, globals resolved */ /* resolved: VT0 = _ZTV9ShipWater */ extern "C" { /* .c-derived member: C linkage for the whole block */ -int *ShipWater_Spawn(void) +/* Reconstructed source-style name. Historical alias: ShipWater_Spawn. */ +int *daObjKsWater_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(832); if (p) { diff --git a/src_tu/actors/ShutterBob.cpp b/src_tu/actors/ShutterBob.cpp index 66aa04ec3f..c300676d48 100644 --- a/src_tu/actors/ShutterBob.cpp +++ b/src_tu/actors/ShutterBob.cpp @@ -21,7 +21,7 @@ * [2] 0x02111254 src/_ZN10ShutterBob16CleanupResourcesEv.cpp * [3] 0x02111268 src/_ZN10ShutterBob8BehaviorEv.cpp * [4] 0x02111294 src/_ZN10ShutterBob13InitResourcesEv.cpp - * [5] 0x021112cc src/ShutterBob_Spawn.c + * [5] 0x021112cc src/daObjBSwdoor_c_classInit.c */ /* TUBUILD WARNING -- #pragma directive(s) were present in the legacy @@ -55,13 +55,14 @@ extern int data_ov014_021145c4; } /* -------------------------------------------------------------------------- */ -/* ROM ordinal 5 -- ShutterBob_Spawn, 0x021112cc, size 0x3c */ +/* ROM ordinal 5 -- daObjBSwdoor_c_classInit, 0x021112cc, size 0x3c */ /* -------------------------------------------------------------------------- */ -// @symbol ShutterBob_Spawn +// @symbol daObjBSwdoor_c_classInit /* recovered: vtable identified, declarations from a shared header */ /* recovered: vtable identified */ /* vtable identified: VT0 = _ZTV13daObjSwdoor_c */ -extern "C" int *ShutterBob_Spawn(void) +/* Reconstructed source-style name. Historical alias: ShutterBob_Spawn. */ +extern "C" int *daObjBSwdoor_c_classInit(void) { int *p = (int *)_ZN7fBase_cnwEj(804); if (p) { diff --git a/symbols/actor_renames.tsv b/symbols/actor_renames.tsv index b880f71129..ad50564c9f 100644 --- a/symbols/actor_renames.tsv +++ b/symbols/actor_renames.tsv @@ -455,6 +455,7 @@ ov010 0x02111ab8 func_ov010_02111ab8 _ZN14daObjC1_Trap_c6RenderEv vtable slot 9 ov010 0x02111ae0 func_ov010_02111ae0 _ZN14daObjC1_Trap_c8BehaviorEv vtable slot 6 ov010 0x02111d20 func_ov010_02111d20 _ZN14daObjC1_Trap_c13InitResourcesEv vtable slot 0 ov010 0x02111dd0 func_ov010_02111dd0 LightBeam_Spawn spawnfunc +ov010 0x02111dd0 LightBeam_Spawn daObjC1Hikari_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov010 0x02111e10 func_ov010_02111e10 _ZN13PeachPaintingD1Ev vtable slot 16 ov010 0x02111e40 func_ov010_02111e40 _ZN13PeachPaintingD0Ev vtable slot 17 ov010 0x02111ec4 func_ov010_02111ec4 _ZN13PeachPainting16CleanupResourcesEv vtable slot 3 @@ -462,10 +463,13 @@ ov010 0x02111ee8 func_ov010_02111ee8 _ZN13PeachPainting6RenderEv vtable slot 9 ov010 0x02111f28 func_ov010_02111f28 _ZN13PeachPainting8BehaviorEv vtable slot 6 ov010 0x02111fc0 func_ov010_02111fc0 _ZN13PeachPainting13InitResourcesEv vtable slot 0 ov010 0x02112004 func_ov010_02112004 PeachPainting_Spawn spawnfunc +ov010 0x02112004 PeachPainting_Spawn daObjC1Peach_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov010 0x02112ac0 data_ov010_02112ac0 Trap_SpawnInfo spawninfo ov010 0x02112b84 data_ov010_02112b84 LightBeam_SpawnInfo spawninfo +ov010 0x02112b84 LightBeam_SpawnInfo g_profile_C1_HIKARI reconstructed profile global; literal ROM ID C1_HIKARI+registry role+later EAD lineage; exact SM64DS spelling not preserved ov010 0x02112ba8 data_ov010_02112ba8 _ZTV14daObjC1_Trap_c vtable alloc=0x3b0 ov010 0x02112c44 data_ov010_02112c44 PeachPainting_SpawnInfo spawninfo +ov010 0x02112c44 PeachPainting_SpawnInfo g_profile_C1_PEACH reconstructed profile global; literal ROM ID C1_PEACH+registry role+later EAD lineage; exact SM64DS spelling not preserved ov010 0x02112c68 data_ov010_02112c68 _ZTV13PeachPainting vtable alloc=0x128 ov012 0x02111420 func_ov012_02111420 SwitchPillar_Spawn spawnfunc ov012 0x02111420 SwitchPillar_Spawn daObjC0_Switch_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved @@ -501,6 +505,7 @@ ov014 0x02111254 func_ov014_02111254 _ZN10ShutterBob16CleanupResourcesEv vtable ov014 0x02111268 func_ov014_02111268 _ZN10ShutterBob8BehaviorEv vtable slot 6 ov014 0x02111294 func_ov014_02111294 _ZN10ShutterBob13InitResourcesEv vtable slot 0 ov014 0x021112cc func_ov014_021112cc ShutterBob_Spawn spawnfunc +ov014 0x021112cc ShutterBob_Spawn daObjBSwdoor_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov014 0x02111308 func_ov014_02111308 _ZN10ChainChompD1Ev vtable slot 16 ov014 0x021113bc func_ov014_021113bc _ZN10ChainChompD0Ev vtable slot 17 ov014 0x0211294c func_ov014_0211294c _ZN10ChainChomp16CleanupResourcesEv vtable slot 3 @@ -515,11 +520,14 @@ ov014 0x02112f80 func_ov014_02112f80 _ZN15ChainChompFence6RenderEv vtable slot 9 ov014 0x02112fc0 func_ov014_02112fc0 _ZN15ChainChompFence8BehaviorEv vtable slot 6 ov014 0x02112ffc func_ov014_02112ffc _ZN15ChainChompFence13InitResourcesEv vtable slot 0 ov014 0x0211307c func_ov014_0211307c ChainChompFence_Spawn spawnfunc +ov014 0x0211307c ChainChompFence_Spawn daObjWanwanShutter_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov014 0x021145e4 data_ov014_021145e4 ShutterBob_SpawnInfo spawninfo +ov014 0x021145e4 ShutterBob_SpawnInfo g_profile_SWITCHDOOR reconstructed profile global; literal ROM ID SWITCHDOOR+registry role+later EAD lineage; exact SM64DS spelling not preserved ov014 0x02114608 data_ov014_02114608 _ZTV10ShutterBob vtable alloc=0x324 ov014 0x02114750 data_ov014_02114750 ChainChomp_SpawnInfo spawninfo ov014 0x021147ec data_ov014_021147ec _ZTV10ChainChomp vtable alloc=0x620 ov014 0x0211488c data_ov014_0211488c ChainChompFence_SpawnInfo spawninfo +ov014 0x0211488c ChainChompFence_SpawnInfo g_profile_WANWAN_SHUTTER reconstructed profile global; literal ROM ID WANWAN_SHUTTER+registry role+later EAD lineage; exact SM64DS spelling not preserved ov014 0x021148b0 data_ov014_021148b0 _ZTV15ChainChompFence vtable alloc=0x320 ov015 0x021112dc func_ov015_021112dc PoleBillboard_Spawn spawnfunc ov015 0x02111314 func_ov015_02111314 _ZN13PoleBillboardD1Ev vtable slot 16 @@ -613,7 +621,9 @@ ov017 0x02111290 func_ov017_02111290 _ZN9ShipWater6RenderEv vtable slot 9 ov017 0x021112c4 func_ov017_021112c4 _ZN9ShipWater8BehaviorEv vtable slot 6 ov017 0x021113c0 func_ov017_021113c0 _ZN9ShipWater13InitResourcesEv vtable slot 0 ov017 0x02111480 func_ov017_02111480 ShipWater_Spawn spawnfunc +ov017 0x02111480 ShipWater_Spawn daObjKsWater_c_classInit reconstructed classInit; ROM RTTI+factory shape+unique class factory+later EAD lineage; exact SM64DS spelling not preserved ov017 0x02111bd4 data_ov017_02111bd4 ShipWater_SpawnInfo spawninfo +ov017 0x02111bd4 ShipWater_SpawnInfo g_profile_KS_MIZU reconstructed profile global; literal ROM ID KS_MIZU+registry role+later EAD lineage; exact SM64DS spelling not preserved ov017 0x02111bf8 data_ov017_02111bf8 _ZTV9ShipWater vtable alloc=0x340 ov018 0x02111818 func_ov018_02111818 SkiLift_Spawn spawnfunc ov018 0x02111848 func_ov018_02111848 _ZN7SkiLiftD1Ev vtable slot 16