Skip to content

Platform is 0x320, Enemy derives from Actor, and the structors that follow - #1381

Merged
tangosdev merged 1 commit into
mainfrom
cpp/platform-layout-a
Aug 10, 2026
Merged

Platform is 0x320, Enemy derives from Actor, and the structors that follow#1381
tangosdev merged 1 commit into
mainfrom
cpp/platform-layout-a

Conversation

@andrewboudreau

Copy link
Copy Markdown
Collaborator

Part 1 of 4 splitting #1377. 172 files — under the validator's 200-file cap, so this auto-validates instead of asking for a hand review.

mainthis#1381#1379#1380. The four reconstruct #1377's tree exactly (same git tree hash).

Platform's data ends at 0x31e, sizeof 0x320

It takes more than one derived class to see why. BowserFireSeaArena starts its own Model at 0x324, which alone reads like the class ending there. But four classes derive from Platform directly — one non-Platform vtable store each, so no intermediate — and each places a 4-byte-aligned class member at 0x320, impossible if Platform occupied 0x320..0x323:

class ROM name member at 0x320
PyramidTop daObjDlPyramid_c Model
SwitchPillar daObjC0Water_c TextureTransformer
MovingBarSmall daObjBk_Lift_c ShadowModel
WallSign daObjKanban_c MovingCylinderClsnWithPos

Each is read straight off that class's destructor, which destroys its own member at 0x320 before storing _ZTV8Platform and running the base. One layout satisfies all five; ending at 0x324 satisfies BowserFireSeaArena and contradicts the other four.

This corrects #1374, which was mine, and which took BowserFireSeaArena's evidence alone.

Also here

  • Enemy derives from Actor — what 51 subclasses were waiting on — plus five more Enemy fields named by its subclasses, and its vtable symbol.
  • Inline base destructors for ActorDerived and Scene.
  • Platform's own destructor forced out of line by a call it never makes, because an inline destructor emits nothing in a TU that only includes the header.
  • The arm9 D0s were missing an operator delete, not fakematching.
  • objisolate learns the multiple-inheritance secondary vptr addend: >= VTABLE_PREAMBLE rather than ==, so 44 → 36 for ModelAnim corrects instead of being refused. The ROM confirms it independently — _ZTV9ModelAnim 0x0208e980 against VTable_Animation_ModelAnimThunk 0x0208e9a4, differing by exactly 44 − 8.

Verified

gate result
rombuild.py -j16, full ROM 106/106 exact, 0 mismatching, 10,813 source-built, 87.88%
eligible.py vs cbd57a83 name list identical — nothing lost, nothing gained
pr_linkcheck no new WRONG or NO-REPRO
langmode ratchet / duplicates / port refs PASS / none doubled / 393 resolve

Original work is by the author of #1377; this split preserves the content, not the 37-commit history, which remains on that branch.

🤖 Generated with Claude Code

https://claude.ai/code/session_015AXm5k53WFPjCYcDHRDX3x

…ollow

The first half of the layout work behind #1377, split so each PR clears the
validator's 200-file cap. 172 files; the second half is the header-generation
fixes and the Vector3 destructor.

PLATFORM'S DATA ENDS AT 0x31e, SIZEOF 0x320, and it takes more than one derived
class to see why. BowserFireSeaArena starts its own Model at 0x324, which alone
reads like the class ending there. But four classes derive from Platform
DIRECTLY -- one non-Platform vtable store each, so no intermediate -- and each
places a 4-byte-aligned CLASS member at 0x320, impossible if Platform occupied
0x320..0x323:

    PyramidTop      daObjDlPyramid_c   Model                      @ 0x320
    SwitchPillar    daObjC0Water_c     TextureTransformer         @ 0x320
    MovingBarSmall  daObjBk_Lift_c     ShadowModel                @ 0x320
    WallSign        daObjKanban_c      MovingCylinderClsnWithPos  @ 0x320

Each is read straight off that class's destructor, which destroys its own member
at 0x320 before storing _ZTV8Platform and running the base. One layout satisfies
all five: data ends 0x31e, sizeof 0x320. Ending at 0x324 satisfies
BowserFireSeaArena and contradicts the other four. This corrects #1374, which
was mine, and which took BowserFireSeaArena's evidence alone.

Also here: Enemy derives from Actor -- what 51 subclasses were waiting on --
with five more Enemy fields named by its subclasses and its vtable symbol; the
inline base destructors for ActorDerived and Scene; Platform's own destructor
forced out of line by a call it never makes, because an inline destructor emits
nothing in a TU that only includes the header; the arm9 D0s that were missing an
operator delete rather than fakematching; and objisolate learning the
multiple-inheritance secondary vptr addend -- `>= VTABLE_PREAMBLE` rather than
`==`, so 44 -> 36 for ModelAnim corrects instead of being refused, which the ROM
confirms independently (_ZTV9ModelAnim 0x0208e980 against
VTable_Animation_ModelAnimThunk 0x0208e9a4, differing by exactly 44 - 8).

VERIFIED

rombuild -j16, full ROM: 106/106 exact, 0 mismatching, 10,813 source-built,
87.88%. eligible.py against cbd57a8: name list IDENTICAL -- nothing lost,
nothing gained. langmode ratchet PASS. pr_linkcheck: no new WRONG or NO-REPRO.

Original work is by the author of #1377; this split preserves the content, not
the 37-commit history, which remains on that branch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015AXm5k53WFPjCYcDHRDX3x
@tangos-validator

tangos-validator Bot commented Aug 10, 2026

Copy link
Copy Markdown

✅ PR validation — Passed

Committed merge introduces no reconstruction or attribution regression.

Full merge validation

Check Result
Committed test merge yes
Matched functions 11,178 / 11,347 (98.5%, +0)
Matched code bytes 2,078,800 / 2,211,124 (94.0%, +0)
Tracked source enrollment 10,785 functions, 1,936,196 bytes (87.57%, +332)
Perfect source moves 0 R100
Contributor credit 0 added, 0 changed, 0 lost
Relocation check 1091 checked; 85 BENIGN, 22 BLIND, 2 NO-SYM, 982 VERIFIED
Port reference check 393 checked; 0 stale
Module fidelity 106/106 exact; 100.000000% compared bytes
Code linked from verified source 10,813 functions, 1,943,084 bytes (87.88%)

Warnings: 22 linkcheck result(s) have unresolved relocations; 2 affected source file(s) could not be fully link-checked.

Per-file link-check detail

2 of 1039 changed file(s) do not match the ROM (NO-SYM).

File Symbol Result Slots checked
src/_ZN10BowserFire13InitResourcesEv.cpp _ZN10BowserFire13InitResourcesEv ✅ verified 1
src/_ZN10BowserFire16CleanupResourcesEv.cpp _ZN10BowserFire16CleanupResourcesEv ✅ verified 1
src/_ZN10BowserFire6RenderEv.cpp _ZN10BowserFire6RenderEv ✅ verified 1
src/_ZN10BowserFire8BehaviorEv.cpp _ZN10BowserFire8BehaviorEv ✅ verified 1
src/_ZN10BowserFireD0Ev.cpp _ZN10BowserFireD0Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN10BowserFireD1Ev.cpp _ZN10BowserFireD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN10BowserTail13InitResourcesEv.cpp _ZN10BowserTail13InitResourcesEv ✅ verified 1
src/_ZN10BowserTail16CleanupResourcesEv.cpp _ZN10BowserTail16CleanupResourcesEv ✅ verified 1
src/_ZN10BowserTail6RenderEv.cpp _ZN10BowserTail6RenderEv ✅ verified 1
src/_ZN10BowserTail8BehaviorEv.cpp _ZN10BowserTail8BehaviorEv ✅ verified 1
src/_ZN10BowserTailD0Ev.cpp _ZN10BowserTailD0Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN10BowserTailD1Ev.cpp _ZN10BowserTailD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN10BulletBill13InitResourcesEv.cpp _ZN10BulletBill13InitResourcesEv ✅ verified 1
src/_ZN10BulletBill16CleanupResourcesEv.cpp _ZN10BulletBill16CleanupResourcesEv ✅ verified 1
src/_ZN10BulletBill6RenderEv.cpp _ZN10BulletBill6RenderEv ✅ verified 1
src/_ZN10BulletBill8BehaviorEv.cpp _ZN10BulletBill8BehaviorEv ✅ verified 1
src/_ZN10ChainChomp13InitResourcesEv.cpp _ZN10ChainChomp13InitResourcesEv ✅ verified 1
src/_ZN10ChainChomp6RenderEv.cpp _ZN10ChainChomp6RenderEv ✅ verified 1
src/_ZN10ChainChomp8BehaviorEv.cpp _ZN10ChainChomp8BehaviorEv ✅ verified 1
src/_ZN10ChainChompD0Ev.cpp _ZN10ChainChompD0Ev ✅ verified 1
src/_ZN10ChainChompD1Ev.c _ZN10ChainChompD1Ev ✅ verified 1
src/_ZN10CheepCheep13InitResourcesEv.cpp _ZN10CheepCheep13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN10CheepCheep6RenderEv.cpp _ZN10CheepCheep6RenderEv ✅ verified 1
src/_ZN10CheepCheep8BehaviorEv.cpp _ZN10CheepCheep8BehaviorEv ✅ verified 1
src/_ZN10DonutBlock13InitResourcesEv.cpp _ZN10DonutBlock13InitResourcesEv ✅ verified 1
src/_ZN10DonutBlock16CleanupResourcesEv.cpp _ZN10DonutBlock16CleanupResourcesEv ✅ verified 1
src/_ZN10DonutBlock6RenderEv.cpp _ZN10DonutBlock6RenderEv ✅ verified 1
src/_ZN10DonutBlock8BehaviorEv.cpp _ZN10DonutBlock8BehaviorEv ✅ verified 1
src/_ZN10DonutBlockD1Ev.cpp _ZN10DonutBlockD1Ev ✅ benign (equivalent veneer/twin) 4 (+3 passenger)
src/_ZN10FlameChomp13InitResourcesEv.cpp _ZN10FlameChomp13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN10FlameChomp6RenderEv.cpp _ZN10FlameChomp6RenderEv ✅ verified 1
src/_ZN10FlameChomp8BehaviorEv.cpp _ZN10FlameChomp8BehaviorEv ✅ verified 1
src/_ZN10KingBobOmb13InitResourcesEv.cpp _ZN10KingBobOmb13InitResourcesEv ✅ verified 1
src/_ZN10KingBobOmb6RenderEv.cpp _ZN10KingBobOmb6RenderEv ✅ verified 1
src/_ZN10KingBobOmb8BehaviorEv.cpp _ZN10KingBobOmb8BehaviorEv ✅ verified 1
src/_ZN10ModelAnim24CopyERKS_Pcj.cpp _ZN10ModelAnim24CopyERKS_Pcj ✅ verified 1
src/_ZN10MrBlizzard13InitResourcesEv.cpp _ZN10MrBlizzard13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN10MrBlizzard6RenderEv.cpp _ZN10MrBlizzard6RenderEv ✅ verified 1
src/_ZN10MrBlizzard8BehaviorEv.cpp _ZN10MrBlizzard8BehaviorEv ✅ verified 1
src/_ZN10PyramidTop13InitResourcesEv.cpp _ZN10PyramidTop13InitResourcesEv ✅ verified 1
src/_ZN10PyramidTop16CleanupResourcesEv.cpp _ZN10PyramidTop16CleanupResourcesEv ✅ verified 1
src/_ZN10PyramidTop6RenderEv.cpp _ZN10PyramidTop6RenderEv ✅ verified 1
src/_ZN10PyramidTop8BehaviorEv.cpp _ZN10PyramidTop8BehaviorEv ✅ verified 1
src/_ZN10Scuttlebug13InitResourcesEv.cpp _ZN10Scuttlebug13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN10Scuttlebug6RenderEv.cpp _ZN10Scuttlebug6RenderEv ✅ verified 1
src/_ZN10Scuttlebug8BehaviorEv.cpp _ZN10Scuttlebug8BehaviorEv ✅ verified 1
src/_ZN10ShutterBob13InitResourcesEv.cpp _ZN10ShutterBob13InitResourcesEv ✅ verified 1
src/_ZN10ShutterBob16CleanupResourcesEv.cpp _ZN10ShutterBob16CleanupResourcesEv ✅ verified 1
src/_ZN10ShutterBob8BehaviorEv.cpp _ZN10ShutterBob8BehaviorEv ✅ verified 1
src/_ZN10ShutterHmc13InitResourcesEv.cpp _ZN10ShutterHmc13InitResourcesEv ✅ verified 1
src/_ZN10ShutterHmc16CleanupResourcesEv.cpp _ZN10ShutterHmc16CleanupResourcesEv ✅ verified 1
src/_ZN10ShutterHmc8BehaviorEv.cpp _ZN10ShutterHmc8BehaviorEv ✅ verified 1
src/_ZN10SlidingIce16CleanupResourcesEv.cpp _ZN10SlidingIce16CleanupResourcesEv ✅ verified 1
src/_ZN10SlidingIce6RenderEv.cpp _ZN10SlidingIce6RenderEv ✅ verified 1
src/_ZN10SlidingIce8BehaviorEv.cpp _ZN10SlidingIce8BehaviorEv ✅ verified 1
src/_ZN10StarMarker13InitResourcesEv.cpp _ZN10StarMarker13InitResourcesEv ✅ verified 1
src/_ZN10StarMarker16CleanupResourcesEv.cpp _ZN10StarMarker16CleanupResourcesEv ✅ verified 1
src/_ZN10StarMarker16OnPendingDestroyEv.cpp _ZN10StarMarker16OnPendingDestroyEv ✅ verified 1
src/_ZN10StarMarker27SpawnRedCoinStarIfNecessaryEv.cpp _ZN10StarMarker27SpawnRedCoinStarIfNecessaryEv ✅ verified 1
src/_ZN10StarMarker6RenderEv.cpp _ZN10StarMarker6RenderEv ✅ verified 1
src/_ZN10StarMarker8BehaviorEv.cpp _ZN10StarMarker8BehaviorEv ✅ verified 1
src/_ZN10StarSwitch16CleanupResourcesEv.cpp _ZN10StarSwitch16CleanupResourcesEv ✅ verified 1
src/_ZN10StarSwitch6RenderEv.cpp _ZN10StarSwitch6RenderEv ✅ verified 1
src/_ZN10StarSwitch8BehaviorEv.cpp _ZN10StarSwitch8BehaviorEv ✅ verified 1
src/_ZN10StarSwitchD1Ev.cpp _ZN10StarSwitchD1Ev ✅ benign (equivalent veneer/twin) 4 (+3 passenger)
src/_ZN11BabyPenguin13InitResourcesEv.cpp _ZN11BabyPenguin13InitResourcesEv ✅ verified 1
src/_ZN11BabyPenguin6RenderEv.cpp _ZN11BabyPenguin6RenderEv ✅ verified 1
src/_ZN11BabyPenguin8BehaviorEv.cpp _ZN11BabyPenguin8BehaviorEv ✅ verified 1
src/_ZN11BobOmbBuddy13InitResourcesEv.cpp _ZN11BobOmbBuddy13InitResourcesEv ✅ verified 1
src/_ZN11BobOmbBuddy6RenderEv.cpp _ZN11BobOmbBuddy6RenderEv ✅ verified 1
src/_ZN11BobOmbBuddy8BehaviorEv.cpp _ZN11BobOmbBuddy8BehaviorEv ✅ verified 1
src/_ZN11CannonHatch13InitResourcesEv.cpp _ZN11CannonHatch13InitResourcesEv ✅ verified 1
src/_ZN11CannonHatch16CleanupResourcesEv.cpp _ZN11CannonHatch16CleanupResourcesEv ✅ verified 1
src/_ZN11CannonHatch6RenderEv.cpp _ZN11CannonHatch6RenderEv ✅ verified 1
src/_ZN11ChiefChilly13InitResourcesEv.cpp _ZN11ChiefChilly13InitResourcesEv ✅ verified 1
src/_ZN11ChiefChilly16CleanupResourcesEv.cpp _ZN11ChiefChilly16CleanupResourcesEv ✅ verified 1
src/_ZN11ChiefChilly16OnPendingDestroyEv.cpp _ZN11ChiefChilly16OnPendingDestroyEv ✅ verified 1
src/_ZN11ChiefChilly6RenderEv.cpp _ZN11ChiefChilly6RenderEv ✅ verified 1
src/_ZN11ChiefChilly8BehaviorEv.cpp _ZN11ChiefChilly8BehaviorEv ✅ verified 1
src/_ZN11ChiefChillyD0Ev.c _ZN11ChiefChillyD0Ev ✅ verified 1
src/_ZN11ChiefChillyD1Ev.c _ZN11ChiefChillyD1Ev ✅ verified 1
src/_ZN11CommonModel12SetPolygonIDEj.cpp _ZN11CommonModel12SetPolygonIDEj ✅ verified 1
src/_ZN11CommonModel13Func_020160ACEj.cpp _ZN11CommonModel13Func_020160ACEj ✅ verified 1
src/_ZN11CommonModel6RenderEPK7Vector3.cpp _ZN11CommonModel6RenderEPK7Vector3 ✅ verified 1
src/_ZN11CommonModel9DoSetFileEPcii.cpp _ZN11CommonModel9DoSetFileEPcii ✅ verified 1
src/_ZN11CommonModelD1Ev.cpp _ZN11CommonModelD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN11CrazedCrate13InitResourcesEv.cpp _ZN11CrazedCrate13InitResourcesEv ✅ verified 1
src/_ZN11CrazedCrate6RenderEv.cpp _ZN11CrazedCrate6RenderEv ✅ verified 1
src/_ZN11CrazedCrate8BehaviorEv.cpp _ZN11CrazedCrate8BehaviorEv ✅ verified 1
src/_ZN11PyramidLift13InitResourcesEv.cpp _ZN11PyramidLift13InitResourcesEv ✅ verified 1
src/_ZN11PyramidLift6RenderEv.cpp _ZN11PyramidLift6RenderEv ✅ verified 1
src/_ZN11PyramidLift8BehaviorEv.cpp _ZN11PyramidLift8BehaviorEv ✅ verified 1
src/_ZN11PyramidLiftD0Ev.c _ZN11PyramidLiftD0Ev ✅ verified 1
src/_ZN11PyramidLiftD1Ev.cpp _ZN11PyramidLiftD1Ev ✅ verified 1
src/_ZN11PyramidStep13InitResourcesEv.cpp _ZN11PyramidStep13InitResourcesEv ✅ verified 1
src/_ZN11PyramidStep16CleanupResourcesEv.cpp _ZN11PyramidStep16CleanupResourcesEv ✅ verified 1
src/_ZN11PyramidStep6RenderEv.cpp _ZN11PyramidStep6RenderEv ✅ verified 1
src/_ZN11PyramidStep8BehaviorEv.cpp _ZN11PyramidStep8BehaviorEv ✅ verified 1
src/_ZN11RollingRock13InitResourcesEv.cpp _ZN11RollingRock13InitResourcesEv ✅ verified 1
src/_ZN11RollingRock6RenderEv.cpp _ZN11RollingRock6RenderEv ✅ verified 1
src/_ZN11ShadowModel10InitCuboidEv.cpp _ZN11ShadowModel10InitCuboidEv ✅ verified 1
src/_ZN11ShadowModel12InitCylinderEv.cpp _ZN11ShadowModel12InitCylinderEv ✅ verified 1
src/_ZN11ShadowModel8CleanAllEv.cpp _ZN11ShadowModel8CleanAllEv ✅ verified 1
src/_ZN11ShadowModel9DoSetFileEPcii.cpp _ZN11ShadowModel9DoSetFileEPcii ✅ verified 1
src/_ZN11ShadowModel9InitModelEP9Matrix4x35Fix12IiES3_S3_j.c _ZN11ShadowModel9InitModelEP9Matrix4x35Fix12IiES3_S3_j ✅ verified 1
src/_ZN11ShadowModel9RenderAllEv.cpp _ZN11ShadowModel9RenderAllEv ✅ verified 1
src/_ZN11ShadowModelD1Ev.cpp _ZN11ShadowModelD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN11SnowmanBody13InitResourcesEv.cpp _ZN11SnowmanBody13InitResourcesEv ✅ verified 1
src/_ZN11SnowmanBody6RenderEv.cpp _ZN11SnowmanBody6RenderEv ✅ verified 1
src/_ZN11SnowmanBody8BehaviorEv.cpp _ZN11SnowmanBody8BehaviorEv ✅ verified 1
src/_ZN11SnowmanHead13InitResourcesEv.cpp _ZN11SnowmanHead13InitResourcesEv ✅ verified 1
src/_ZN11SnowmanHead6RenderEv.cpp _ZN11SnowmanHead6RenderEv ✅ verified 1
src/_ZN11SnowmanHead8BehaviorEv.cpp _ZN11SnowmanHead8BehaviorEv ✅ verified 1
src/_ZN11WingFeather13InitResourcesEv.cpp _ZN11WingFeather13InitResourcesEv ✅ verified 1
src/_ZN11WingFeather6RenderEv.cpp _ZN11WingFeather6RenderEv ✅ verified 1
src/_ZN11WingFeather8BehaviorEv.cpp _ZN11WingFeather8BehaviorEv ✅ verified 1
src/_ZN12CylinderClsn4InitE5Fix12IiES1_jj.cpp _ZN12CylinderClsn4InitE5Fix12IiES1_jj ✅ verified 1
src/_ZN12CylinderClsn5ClearEv.cpp _ZN12CylinderClsn5ClearEv ✅ verified 1
src/_ZN12CylinderClsn6UpdateEv.cpp _ZN12CylinderClsn6UpdateEv ✅ verified 1
src/_ZN12CylinderClsn7ProcessEv.cpp _ZN12CylinderClsn7ProcessEv ✅ verified 1
src/_ZN12CylinderClsnC2Ev.cpp _ZN12CylinderClsnC2Ev ✅ verified 1
src/_ZN12CylinderClsnD1Ev.c _ZN12CylinderClsnD1Ev ✅ verified 1
src/_ZN12CylinderClsnD2Ev.c _ZN12CylinderClsnD2Ev ✅ verified 1
src/_ZN12FallBlockLll13InitResourcesEv.cpp _ZN12FallBlockLll13InitResourcesEv ✅ verified 1
src/_ZN12FallBlockLll16CleanupResourcesEv.cpp _ZN12FallBlockLll16CleanupResourcesEv ✅ verified 1
src/_ZN12FallBlockLll8BehaviorEv.cpp _ZN12FallBlockLll8BehaviorEv ✅ verified 1
src/_ZN12FortressWall13InitResourcesEv.cpp _ZN12FortressWall13InitResourcesEv ✅ verified 1
src/_ZN12FortressWall16CleanupResourcesEv.cpp _ZN12FortressWall16CleanupResourcesEv ✅ verified 1
src/_ZN12FortressWall6RenderEv.cpp _ZN12FortressWall6RenderEv ✅ verified 1
src/_ZN12FortressWallD1Ev.cpp _ZN12FortressWallD1Ev ✅ benign (equivalent veneer/twin) 4 (+3 passenger)
src/_ZN12HauntedChair13InitResourcesEv.cpp _ZN12HauntedChair13InitResourcesEv ✅ verified 1
src/_ZN12HauntedChair6RenderEv.cpp _ZN12HauntedChair6RenderEv ✅ verified 1
src/_ZN12HauntedChair8BehaviorEv.cpp _ZN12HauntedChair8BehaviorEv ✅ verified 1
src/_ZN12MeshCollider10DetectClsnER13RaycastGround.cpp _ZN12MeshCollider10DetectClsnER13RaycastGround ✅ verified 1
src/_ZN12MeshCollider14GetSurfaceInfoEsR11SurfaceInfo.cpp _ZN12MeshCollider14GetSurfaceInfoEsR11SurfaceInfo ✅ verified 1
src/_ZN12MeshCollider17GetTriangleOriginEsR7Vector3.cpp _ZN12MeshCollider17GetTriangleOriginEsR7Vector3 ✅ verified 1
src/_ZN12MeshCollider17UpdateFileOffsetsER8KCL_File.cpp _ZN12MeshCollider17UpdateFileOffsetsER8KCL_File ✅ verified 1
src/_ZN12MeshCollider7SetFileEP8KCL_FileR10CLPS_Block.cpp _ZN12MeshCollider7SetFileEP8KCL_FileR10CLPS_Block ✅ verified 1
src/_ZN12MeshCollider8LoadFileER13SharedFilePtr.cpp _ZN12MeshCollider8LoadFileER13SharedFilePtr ✅ verified 1
src/_ZN12MeshCollider9GetNormalEsR7Vector3.cpp _ZN12MeshCollider9GetNormalEsR7Vector3 ✅ verified 1
src/_ZN12MeshCollider9Virtual08Ev.cpp _ZN12MeshCollider9Virtual08Ev ✅ verified 1
src/_ZN12MeshColliderD1Ev.cpp _ZN12MeshColliderD1Ev ✅ benign (equivalent veneer/twin) 3 (+2 passenger)
src/_ZN12MetalNetLift13InitResourcesEv.cpp _ZN12MetalNetLift13InitResourcesEv ✅ verified 1
src/_ZN12MetalNetLift16CleanupResourcesEv.cpp _ZN12MetalNetLift16CleanupResourcesEv ✅ verified 1
src/_ZN12PiranhaPlant16CleanupResourcesEv.cpp _ZN12PiranhaPlant16CleanupResourcesEv ✅ verified 1
src/_ZN12PiranhaPlant6RenderEv.cpp _ZN12PiranhaPlant6RenderEv ✅ verified 1
src/_ZN12PiranhaPlant8BehaviorEv.cpp _ZN12PiranhaPlant8BehaviorEv ✅ verified 1
src/_ZN12SwitchPillar13InitResourcesEv.cpp _ZN12SwitchPillar13InitResourcesEv ✅ verified 1
src/_ZN12SwitchPillar16CleanupResourcesEv.cpp _ZN12SwitchPillar16CleanupResourcesEv ✅ verified 1
src/_ZN12SwitchPillar6RenderEv.cpp _ZN12SwitchPillar6RenderEv ✅ verified 1
src/_ZN12SwitchPillar8BehaviorEv.cpp _ZN12SwitchPillar8BehaviorEv ✅ verified 1
src/_ZN12WaterSuction13InitResourcesEv.cpp _ZN12WaterSuction13InitResourcesEv ✅ verified 1
src/_ZN12WaterSuction8BehaviorEv.cpp _ZN12WaterSuction8BehaviorEv ✅ verified 1
src/_ZN13BigBrickBlock16CleanupResourcesEv.cpp _ZN13BigBrickBlock16CleanupResourcesEv ✅ verified 1
src/_ZN13BigBrickBlock6RenderEv.cpp _ZN13BigBrickBlock6RenderEv ✅ verified 1
src/_ZN13BigBrickBlock8BehaviorEv.cpp _ZN13BigBrickBlock8BehaviorEv ✅ verified 1
src/_ZN13BigBrickBlockD1Ev.cpp _ZN13BigBrickBlockD1Ev ✅ benign (equivalent veneer/twin) 4 (+3 passenger)
src/_ZN13ExpandingHeap10VGetNodeIDEv.cpp _ZN13ExpandingHeap10VGetNodeIDEv ✅ verified 1
src/_ZN13ExpandingHeap10VSetNodeIDEj.cpp _ZN13ExpandingHeap10VSetNodeIDEj ✅ verified 1
src/_ZN13ExpandingHeap11VDeallocateEPv.cpp _ZN13ExpandingHeap11VDeallocateEPv ✅ verified 1
src/_ZN13ExpandingHeap11VMemoryLeftEv.cpp _ZN13ExpandingHeap11VMemoryLeftEv ✅ verified 1
src/_ZN13ExpandingHeap11VReallocateEPvj.cpp _ZN13ExpandingHeap11VReallocateEPvj ✅ verified 1
src/_ZN13ExpandingHeap12VResizeToFitEv.cpp _ZN13ExpandingHeap12VResizeToFitEv ✅ verified 1
src/_ZN13ExpandingHeap14VDeallocateAllEv.cpp _ZN13ExpandingHeap14VDeallocateAllEv ✅ verified 1
src/_ZN13ExpandingHeap19VMaxAllocatableSizeEv.cpp _ZN13ExpandingHeap19VMaxAllocatableSizeEv ✅ verified 1
src/_ZN13ExpandingHeap22VMaxAllocationUnitSizeEv.cpp _ZN13ExpandingHeap22VMaxAllocationUnitSizeEv ✅ verified 1
src/_ZN13ExpandingHeap7VIntactEv.cpp _ZN13ExpandingHeap7VIntactEv ✅ verified 1
src/_ZN13ExpandingHeap7VRescueEv.cpp _ZN13ExpandingHeap7VRescueEv ✅ verified 1
src/_ZN13ExpandingHeap7VSizeofEPv.cpp _ZN13ExpandingHeap7VSizeofEPv ✅ verified 1
src/_ZN13ExpandingHeap8VDestroyEv.cpp _ZN13ExpandingHeap8VDestroyEv ✅ verified 1
src/_ZN13ExpandingHeap9VAllocateEji.cpp _ZN13ExpandingHeap9VAllocateEji ✅ verified 1
src/_ZN13FortressTower13InitResourcesEv.cpp _ZN13FortressTower13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN13FortressTower16CleanupResourcesEv.cpp _ZN13FortressTower16CleanupResourcesEv ✅ verified 1
src/_ZN13FortressTower6RenderEv.cpp _ZN13FortressTower6RenderEv ✅ verified 1
src/_ZN13FortressTower8BehaviorEv.cpp _ZN13FortressTower8BehaviorEv ✅ verified 1
src/_ZN13KoopaTheQuick13InitResourcesEv.cpp _ZN13KoopaTheQuick13InitResourcesEv ✅ verified 1
src/_ZN13KoopaTheQuick16CleanupResourcesEv.cpp _ZN13KoopaTheQuick16CleanupResourcesEv ✅ verified 1
src/_ZN13KoopaTheQuick6RenderEv.cpp _ZN13KoopaTheQuick6RenderEv ✅ verified 1
src/_ZN13KoopaTheQuick8BehaviorEv.cpp _ZN13KoopaTheQuick8BehaviorEv ✅ verified 1
src/_ZN13MontyMoleRock13InitResourcesEv.cpp _ZN13MontyMoleRock13InitResourcesEv ✅ verified 1
src/_ZN13MontyMoleRock6RenderEv.cpp _ZN13MontyMoleRock6RenderEv ✅ verified 1
src/_ZN13MontyMoleRock8BehaviorEv.cpp _ZN13MontyMoleRock8BehaviorEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN13PeachPainting13InitResourcesEv.cpp _ZN13PeachPainting13InitResourcesEv ✅ verified 1
src/_ZN13PeachPainting6RenderEv.cpp _ZN13PeachPainting6RenderEv ✅ verified 1
src/_ZN13PeachPainting8BehaviorEv.cpp _ZN13PeachPainting8BehaviorEv ✅ verified 1
src/_ZN13PoleBillboard16CleanupResourcesEv.cpp _ZN13PoleBillboard16CleanupResourcesEv ✅ verified 1
src/_ZN13PoleBillboard6RenderEv.cpp _ZN13PoleBillboard6RenderEv ✅ verified 1
src/_ZN13PrincessPeach13InitResourcesEv.cpp _ZN13PrincessPeach13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN13PrincessPeach16CleanupResourcesEv.cpp _ZN13PrincessPeach16CleanupResourcesEv ✅ verified 1
src/_ZN13PrincessPeach16OnPendingDestroyEv.cpp _ZN13PrincessPeach16OnPendingDestroyEv ✅ verified 1
src/_ZN13PrincessPeach6RenderEv.cpp _ZN13PrincessPeach6RenderEv ✅ verified 1
src/_ZN13PrincessPeach8BehaviorEv.cpp _ZN13PrincessPeach8BehaviorEv ✅ verified 1
src/_ZN13QuestionBlock16CleanupResourcesEv.cpp _ZN13QuestionBlock16CleanupResourcesEv ✅ verified 1
src/_ZN13QuestionBlock6RenderEv.cpp _ZN13QuestionBlock6RenderEv ✅ verified 1
src/_ZN13QuestionBlock8BehaviorEv.cpp _ZN13QuestionBlock8BehaviorEv ✅ verified 1
src/_ZN13RacingPenguin13InitResourcesEv.cpp _ZN13RacingPenguin13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN13RacingPenguin6RenderEv.cpp _ZN13RacingPenguin6RenderEv ✅ verified 1
src/_ZN13RacingPenguin8BehaviorEv.cpp _ZN13RacingPenguin8BehaviorEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN13RollingLogTtm13InitResourcesEv.cpp _ZN13RollingLogTtm13InitResourcesEv ✅ verified 1
src/_ZN13RollingLogTtm6RenderEv.cpp _ZN13RollingLogTtm6RenderEv ✅ verified 1
src/_ZN13RollingLogTtm8BehaviorEv.cpp _ZN13RollingLogTtm8BehaviorEv ✅ verified 1
src/_ZN13TTC_MovingBar13InitResourcesEv.cpp _ZN13TTC_MovingBar13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN13TTC_MovingBar16CleanupResourcesEv.cpp _ZN13TTC_MovingBar16CleanupResourcesEv ✅ verified 1
src/_ZN13TTC_MovingBar6RenderEv.cpp _ZN13TTC_MovingBar6RenderEv ✅ verified 1
src/_ZN13TreasureChest13InitResourcesEv.cpp _ZN13TreasureChest13InitResourcesEv ✅ verified 1
src/_ZN13TreasureChest16CleanupResourcesEv.cpp _ZN13TreasureChest16CleanupResourcesEv ✅ verified 1
src/_ZN13TreasureChest6RenderEv.cpp _ZN13TreasureChest6RenderEv ✅ verified 1
src/_ZN13TreasureChest8BehaviorEv.cpp _ZN13TreasureChest8BehaviorEv ✅ verified 1
src/_ZN13UpDownLiftBbh13InitResourcesEv.cpp _ZN13UpDownLiftBbh13InitResourcesEv ✅ verified 1
src/_ZN13UpDownLiftBbh16CleanupResourcesEv.cpp _ZN13UpDownLiftBbh16CleanupResourcesEv ✅ verified 1
src/_ZN13UpDownLiftBbh6RenderEv.cpp _ZN13UpDownLiftBbh6RenderEv ✅ verified 1
src/_ZN13UpDownLiftBbh8BehaviorEv.cpp _ZN13UpDownLiftBbh8BehaviorEv ✅ verified 1
src/_ZN14ArrowSignRight16CleanupResourcesEv.cpp _ZN14ArrowSignRight16CleanupResourcesEv ✅ verified 1
src/_ZN14ArrowSignRight6RenderEv.cpp _ZN14ArrowSignRight6RenderEv ✅ verified 1
src/_ZN14ArrowSignRight8BehaviorEv.cpp _ZN14ArrowSignRight8BehaviorEv ✅ verified 1
src/_ZN14BlendModelAnim11UpdateVertsEv.cpp _ZN14BlendModelAnim11UpdateVertsEv ✅ verified 1
src/_ZN14BlendModelAnim6RenderEPK7Vector3.cpp _ZN14BlendModelAnim6RenderEPK7Vector3 ✅ verified 1
src/_ZN14BlendModelAnim7AdvanceEv.cpp _ZN14BlendModelAnim7AdvanceEv ✅ verified 1
src/_ZN14BlendModelAnim9DoSetFileEPcii.cpp _ZN14BlendModelAnim9DoSetFileEPcii ✅ verified 1
src/_ZN14BlendModelAnim9Virtual10ER9Matrix4x3.cpp _ZN14BlendModelAnim9Virtual10ER9Matrix4x3 ✅ verified 1
src/_ZN14BlendModelAnim9Virtual18EjPK7Vector3.cpp _ZN14BlendModelAnim9Virtual18EjPK7Vector3 ✅ verified 1
src/_ZN14BlueCoinSwitch13InitResourcesEv.cpp _ZN14BlueCoinSwitch13InitResourcesEv ✅ verified 1
src/_ZN14BlueCoinSwitch16CleanupResourcesEv.cpp _ZN14BlueCoinSwitch16CleanupResourcesEv ✅ verified 1
src/_ZN14BlueCoinSwitch6RenderEv.cpp _ZN14BlueCoinSwitch6RenderEv ✅ verified 1
src/_ZN14BlueCoinSwitch8BehaviorEv.cpp _ZN14BlueCoinSwitch8BehaviorEv ✅ verified 1
src/_ZN14FlameChompFire13InitResourcesEv.cpp _ZN14FlameChompFire13InitResourcesEv ✅ verified 1
src/_ZN14FlameChompFire6RenderEv.cpp _ZN14FlameChompFire6RenderEv ✅ verified 1
src/_ZN14FlameChompFire8BehaviorEv.cpp _ZN14FlameChompFire8BehaviorEv ✅ verified 1
src/_ZN14KnockDownPlank13InitResourcesEv.cpp _ZN14KnockDownPlank13InitResourcesEv ✅ verified 1
src/_ZN14KnockDownPlank16CleanupResourcesEv.cpp _ZN14KnockDownPlank16CleanupResourcesEv ✅ verified 1
src/_ZN14KnockDownPlank6RenderEv.cpp _ZN14KnockDownPlank6RenderEv ✅ verified 1
src/_ZN14KnockDownPlank8BehaviorEv.cpp _ZN14KnockDownPlank8BehaviorEv ✅ verified 1
src/_ZN14MovingBarSmall16CleanupResourcesEv.cpp _ZN14MovingBarSmall16CleanupResourcesEv ✅ verified 1
src/_ZN14MovingBarSmall6RenderEv.cpp _ZN14MovingBarSmall6RenderEv ✅ verified 1
src/_ZN14QuestionSwitch13InitResourcesEv.cpp _ZN14QuestionSwitch13InitResourcesEv ✅ verified 1
src/_ZN14QuestionSwitch16CleanupResourcesEv.cpp _ZN14QuestionSwitch16CleanupResourcesEv ✅ verified 1
src/_ZN14QuestionSwitch6RenderEv.cpp _ZN14QuestionSwitch6RenderEv ✅ verified 1
src/_ZN14QuestionSwitchD0Ev.c _ZN14QuestionSwitchD0Ev ✅ verified 1
src/_ZN14QuestionSwitchD1Ev.cpp _ZN14QuestionSwitchD1Ev ✅ verified 1
src/_ZN14SquarePathLift13InitResourcesEv.cpp _ZN14SquarePathLift13InitResourcesEv ✅ verified 1
src/_ZN14SquarePathLift16CleanupResourcesEv.cpp _ZN14SquarePathLift16CleanupResourcesEv ✅ verified 1
src/_ZN14SquarePathLift6RenderEv.cpp _ZN14SquarePathLift6RenderEv ✅ verified 1
src/_ZN14SquarePathLift8BehaviorEv.cpp _ZN14SquarePathLift8BehaviorEv ✅ verified 1
src/_ZN14TtcMovingCubeA16CleanupResourcesEv.cpp _ZN14TtcMovingCubeA16CleanupResourcesEv ✅ verified 1
src/_ZN14TtcMovingCubeA6RenderEv.cpp _ZN14TtcMovingCubeA6RenderEv ✅ verified 1
src/_ZN14UnchainedChomp6RenderEv.cpp _ZN14UnchainedChomp6RenderEv ✅ verified 1
src/_ZN14UnchainedChomp8BehaviorEv.cpp _ZN14UnchainedChomp8BehaviorEv ✅ verified 1
src/_ZN14UnchainedChompD0Ev.cpp _ZN14UnchainedChompD0Ev ✅ verified 1
src/_ZN14UnchainedChompD1Ev.cpp _ZN14UnchainedChompD1Ev ✅ verified 1
src/_ZN15ChainChompFence13InitResourcesEv.cpp _ZN15ChainChompFence13InitResourcesEv ✅ verified 1
src/_ZN15ChainChompFence16CleanupResourcesEv.cpp _ZN15ChainChompFence16CleanupResourcesEv ✅ verified 1
src/_ZN15ChainChompFence6RenderEv.cpp _ZN15ChainChompFence6RenderEv ✅ verified 1
src/_ZN15ChainChompFence8BehaviorEv.cpp _ZN15ChainChompFence8BehaviorEv ✅ verified 1
src/_ZN15FireSeaElevator13InitResourcesEv.cpp _ZN15FireSeaElevator13InitResourcesEv ✅ verified 1
src/_ZN15FireSeaElevator16CleanupResourcesEv.cpp _ZN15FireSeaElevator16CleanupResourcesEv ✅ verified 1
src/_ZN15FireSeaElevator6RenderEv.cpp _ZN15FireSeaElevator6RenderEv ✅ verified 1
src/_ZN15FireSeaElevator8BehaviorEv.cpp _ZN15FireSeaElevator8BehaviorEv ✅ verified 1
src/_ZN15MaterialChanger6UpdateER15ModelComponents.cpp _ZN15MaterialChanger6UpdateER15ModelComponents ✅ verified 1
src/_ZN15MaterialChanger7PrepareER8BMD_FileR8BMA_File.cpp _ZN15MaterialChanger7PrepareER8BMD_FileR8BMA_File ✅ verified 1
src/_ZN15MaterialChangerD1Ev.cpp _ZN15MaterialChangerD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN15RollingIronBall13InitResourcesEv.cpp _ZN15RollingIronBall13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN15RollingIronBall16CleanupResourcesEv.cpp _ZN15RollingIronBall16CleanupResourcesEv ✅ verified 1
src/_ZN15RollingIronBall6RenderEv.cpp _ZN15RollingIronBall6RenderEv ✅ verified 1
src/_ZN15RollingIronBall8BehaviorEv.cpp _ZN15RollingIronBall8BehaviorEv ✅ verified 1
src/_ZN15RotatingFirebar13InitResourcesEv.cpp _ZN15RotatingFirebar13InitResourcesEv ✅ verified 1
src/_ZN15RotatingFirebar16CleanupResourcesEv.cpp _ZN15RotatingFirebar16CleanupResourcesEv ✅ verified 1
src/_ZN15RotatingFirebar6RenderEv.cpp _ZN15RotatingFirebar6RenderEv ✅ verified 1
src/_ZN15RotatingFirebar8BehaviorEv.cpp _ZN15RotatingFirebar8BehaviorEv ✅ verified 1
src/_ZN15RotatingFirebarD0Ev.c _ZN15RotatingFirebarD0Ev ✅ verified 1
src/_ZN15RotatingFirebarD1Ev.c _ZN15RotatingFirebarD1Ev ✅ verified 1
src/_ZN15TextureSequence17UpdateFileOffsetsER8BTP_File.cpp _ZN15TextureSequence17UpdateFileOffsetsER8BTP_File ✅ verified 1
src/_ZN15TextureSequence6UpdateER15ModelComponents.cpp _ZN15TextureSequence6UpdateER15ModelComponents ✅ verified 1
src/_ZN15TextureSequence7PrepareER8BMD_FileR8BTP_File.cpp _ZN15TextureSequence7PrepareER8BMD_FileR8BTP_File ✅ verified 1
src/_ZN15TextureSequence8LoadFileER13SharedFilePtr.cpp _ZN15TextureSequence8LoadFileER13SharedFilePtr ✅ verified 1
src/_ZN15TextureSequenceD1Ev.cpp _ZN15TextureSequenceD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN15TtcRotatingCube13InitResourcesEv.cpp _ZN15TtcRotatingCube13InitResourcesEv 🔶 no-sym 1
src/_ZN15TtcRotatingCube16CleanupResourcesEv.cpp _ZN15TtcRotatingCube16CleanupResourcesEv ✅ verified 1
src/_ZN15TtcRotatingCube6RenderEv.cpp _ZN15TtcRotatingCube6RenderEv ✅ verified 1
src/_ZN15TtcRotatingCube8BehaviorEv.cpp _ZN15TtcRotatingCube8BehaviorEv ✅ verified 1
src/_ZN15TtcRotatingGear13InitResourcesEv.cpp _ZN15TtcRotatingGear13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN15TtcRotatingGear16CleanupResourcesEv.cpp _ZN15TtcRotatingGear16CleanupResourcesEv ✅ verified 1
src/_ZN15TtcRotatingGear6RenderEv.cpp _ZN15TtcRotatingGear6RenderEv ✅ verified 1
src/_ZN16BowserShockwaves13InitResourcesEv.cpp _ZN16BowserShockwaves13InitResourcesEv ✅ verified 1
src/_ZN16BowserShockwaves16CleanupResourcesEv.cpp _ZN16BowserShockwaves16CleanupResourcesEv ✅ verified 1
src/_ZN16BowserShockwaves6RenderEv.cpp _ZN16BowserShockwaves6RenderEv ✅ verified 1
src/_ZN16BowserShockwaves8BehaviorEv.cpp _ZN16BowserShockwaves8BehaviorEv ✅ verified 1
src/_ZN16BowserShockwavesD0Ev.cpp _ZN16BowserShockwavesD0Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN16BowserShockwavesD1Ev.cpp _ZN16BowserShockwavesD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN16RotatingCogSmall13InitResourcesEv.cpp _ZN16RotatingCogSmall13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN16RotatingCogSmall16CleanupResourcesEv.cpp _ZN16RotatingCogSmall16CleanupResourcesEv ✅ verified 1
src/_ZN16RotatingCogSmall6RenderEv.cpp _ZN16RotatingCogSmall6RenderEv ✅ verified 1
src/_ZN16RotatingCogSmall8BehaviorEv.cpp _ZN16RotatingCogSmall8BehaviorEv ✅ verified 1
src/_ZN17BigMovingIceBlock13InitResourcesEv.cpp _ZN17BigMovingIceBlock13InitResourcesEv ✅ verified 1
src/_ZN17BigMovingIceBlock6RenderEv.cpp _ZN17BigMovingIceBlock6RenderEv ✅ verified 1
src/_ZN17BigMovingIceBlock8BehaviorEv.cpp _ZN17BigMovingIceBlock8BehaviorEv ✅ verified 1
src/_ZN17BowserSkyPlatform13InitResourcesEv.cpp _ZN17BowserSkyPlatform13InitResourcesEv ✅ verified 1
src/_ZN17BowserSkyPlatform16CleanupResourcesEv.cpp _ZN17BowserSkyPlatform16CleanupResourcesEv ✅ verified 1
src/_ZN17BowserSkyPlatform6RenderEv.cpp _ZN17BowserSkyPlatform6RenderEv ✅ verified 1
src/_ZN17BowserSkyPlatform8BehaviorEv.cpp _ZN17BowserSkyPlatform8BehaviorEv ✅ verified 1
src/_ZN17BowserSkyPlatformD0Ev.cpp _ZN17BowserSkyPlatformD0Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN17BowserSkyPlatformD1Ev.cpp _ZN17BowserSkyPlatformD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN17RotatingClockHand13InitResourcesEv.cpp _ZN17RotatingClockHand13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN17RotatingClockHand16CleanupResourcesEv.cpp _ZN17RotatingClockHand16CleanupResourcesEv ✅ verified 1
src/_ZN17RotatingClockHand6RenderEv.cpp _ZN17RotatingClockHand6RenderEv ✅ verified 1
src/_ZN17RotatingClockHand8BehaviorEv.cpp _ZN17RotatingClockHand8BehaviorEv ✅ verified 1
src/_ZN17SlidingPlatformWf13InitResourcesEv.cpp _ZN17SlidingPlatformWf13InitResourcesEv ✅ verified 1
src/_ZN17SlidingPlatformWf16CleanupResourcesEv.cpp _ZN17SlidingPlatformWf16CleanupResourcesEv ✅ verified 1
src/_ZN17SlidingPlatformWf6RenderEv.cpp _ZN17SlidingPlatformWf6RenderEv ✅ verified 1
src/_ZN17SlidingPlatformWf8BehaviorEv.cpp _ZN17SlidingPlatformWf8BehaviorEv ✅ verified 1
src/_ZN18BowserFireSeaArena13InitResourcesEv.cpp _ZN18BowserFireSeaArena13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN18BowserFireSeaArena16CleanupResourcesEv.cpp _ZN18BowserFireSeaArena16CleanupResourcesEv ✅ verified 1
src/_ZN18BowserFireSeaArena6RenderEv.cpp _ZN18BowserFireSeaArena6RenderEv ✅ verified 1
src/_ZN18BowserFireSeaArena8BehaviorEv.cpp _ZN18BowserFireSeaArena8BehaviorEv ✅ verified 1
src/_ZN18BowserFireSeaArenaD0Ev.cpp _ZN18BowserFireSeaArenaD0Ev ✅ benign (equivalent veneer/twin) 4 (+3 passenger)
src/_ZN18BowserFireSeaArenaD1Ev.cpp _ZN18BowserFireSeaArenaD1Ev ✅ benign (equivalent veneer/twin) 4 (+3 passenger)
src/_ZN18MovingCylinderClsn10GetOwnerIDEv.cpp _ZN18MovingCylinderClsn10GetOwnerIDEv ✅ verified 1
src/_ZN18MovingCylinderClsn4InitEP5Actor5Fix12IiES3_jj.c _ZN18MovingCylinderClsn4InitEP5Actor5Fix12IiES3_jj ✅ verified 1
src/_ZN18MovingCylinderClsn6GetPosEv.cpp _ZN18MovingCylinderClsn6GetPosEv ✅ verified 1
src/_ZN18MovingCylinderClsnD1Ev.cpp _ZN18MovingCylinderClsnD1Ev ✅ benign (equivalent veneer/twin) 3 (+2 passenger)
src/_ZN18MovingCylinderClsnD2Ev.c _ZN18MovingCylinderClsnD2Ev ✅ verified 1
src/_ZN18MovingMeshCollider10DetectClsnER10SphereClsn.cpp _ZN18MovingMeshCollider10DetectClsnER10SphereClsn ✅ verified 1
src/_ZN18MovingMeshCollider10DetectClsnER11RaycastLine.cpp _ZN18MovingMeshCollider10DetectClsnER11RaycastLine ✅ verified 1
src/_ZN18MovingMeshCollider10DetectClsnER13RaycastGround.cpp _ZN18MovingMeshCollider10DetectClsnER13RaycastGround ✅ verified 1
src/_ZN18MovingMeshCollider11GetVelocityER7Vector3.cpp _ZN18MovingMeshCollider11GetVelocityER7Vector3 ✅ verified 1
src/_ZN18MovingMeshCollider12TransformPosERK7Vector3RS0_.cpp _ZN18MovingMeshCollider12TransformPosERK7Vector3RS0_ ✅ verified 1
src/_ZN18MovingMeshCollider14GetAngularVelYEv.cpp _ZN18MovingMeshCollider14GetAngularVelYEv ✅ verified 1
src/_ZN18MovingMeshCollider17GetTriangleOriginEsR7Vector3.cpp _ZN18MovingMeshCollider17GetTriangleOriginEsR7Vector3 ✅ verified 1
src/_ZN18MovingMeshCollider9GetNormalEsR7Vector3.cpp _ZN18MovingMeshCollider9GetNormalEsR7Vector3 ✅ verified 1
src/_ZN18MovingMeshCollider9Virtual08Ev.cpp _ZN18MovingMeshCollider9Virtual08Ev ✅ verified 1
src/_ZN18MovingMeshColliderD1Ev.cpp _ZN18MovingMeshColliderD1Ev ✅ benign (equivalent veneer/twin) 3 (+2 passenger)
src/_ZN18RotatingPlatformRr13InitResourcesEv.cpp _ZN18RotatingPlatformRr13InitResourcesEv ✅ verified 1
src/_ZN18RotatingPlatformRr8BehaviorEv.cpp _ZN18RotatingPlatformRr8BehaviorEv ✅ verified 1
src/_ZN18TextureTransformer6UpdateER15ModelComponents.cpp _ZN18TextureTransformer6UpdateER15ModelComponents ✅ verified 1
src/_ZN18TextureTransformer7PrepareER8BMD_FileR8BTA_File.cpp _ZN18TextureTransformer7PrepareER8BMD_FileR8BTA_File ✅ verified 1
src/_ZN18TextureTransformerD1Ev.cpp _ZN18TextureTransformerD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN19BowserPuzzleManager13InitResourcesEv.cpp _ZN19BowserPuzzleManager13InitResourcesEv ✅ verified 1
src/_ZN19BowserPuzzleManager16CleanupResourcesEv.cpp _ZN19BowserPuzzleManager16CleanupResourcesEv ✅ verified 1
src/_ZN19BowserPuzzleManager6RenderEv.cpp _ZN19BowserPuzzleManager6RenderEv ✅ verified 1
src/_ZN19CylinderClsnWithPos10GetOwnerIDEv.cpp _ZN19CylinderClsnWithPos10GetOwnerIDEv ✅ verified 1
src/_ZN19CylinderClsnWithPosC1Ev.c _ZN19CylinderClsnWithPosC1Ev ✅ verified 1
src/_ZN19CylinderClsnWithPosD1Ev.cpp _ZN19CylinderClsnWithPosD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN19FloatingFloorLllBig13InitResourcesEv.cpp _ZN19FloatingFloorLllBig13InitResourcesEv ✅ verified 1
src/_ZN19FloatingFloorLllBig16CleanupResourcesEv.cpp _ZN19FloatingFloorLllBig16CleanupResourcesEv ✅ verified 1
src/_ZN19FloatingFloorLllBig6RenderEv.cpp _ZN19FloatingFloorLllBig6RenderEv ✅ verified 1
src/_ZN19FloatingFloorLllBigD1Ev.cpp _ZN19FloatingFloorLllBigD1Ev ✅ benign (equivalent veneer/twin) 4 (+3 passenger)
src/_ZN19OrangeBallBillboard6RenderEv.cpp _ZN19OrangeBallBillboard6RenderEv ✅ verified 1
src/_ZN19OrangeBallBillboardD0Ev.c _ZN19OrangeBallBillboardD0Ev ✅ verified 1
src/_ZN19RotatingPlatformLll13InitResourcesEv.cpp _ZN19RotatingPlatformLll13InitResourcesEv ✅ verified 1
src/_ZN19RotatingPlatformLll16CleanupResourcesEv.cpp _ZN19RotatingPlatformLll16CleanupResourcesEv ✅ verified 1
src/_ZN19RotatingPlatformLll6RenderEv.cpp _ZN19RotatingPlatformLll6RenderEv ✅ verified 1
src/_ZN19RotatingPlatformLll8BehaviorEv.cpp _ZN19RotatingPlatformLll8BehaviorEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN19RotatingPlatformWdw13InitResourcesEv.cpp _ZN19RotatingPlatformWdw13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN19RotatingPlatformWdw16CleanupResourcesEv.cpp _ZN19RotatingPlatformWdw16CleanupResourcesEv ✅ verified 1
src/_ZN19RotatingPlatformWdw6RenderEv.cpp _ZN19RotatingPlatformWdw6RenderEv ✅ verified 1
src/_ZN19RotatingPlatformWdw8BehaviorEv.cpp _ZN19RotatingPlatformWdw8BehaviorEv ✅ verified 1
src/_ZN20SwitchActivatedPlank13InitResourcesEv.cpp _ZN20SwitchActivatedPlank13InitResourcesEv ✅ verified 1
src/_ZN20SwitchActivatedPlank16CleanupResourcesEv.cpp _ZN20SwitchActivatedPlank16CleanupResourcesEv ✅ verified 1
src/_ZN20SwitchActivatedPlank6RenderEv.cpp _ZN20SwitchActivatedPlank6RenderEv ✅ verified 1
src/_ZN20SwitchActivatedPlank8BehaviorEv.cpp _ZN20SwitchActivatedPlank8BehaviorEv ✅ verified 1
src/_ZN20TtcConveyorBeltLarge13InitResourcesEv.cpp _ZN20TtcConveyorBeltLarge13InitResourcesEv ✅ verified 1
src/_ZN20TtcConveyorBeltLarge16CleanupResourcesEv.cpp _ZN20TtcConveyorBeltLarge16CleanupResourcesEv ✅ verified 1
src/_ZN20TtcConveyorBeltLarge6RenderEv.cpp _ZN20TtcConveyorBeltLarge6RenderEv ✅ verified 1
src/_ZN20TtcConveyorBeltLarge8BehaviorEv.cpp _ZN20TtcConveyorBeltLarge8BehaviorEv ✅ verified 1
src/_ZN21ExtendingMeshCollider9GetNormalEsR7Vector3.cpp _ZN21ExtendingMeshCollider9GetNormalEsR7Vector3 ✅ verified 1
src/_ZN21ExtendingMeshCollider9Virtual08Ev.cpp _ZN21ExtendingMeshCollider9Virtual08Ev ✅ verified 1
src/_ZN21ExtendingMeshColliderD1Ev.cpp _ZN21ExtendingMeshColliderD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN22ClockPaintingHandShort13InitResourcesEv.cpp _ZN22ClockPaintingHandShort13InitResourcesEv ✅ verified 1
src/_ZN22ClockPaintingHandShort16CleanupResourcesEv.cpp _ZN22ClockPaintingHandShort16CleanupResourcesEv ✅ verified 1
src/_ZN22ClockPaintingHandShort6RenderEv.cpp _ZN22ClockPaintingHandShort6RenderEv ✅ verified 1
src/_ZN22ClockPaintingHandShort8BehaviorEv.cpp _ZN22ClockPaintingHandShort8BehaviorEv ✅ verified 1
src/_ZN22RotatingUpDownPlatform13InitResourcesEv.cpp _ZN22RotatingUpDownPlatform13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN22RotatingUpDownPlatform16CleanupResourcesEv.cpp _ZN22RotatingUpDownPlatform16CleanupResourcesEv ✅ verified 1
src/_ZN22RotatingUpDownPlatform6RenderEv.cpp _ZN22RotatingUpDownPlatform6RenderEv ✅ verified 1
src/_ZN22RotatingUpDownPlatform8BehaviorEv.cpp _ZN22RotatingUpDownPlatform8BehaviorEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN23FloatOnWaterPlatformJrb13InitResourcesEv.cpp _ZN23FloatOnWaterPlatformJrb13InitResourcesEv ✅ verified 1
src/_ZN23FloatOnWaterPlatformJrb16CleanupResourcesEv.cpp _ZN23FloatOnWaterPlatformJrb16CleanupResourcesEv ✅ verified 1
src/_ZN23FloatOnWaterPlatformJrb6RenderEv.cpp _ZN23FloatOnWaterPlatformJrb6RenderEv ✅ verified 1
src/_ZN25MovingCylinderClsnWithPosD1Ev.cpp _ZN25MovingCylinderClsnWithPosD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN25RotatingUpDownPlatformUtm13InitResourcesEv.cpp _ZN25RotatingUpDownPlatformUtm13InitResourcesEv ✅ verified 1
src/_ZN25RotatingUpDownPlatformUtm16CleanupResourcesEv.cpp _ZN25RotatingUpDownPlatformUtm16CleanupResourcesEv ✅ verified 1
src/_ZN25RotatingUpDownPlatformUtm6RenderEv.cpp _ZN25RotatingUpDownPlatformUtm6RenderEv ✅ verified 1
src/_ZN25RotatingUpDownPlatformUtm8BehaviorEv.cpp _ZN25RotatingUpDownPlatformUtm8BehaviorEv ✅ verified 1
src/_ZN25SlideDecorationSilverStar13InitResourcesEv.cpp _ZN25SlideDecorationSilverStar13InitResourcesEv ✅ verified 1
src/_ZN25SlideDecorationSilverStar16CleanupResourcesEv.cpp _ZN25SlideDecorationSilverStar16CleanupResourcesEv ✅ verified 1
src/_ZN25SlideDecorationSilverStar6RenderEv.cpp _ZN25SlideDecorationSilverStar6RenderEv ✅ verified 1
src/_ZN29FloatOnWaterPlatformWdwSquare13InitResourcesEv.cpp _ZN29FloatOnWaterPlatformWdwSquare13InitResourcesEv ✅ verified 1
src/_ZN29FloatOnWaterPlatformWdwSquare16CleanupResourcesEv.cpp _ZN29FloatOnWaterPlatformWdwSquare16CleanupResourcesEv ✅ verified 1
src/_ZN29FloatOnWaterPlatformWdwSquare6RenderEv.cpp _ZN29FloatOnWaterPlatformWdwSquare6RenderEv ✅ verified 1
src/_ZN29FloatOnWaterPlatformWdwSquare8BehaviorEv.cpp _ZN29FloatOnWaterPlatformWdwSquare8BehaviorEv ✅ verified 1
src/_ZN3Amp13InitResourcesEv.cpp _ZN3Amp13InitResourcesEv ✅ verified 1
src/_ZN3Amp6RenderEv.cpp _ZN3Amp6RenderEv ✅ verified 1
src/_ZN3Amp8BehaviorEv.cpp _ZN3Amp8BehaviorEv ✅ verified 1
src/_ZN3Key13InitResourcesEv.cpp _ZN3Key13InitResourcesEv ✅ verified 1
src/_ZN3Key16CleanupResourcesEv.cpp _ZN3Key16CleanupResourcesEv ✅ verified 1
src/_ZN3Key6RenderEv.cpp _ZN3Key6RenderEv ✅ verified 1
src/_ZN3Key8BehaviorEv.cpp _ZN3Key8BehaviorEv ✅ verified 1
src/_ZN3MrI6RenderEv.cpp _ZN3MrI6RenderEv ✅ verified 1
src/_ZN3MrI8BehaviorEv.cpp _ZN3MrI8BehaviorEv ✅ verified 1
src/_ZN4Bird13InitResourcesEv.cpp _ZN4Bird13InitResourcesEv ✅ verified 1
src/_ZN4Bird6RenderEv.cpp _ZN4Bird6RenderEv ✅ verified 1
src/_ZN4Bird8BehaviorEv.cpp _ZN4Bird8BehaviorEv ✅ verified 1
src/_ZN4Clam13InitResourcesEv.cpp _ZN4Clam13InitResourcesEv ✅ verified 1
src/_ZN4Clam16CleanupResourcesEv.cpp _ZN4Clam16CleanupResourcesEv ✅ verified 1
src/_ZN4Clam6RenderEv.cpp _ZN4Clam6RenderEv ✅ verified 1
src/_ZN4Clam8BehaviorEv.cpp _ZN4Clam8BehaviorEv ✅ verified 1
src/_ZN4Coin6RenderEv.cpp _ZN4Coin6RenderEv ✅ verified 1
src/_ZN4Coin8BehaviorEv.cpp _ZN4Coin8BehaviorEv ✅ verified 1
src/_ZN4Flag13InitResourcesEv.cpp _ZN4Flag13InitResourcesEv ✅ verified 1
src/_ZN4Flag6RenderEv.cpp _ZN4Flag6RenderEv ✅ verified 1
src/_ZN4Flag8BehaviorEv.cpp _ZN4Flag8BehaviorEv ✅ verified 1
src/_ZN4Heap10DeallocateEPv.cpp _ZN4Heap10DeallocateEPv ✅ verified 1
src/_ZN4Heap10ReallocateEPvj.cpp _ZN4Heap10ReallocateEPvj ✅ verified 1
src/_ZN4Heap10SetDefaultEv.cpp _ZN4Heap10SetDefaultEv ✅ verified 1
src/_ZN4Heap11ResizeToFitEv.cpp _ZN4Heap11ResizeToFitEv ✅ verified 1
src/_ZN4Heap11_DeallocateEPv.cpp _ZN4Heap11_DeallocateEPv ✅ verified 1
src/_ZN4Heap13SetupRootHeapEv.cpp _ZN4Heap13SetupRootHeapEv ✅ verified 1
src/_ZN4Heap14CreateRootHeapEPvj.cpp _ZN4Heap14CreateRootHeapEPvj ✅ verified 1
src/_ZN4Heap15CreateSolidHeapEjPS_i.cpp _ZN4Heap15CreateSolidHeapEjPS_i ✅ verified 1
src/_ZN4Heap18InitializeGameHeapEjPS_.cpp _ZN4Heap18InitializeGameHeapEjPS_ ✅ verified 1
src/_ZN4Heap18InitializeRootHeapEv.cpp _ZN4Heap18InitializeRootHeapEv ✅ verified 1
src/_ZN4Heap19CreateExpandingHeapEjPS_i.cpp _ZN4Heap19CreateExpandingHeapEjPS_i ✅ verified 1
src/_ZN4Heap20RestoreFromTemporaryEv.cpp _ZN4Heap20RestoreFromTemporaryEv ✅ verified 1
src/_ZN4Heap21MaxAllocationUnitSizeEv.cpp _ZN4Heap21MaxAllocationUnitSizeEv ✅ verified 1
src/_ZN4Heap23SetupSolidHeapAsDefaultEjPS_i.cpp _ZN4Heap23SetupSolidHeapAsDefaultEjPS_i ✅ verified 1
src/_ZN4Heap24CreateSolidHeapAllocatorEPvjj.cpp _ZN4Heap24CreateSolidHeapAllocatorEPvjj ✅ verified 1
src/_ZN4Heap28CreateExpandingHeapAllocatorEPvjj.cpp _ZN4Heap28CreateExpandingHeapAllocatorEPvjj ✅ verified 1
src/_ZN4Heap28InitializeSolidHeapAsDefaultEjPS_i.cpp _ZN4Heap28InitializeSolidHeapAsDefaultEjPS_i ✅ verified 1
src/_ZN4Heap6IntactEv.cpp _ZN4Heap6IntactEv ✅ verified 1
src/_ZN4Heap6RescueEv.cpp _ZN4Heap6RescueEv ✅ verified 1
src/_ZN4Heap6SizeofEPv.cpp _ZN4Heap6SizeofEPv ✅ verified 1
src/_ZN4Heap7DestroyEv.cpp _ZN4Heap7DestroyEv ✅ verified 1
src/_ZN4Heap7_SizeofEPv.cpp _ZN4Heap7_SizeofEPv ✅ verified 1
src/_ZN4Heap8AllocateEj.cpp _ZN4Heap8AllocateEj ✅ verified 1
src/_ZN4Heap8AllocateEji.cpp _ZN4Heap8AllocateEji ✅ verified 1
src/_ZN4Heap8_DestroyEv.cpp _ZN4Heap8_DestroyEv ✅ verified 1
src/_ZN4Heap9SetNodeIDEj.cpp _ZN4Heap9SetNodeIDEj ✅ verified 1
src/_ZN4Heap9_AllocateEji.cpp _ZN4Heap9_AllocateEji ✅ verified 1
src/_ZN4HeapC1EPvjP4Heap.c _ZN4HeapC1EPvjP4Heap ✅ verified 1
src/_ZN4HeapD1Ev.c _ZN4HeapD1Ev ✅ verified 1
src/_ZN4HeapD2Ev.c _ZN4HeapD2Ev ✅ verified 1
src/_ZN4Toad13InitResourcesEv.cpp _ZN4Toad13InitResourcesEv ✅ verified 1
src/_ZN4Toad16CleanupResourcesEv.cpp _ZN4Toad16CleanupResourcesEv ✅ verified 1
src/_ZN4Toad6RenderEv.cpp _ZN4Toad6RenderEv ✅ verified 1
src/_ZN4Toad8BehaviorEv.cpp _ZN4Toad8BehaviorEv ✅ verified 1
src/_ZN4Trap13InitResourcesEv.cpp _ZN4Trap13InitResourcesEv ✅ verified 1
src/_ZN4Trap6RenderEv.cpp _ZN4Trap6RenderEv ✅ verified 1
src/_ZN4Trap8BehaviorEv.cpp _ZN4Trap8BehaviorEv ✅ verified 1
src/_ZN5Actor10EarthquakeERK7Vector35Fix12IiE.cpp _ZN5Actor10EarthquakeERK7Vector35Fix12IiE ✅ verified 1
src/_ZN5Actor10FindWithIDEj.cpp _ZN5Actor10FindWithIDEj ✅ verified 1
src/_ZN5Actor10PoofDustAtERK7Vector3.cpp _ZN5Actor10PoofDustAtERK7Vector3 ✅ verified 1
src/_ZN5Actor11AfterRenderEj.cpp _ZN5Actor11AfterRenderEj ✅ verified 1
src/_ZN5Actor11LandingDustEb.cpp _ZN5Actor11LandingDustEb ✅ verified 1
src/_ZN5Actor11OnAttacked1ERS_.cpp _ZN5Actor11OnAttacked1ERS_ ✅ verified 1
src/_ZN5Actor11OnAttacked2ERS_.cpp _ZN5Actor11OnAttacked2ERS_ ✅ verified 1
src/_ZN5Actor11SpawnNumberERK7Vector3jbtPS_.cpp _ZN5Actor11SpawnNumberERK7Vector3jbtPS_ ✅ verified 1
src/_ZN5Actor11UntrackStarERa.cpp _ZN5Actor11UntrackStarERa ✅ verified 1
src/_ZN5Actor12BeforeRenderEv.cpp _ZN5Actor12BeforeRenderEv ✅ verified 1
src/_ZN5Actor13AfterBehaviorEj.cpp _ZN5Actor13AfterBehaviorEj ✅ verified 1
src/_ZN5Actor13ClosestPlayerEv.cpp _ZN5Actor13ClosestPlayerEv ✅ verified 1
src/_ZN5Actor13DistToCPlayerEv.cpp _ZN5Actor13DistToCPlayerEv ✅ verified 1
src/_ZN5Actor13OnTurnIntoEggER6Player.cpp _ZN5Actor13OnTurnIntoEggER6Player ✅ verified 1
src/_ZN5Actor13OnYoshiTryEatEv.cpp _ZN5Actor13OnYoshiTryEatEv ✅ verified 1
src/_ZN5Actor13SmallPoofDustEv.cpp _ZN5Actor13SmallPoofDustEv ✅ verified 1
src/_ZN5Actor13SpawnSoundObjEj.cpp _ZN5Actor13SpawnSoundObjEj ✅ verified 1
src/_ZN5Actor14BeforeBehaviorEv.cpp _ZN5Actor14BeforeBehaviorEv ✅ verified 1
src/_ZN5Actor14FarthestPlayerEv.cpp _ZN5Actor14FarthestPlayerEv ✅ verified 1
src/_ZN5Actor14GetSubtractionEss.cpp _ZN5Actor14GetSubtractionEss ✅ verified 1
src/_ZN5Actor14TriplePoofDustEv.cpp _ZN5Actor14TriplePoofDustEv ✅ verified 1
src/_ZN5Actor15FindWithActorIDEjPS_.cpp _ZN5Actor15FindWithActorIDEjPS_ ✅ verified 1
src/_ZN5Actor15GivePlayerCoinsER6Playerhj.cpp _ZN5Actor15GivePlayerCoinsER6Playerhj ✅ verified 1
src/_ZN5Actor15HugeLandingDustEb.cpp _ZN5Actor15HugeLandingDustEb ✅ verified 1
src/_ZN5Actor15IsPlayerInRangeERK7Vector3i.cpp _ZN5Actor15IsPlayerInRangeERK7Vector3i ✅ verified 1
src/_ZN5Actor15IsPlayerInRangeEi.cpp _ZN5Actor15IsPlayerInRangeEi ✅ verified 1
src/_ZN5Actor15OnGroundPoundedERS_.cpp _ZN5Actor15OnGroundPoundedERS_ ✅ verified 1
src/_ZN5Actor15OnHitByMegaCharER6Player.cpp _ZN5Actor15OnHitByMegaCharER6Player ✅ verified 1
src/_ZN5Actor16JumpedOnByPlayerER12CylinderClsnR6Player.cpp _ZN5Actor16JumpedOnByPlayerER12CylinderClsnR6Player ✅ verified 1
src/_ZN5Actor16OnAimedAtWithEggEv.cpp _ZN5Actor16OnAimedAtWithEggEv ✅ verified 1
src/_ZN5Actor16TriplePoofDustAtERK7Vector3.cpp _ZN5Actor16TriplePoofDustAtERK7Vector3 ✅ verified 1
src/_ZN5Actor17GetWaterHeightWDWEv.cpp _ZN5Actor17GetWaterHeightWDWEv ✅ verified 1
src/_ZN5Actor18AfterInitResourcesEj.cpp _ZN5Actor18AfterInitResourcesEj ✅ verified 1
src/_ZN5Actor18ClosestWithActorIDEj.cpp _ZN5Actor18ClosestWithActorIDEj ✅ verified 1
src/_ZN5Actor18FindExplosionActorER12CylinderClsn.cpp _ZN5Actor18FindExplosionActorER12CylinderClsn ✅ verified 1
src/_ZN5Actor18HorzAngleToCPlayerEv.cpp _ZN5Actor18HorzAngleToCPlayerEv ✅ verified 1
src/_ZN5Actor18HorzAngleToFPlayerEv.cpp _ZN5Actor18HorzAngleToFPlayerEv ✅ verified 1
src/_ZN5Actor19BeforeInitResourcesEv.cpp _ZN5Actor19BeforeInitResourcesEv ✅ verified 1
src/_ZN5Actor19DisappearPoofDustAtERK7Vector3.cpp _ZN5Actor19DisappearPoofDustAtERK7Vector3 ✅ verified 1
src/_ZN5Actor19MakeVanishLuigiWorkER12CylinderClsn.cpp _ZN5Actor19MakeVanishLuigiWorkER12CylinderClsn ✅ verified 1
src/_ZN5Actor19OnHitFromUnderneathERS_.cpp _ZN5Actor19OnHitFromUnderneathERS_ ✅ verified 1
src/_ZN5Actor19UntrackAndSpawnStarERajRK7Vector3h.cpp _ZN5Actor19UntrackAndSpawnStarERajRK7Vector3h ✅ verified 1
src/_ZN5Actor21AfterCleanupResourcesEj.cpp _ZN5Actor21AfterCleanupResourcesEj ✅ verified 1
src/_ZN5Actor22BeforeCleanupResourcesEv.cpp _ZN5Actor22BeforeCleanupResourcesEv ✅ verified 1
src/_ZN5Actor22ClosestNonVanishPlayerEv.cpp _ZN5Actor22ClosestNonVanishPlayerEv ✅ verified 1
src/_ZN5Actor23HorzAngleToCPlayerOrAngEv.cpp _ZN5Actor23HorzAngleToCPlayerOrAngEv ✅ verified 1
src/_ZN5Actor24BumpedUnderneathByPlayerER6Player.cpp _ZN5Actor24BumpedUnderneathByPlayerER6Player ✅ verified 1
src/_ZN5Actor24KillAndTrackInDeathTableEv.cpp _ZN5Actor24KillAndTrackInDeathTableEv ✅ verified 1
src/_ZN5Actor24OnHitByCannonBlastedCharERS_.cpp _ZN5Actor24OnHitByCannonBlastedCharERS_ ✅ verified 1
src/_ZN5Actor25OnAimedAtWithEggReturnVecEv.cpp _ZN5Actor25OnAimedAtWithEggReturnVecEv ✅ verified 1
src/_ZN5Actor28UpdatePosWithHorzSpeedAndAngEv.cpp _ZN5Actor28UpdatePosWithHorzSpeedAndAngEv ✅ verified 1
src/_ZN5Actor4NextEPKS_.cpp _ZN5Actor4NextEPKS_ ✅ verified 1
src/_ZN5Actor5SpawnEjjRK7Vector3PK10Vector3_16as.cpp _ZN5Actor5SpawnEjjRK7Vector3PK10Vector3_16as ✅ verified 1
src/_ZN5Actor7FindEggER12CylinderClsn.cpp _ZN5Actor7FindEggER12CylinderClsn ✅ verified 1
src/_ZN5Actor8OnKickedERS_.cpp _ZN5Actor8OnKickedERS_ ✅ verified 1
src/_ZN5Actor8OnPushedERS_.cpp _ZN5Actor8OnPushedERS_ ✅ verified 1
src/_ZN5Actor8PoofDustEv.cpp _ZN5Actor8PoofDustEv ✅ verified 1
src/_ZN5Actor9SetRangesE5Fix12IiES1_S1_S1_.cpp _ZN5Actor9SetRangesE5Fix12IiES1_S1_S1_ ✅ verified 1
src/_ZN5Actor9TrackStarEjj.cpp _ZN5Actor9TrackStarEjj ✅ verified 1
src/_ZN5Actor9UpdatePosEP12CylinderClsn.cpp _ZN5Actor9UpdatePosEP12CylinderClsn ✅ verified 1
src/_ZN5Actor9Virtual50Ev.cpp _ZN5Actor9Virtual50Ev ✅ verified 1
src/_ZN5ActorC1Ev.cpp _ZN5ActorC1Ev ✅ verified 1
src/_ZN5ActorC2Ev.cpp _ZN5ActorC2Ev ✅ verified 1
src/_ZN5ActorD1Ev.cpp _ZN5ActorD1Ev ✅ verified 1
src/_ZN5ActorD2Ev.cpp _ZN5ActorD2Ev ✅ verified 1
src/_ZN5Bully13InitResourcesEv.cpp _ZN5Bully13InitResourcesEv ✅ verified 1
src/_ZN5Bully16CleanupResourcesEv.cpp _ZN5Bully16CleanupResourcesEv ✅ verified 1
src/_ZN5Bully6RenderEv.cpp _ZN5Bully6RenderEv ✅ verified 1
src/_ZN5Bully8BehaviorEv.cpp _ZN5Bully8BehaviorEv ✅ verified 1
src/_ZN5Cloud13InitResourcesEv.cpp _ZN5Cloud13InitResourcesEv ✅ verified 1
src/_ZN5Cloud6RenderEv.cpp _ZN5Cloud6RenderEv ✅ verified 1
src/_ZN5Cloud8BehaviorEv.c _ZN5Cloud8BehaviorEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN5Enemy11UpdateDeathER12WithMeshClsn.cpp _ZN5Enemy11UpdateDeathER12WithMeshClsn ✅ verified 1
src/_ZN5Enemy12KillByAttackER5Actor.cpp _ZN5Enemy12KillByAttackER5Actor ✅ verified 1
src/_ZN5Enemy12UpdateWMClsnER12WithMeshClsnj.cpp _ZN5Enemy12UpdateWMClsnER12WithMeshClsnj ✅ verified 1
src/_ZN5Enemy15IsGoingOffCliffER12WithMeshClsn5Fix12IiEsbbS3_.cpp _ZN5Enemy15IsGoingOffCliffER12WithMeshClsn5Fix12IiEsbbS3_ ✅ verified 1
src/_ZN5Enemy24AngleAwayFromWallOrCliffER12WithMeshClsnRs.cpp _ZN5Enemy24AngleAwayFromWallOrCliffER12WithMeshClsnRs ✅ verified 1
src/_ZN5Enemy26UpdateKillByInvincibleCharER12WithMeshClsnR9ModelAnimj.cpp _ZN5Enemy26UpdateKillByInvincibleCharER12WithMeshClsnR9ModelAnimj ✅ verified 1
src/_ZN5Enemy27SpawnParticlesIfHitOtherObjER12CylinderClsn.cpp _ZN5Enemy27SpawnParticlesIfHitOtherObjER12CylinderClsn ✅ verified 1
src/_ZN5EnemyD0Ev.cpp _ZN5EnemyD0Ev ✅ benign (equivalent veneer/twin) 3 (+2 passenger)
src/_ZN5EnemyD1Ev.cpp _ZN5EnemyD1Ev ✅ benign (equivalent veneer/twin) 3 (+2 passenger)
src/_ZN5Model11UpdateVertsEv.cpp _ZN5Model11UpdateVertsEv ✅ verified 1
src/_ZN5Model12HideMaterialEii.cpp _ZN5Model12HideMaterialEii ✅ verified 1
src/_ZN5Model12SetPolygonIDEi.cpp _ZN5Model12SetPolygonIDEi ✅ verified 1
src/_ZN5Model12ShowMaterialEii.cpp _ZN5Model12ShowMaterialEii ✅ verified 1
src/_ZN5Model13GetVramOffsetEj.cpp _ZN5Model13GetVramOffsetEj ✅ verified 1
src/_ZN5Model13LoadTexAndPalER8BMD_File.cpp _ZN5Model13LoadTexAndPalER8BMD_File ✅ verified 1
src/_ZN5Model14LoadAndSetFileEtii.cpp _ZN5Model14LoadAndSetFileEtii ✅ verified 1
src/_ZN5Model14SetPolygonModeEi.cpp _ZN5Model14SetPolygonModeEi ✅ verified 1
src/_ZN5Model17LoadTextureToVramEPcj.cpp _ZN5Model17LoadTextureToVramEPcj ✅ verified 1
src/_ZN5Model17UpdateFileOffsetsER8BMD_File.cpp _ZN5Model17UpdateFileOffsetsER8BMD_File ✅ verified 1
src/_ZN5Model23AddToCommonModelDataArrER8BMD_File.cpp _ZN5Model23AddToCommonModelDataArrER8BMD_File ✅ verified 1
src/_ZN5Model6RenderEPK7Vector3.cpp _ZN5Model6RenderEPK7Vector3 ✅ verified 1
src/_ZN5Model8LoadFileER13SharedFilePtr.cpp _ZN5Model8LoadFileER13SharedFilePtr ✅ verified 1
src/_ZN5Model9DoSetFileEPcii.cpp _ZN5Model9DoSetFileEPcii ✅ verified 1
src/_ZN5Model9Virtual10ER9Matrix4x3.cpp _ZN5Model9Virtual10ER9Matrix4x3 ✅ verified 1
src/_ZN5Pokey13InitResourcesEv.cpp _ZN5Pokey13InitResourcesEv ✅ verified 1
src/_ZN5Pokey16CleanupResourcesEv.cpp _ZN5Pokey16CleanupResourcesEv ✅ verified 1
src/_ZN5Pokey16OnPendingDestroyEv.cpp _ZN5Pokey16OnPendingDestroyEv ✅ verified 1
src/_ZN5Pokey6RenderEv.cpp _ZN5Pokey6RenderEv ✅ verified 1
src/_ZN5Pokey8BehaviorEv.cpp _ZN5Pokey8BehaviorEv ✅ verified 1
src/_ZN5Shark13InitResourcesEv.cpp _ZN5Shark13InitResourcesEv ✅ verified 1
src/_ZN5Shark6RenderEv.cpp _ZN5Shark6RenderEv ✅ verified 1
src/_ZN5Spiny13InitResourcesEv.cpp _ZN5Spiny13InitResourcesEv ✅ verified 1
src/_ZN5Spiny6RenderEv.cpp _ZN5Spiny6RenderEv ✅ verified 1
src/_ZN5Spiny8BehaviorEv.cpp _ZN5Spiny8BehaviorEv ✅ verified 1
src/_ZN5Stage10LoadSkyboxEv.cpp _ZN5Stage10LoadSkyboxEv ✅ verified 1
src/_ZN5Stump13InitResourcesEv.cpp _ZN5Stump13InitResourcesEv ✅ verified 1
src/_ZN5Stump16CleanupResourcesEv.cpp _ZN5Stump16CleanupResourcesEv ✅ verified 1
src/_ZN5Stump6RenderEv.cpp _ZN5Stump6RenderEv ✅ verified 1
src/_ZN5Stump8BehaviorEv.cpp _ZN5Stump8BehaviorEv ✅ verified 1
src/_ZN6BobOmb13InitResourcesEv.cpp _ZN6BobOmb13InitResourcesEv ✅ verified 1
src/_ZN6BobOmb6RenderEv.cpp _ZN6BobOmb6RenderEv ✅ verified 1
src/_ZN6Bowser13InitResourcesEv.cpp _ZN6Bowser13InitResourcesEv ✅ verified 1
src/_ZN6Bowser16CleanupResourcesEv.cpp _ZN6Bowser16CleanupResourcesEv ✅ verified 1
src/_ZN6Bowser16OnPendingDestroyEv.cpp _ZN6Bowser16OnPendingDestroyEv ✅ verified 1
src/_ZN6Bowser6RenderEv.cpp _ZN6Bowser6RenderEv ✅ verified 1
src/_ZN6Bowser8BehaviorEv.cpp _ZN6Bowser8BehaviorEv ✅ verified 1
src/_ZN6BowserD0Ev.cpp _ZN6BowserD0Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN6BowserD1Ev.cpp _ZN6BowserD1Ev ✅ benign (equivalent veneer/twin) 2 (+1 passenger)
src/_ZN6Bullet13InitResourcesEv.cpp _ZN6Bullet13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN6Bullet6RenderEv.cpp _ZN6Bullet6RenderEv ✅ verified 1
src/_ZN6Bullet8BehaviorEv.cpp _ZN6Bullet8BehaviorEv ✅ verified 1
src/_ZN6Cannon13InitResourcesEv.cpp _ZN6Cannon13InitResourcesEv ✅ verified 1
src/_ZN6Cannon6RenderEv.cpp _ZN6Cannon6RenderEv ✅ verified 1
src/_ZN6Cannon8BehaviorEv.cpp _ZN6Cannon8BehaviorEv ✅ verified 1
src/_ZN6Coffin13InitResourcesEv.cpp

The private worker commits a test merge, builds the stock ROM profile, compares every executable module, measures matched and source-built code, checks contributor lineage, and verifies affected relocations. The mod profile is opt-in and is not part of this merge gate.

@tangosdev
tangosdev merged commit f62d03f into main Aug 10, 2026
3 checks passed
@tangosdev
tangosdev deleted the cpp/platform-layout-a branch August 10, 2026 16:51
andrewboudreau added a commit that referenced this pull request Aug 10, 2026
…e it

Comment only; no codegen change (rombuild 106/106 exact, unchanged).

#1381 gave Enemy its real base. This comment was written before that and still
said Enemy was "still a flattened struct here rather than `Enemy : Actor`",
ending with "Delete this one when Enemy gains its real base."

Enemy has gained it, and following that instruction would break the D0 route for
every Enemy subclass. mwcc inlines operator delete only when it finds it in the
class itself or its IMMEDIATE base; for a subclass of Enemy the immediate base is
Enemy, and Actor is the grandparent, so Actor's copy is out of reach. The
declaration is load-bearing precisely because Enemy now derives.

Caught by a review pass over the post-#1381 headers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015AXm5k53WFPjCYcDHRDX3x
andrewboudreau added a commit that referenced this pull request Aug 10, 2026
…e it

Comment only; no codegen change (rombuild 106/106 exact, unchanged).

#1381 gave Enemy its real base. This comment was written before that and still
said Enemy was "still a flattened struct here rather than `Enemy : Actor`",
ending with "Delete this one when Enemy gains its real base."

Enemy has gained it, and following that instruction would break the D0 route for
every Enemy subclass. mwcc inlines operator delete only when it finds it in the
class itself or its IMMEDIATE base; for a subclass of Enemy the immediate base is
Enemy, and Actor is the grandparent, so Actor's copy is out of reach. The
declaration is load-bearing precisely because Enemy now derives.

Caught by a review pass over the post-#1381 headers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015AXm5k53WFPjCYcDHRDX3x
andrewboudreau added a commit that referenced this pull request Aug 10, 2026
…ructor (#1382)

* The header generator gets its guards right, and Vector3 gets its destructor

The second half of the layout work behind #1377, stacked on the Platform/Enemy
half. 183 files.

VECTOR3 HAS A DESTRUCTOR, and ChiefChilly is the proof. func_020072c0 and
func_02011508 become Vector3::~Vector3 and Vector3s::~Vector3s -- four bytes
each, `bx lr`, which is what a trivial destructor compiles to and what every
class holding one by value calls. Six classes are migrated here rather than in
the sibling PR because this half does not link without them: giving Vector3 a
destructor stops ChiefChilly's hand-written .c files compiling, and renaming
func_02011508 leaves Unagi, Wiggler, Goomboss and ChainChomp naming a symbol
that no longer exists -- which every file still COMPILES against, and only
mwldarm rejects ("Undefined : func_02011508, referenced from
Wiggler::~Wiggler"). Found by building, not by reading.

HEADER GENERATION, four fixes, each found by a header that would not compile:
the base include belongs inside the __cplusplus guard (46 headers); the array
suffix the generator was dropping (Minimap, HUD, WaterSuction); an override must
match its base (MontyMoleRock, BowserPuzzlePiece); and member types belong on
both sides of the guard.

Also: ModelBase::SetFile and ShadowModel::InitCylinder return int, not void --
which is what was blocking KoopaShell.

VERIFIED

rombuild -j16, full ROM: 106/106 exact, 0 mismatching, 10,813 source-built,
87.88%. eligible.py against cbd57a8 differs only by the intended rename pair:
func_020072c0 and func_02011508 out, _ZN7Vector3D1Ev and _ZN8Vector3sD1Ev in.
langmode ratchet PASS.

A symbol rename drops `complete` in delinks (enroll.py preserves it by symbol
name), so the two renamed entries were re-promoted with --complete-list; without
that the source-built count silently falls 10,813 -> 10,810 while every gate
still passes.

Original work is by the author of #1377; this split preserves the content, not
the 37-commit history, which remains on that branch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015AXm5k53WFPjCYcDHRDX3x

* pr_linkcheck: check the object the linker consumes, not the one mwcc emitted

Moved to the base of this stack so every PR in it inherits the fix. It was
committed on the top PR, which left the two below validating against the broken
gate and failing with wrong-dest verdicts on correct files.

The relocation-destination gate compiled each changed file and checked its raw
relocations. The ROM build does not link that object -- it links the objisolated
one -- and isolation changes the destinations, so the gate was answering about a
file the build never sees.

mwcc's `_ZTV<C>` addresses the vtable OBJECT, so a vptr store carries an addend
skipping the offset-to-top and typeinfo words, while symbols.txt's `_ZTV<C>` IS
the slot array; objisolate subtracts that preamble. Unisolated, ModelAnim2's
secondary vptr store resolves as `_ZTV10ModelAnim2` (0x0208e9b4) + 44 =
0x0208e9e0, which is `_ZTI8dFader_c` -- an unrelated class's typeinfo. Isolated,
8 -> 0 and 44 -> 36 give 0x0208e9b4 and `VTable_Animation_ModelAnim2Thunk`
(0x0208e9d8), both correct.

MULTIPLE INHERITANCE IS WHY THIS SURFACED NOW. The single-inheritance addend of 8
resolves to a word still inside the same vtable symbol, so it never looked wrong,
and the 96 destructors already migrated never tripped it. A secondary vptr store
points past the primary slots and lands on whatever follows.

Isolation also drops the compiler-emitted passengers, so a migrated destructor
reports one slot rather than four or five. That is not lost coverage: the thunks
are separately enrolled files with their own delinks entries, checked on their
own runs.

Fails open -- if objisolate cannot plan an object, the file is checked unisolated
rather than losing its verdict.

Verified on the three files the validator flagged across this stack:
_ZN9ModelAnimD1Ev, _ZN10ModelAnim2D1Ev and _ZN10ModelAnim2D0Ev all report `ok`
with the fix and WRONG without it, while rombuild links all three at 106/106
exact either way. tools suite 265 passed, 3 skipped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015AXm5k53WFPjCYcDHRDX3x

* Enemy.h: the operator delete must stay, and the comment said to delete it

Comment only; no codegen change (rombuild 106/106 exact, unchanged).

#1381 gave Enemy its real base. This comment was written before that and still
said Enemy was "still a flattened struct here rather than `Enemy : Actor`",
ending with "Delete this one when Enemy gains its real base."

Enemy has gained it, and following that instruction would break the D0 route for
every Enemy subclass. mwcc inlines operator delete only when it finds it in the
class itself or its IMMEDIATE base; for a subclass of Enemy the immediate base is
Enemy, and Actor is the grandparent, so Actor's copy is out of reach. The
declaration is load-bearing precisely because Enemy now derives.

Caught by a review pass over the post-#1381 headers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015AXm5k53WFPjCYcDHRDX3x

* symbols: drop the size-0 duplicates the Vector3 dtor rename left behind

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants