Skip to content

The header generator gets its guards right, and Vector3 gets its destructor - #1382

Merged
andrewboudreau merged 4 commits into
mainfrom
cpp/layout-headergen
Aug 10, 2026
Merged

The header generator gets its guards right, and Vector3 gets its destructor#1382
andrewboudreau merged 4 commits into
mainfrom
cpp/layout-headergen

Conversation

@andrewboudreau

Copy link
Copy Markdown
Collaborator

Part 2 of 4 splitting #1377. 183 files — under the 200-file cap. Stacked on #1381.

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 migrations are here rather than in #1379, because this half does not link without them. Giving Vector3 a destructor stops ChiefChilly's hand-written .c files compiling; 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:

mwldarm.exe: Undefined : "func_02011508"
mwldarm.exe: Referenced from "Wiggler::~Wiggler[virtual]()" in _ZN7WigglerD0Ev.o

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

gate result
rombuild.py -j16, full ROM 106/106 exact, 0 mismatching, 10,813 source-built, 87.88%
eligible.py vs cbd57a83 differs only by the intended rename pair — func_020072c0/func_02011508 out, _ZN7Vector3D1Ev/_ZN8Vector3sD1Ev in
langmode ratchet / duplicates PASS / none doubled

A trap worth keeping: a symbol rename drops complete in delinks.txt, because enroll.py preserves it by symbol name. The two renamed entries had to be re-promoted with --complete-list; without that the source-built count silently falls 10,813 → 10,810 while every other gate still passes.

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

🤖 Generated with Claude Code

https://claude.ai/code/session_015AXm5k53WFPjCYcDHRDX3x

@tangos-validator

tangos-validator Bot commented Aug 10, 2026

Copy link
Copy Markdown

✅ PR validation — Passed

Committed merge passes; the attribution-override label accepted 2 credit change(s), 0 lost.

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%, +0)
Perfect source moves 0 R100
Contributor credit 0 added, 2 changed, 0 lost (override label)
Relocation check 4814 checked; 107 BENIGN, 81 BLIND, 29 NO-SYM, 4597 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%)

Contributor credit moved (2)

Function Source Before After
arm9:0x020072c0 src/func_020072c0.c -> src/_ZN7Vector3D1Ev.cpp tangosdev andrewboudreau
arm9:0x02011508 src/func_02011508.c -> src/_ZN8Vector3sD1Ev.cpp tangosdev andrewboudreau

Warnings: attribution-override label: contributor attribution changed or was lost (2 changed, 0 lost -- src/_ZN7Vector3D1Ev.cpp: tangosdev -> andrewboudreau; src/_ZN8Vector3sD1Ev.cpp: tangosdev -> andrewboudreau), accepted without failing the pull request; 1 new/changed file(s) carry an asm body with no HAND-ASM PRIMITIVE or NONMATCHING banner: src/_ZN6Player13InitResourcesEv.cpp; 81 linkcheck result(s) have unresolved relocations; 29 affected source file(s) could not be fully link-checked.

Per-file link-check detail

26 of 4464 changed file(s) do not match the ROM (NO-SYM).

File Symbol Result Slots checked
src/ARMMathLoadState.c ARMMathLoadState ✅ verified 1
src/ARMMathSaveState.c ARMMathSaveState ✅ verified 1
src/AmbientSoundEffects_Spawn.c AmbientSoundEffects_Spawn ✅ verified 1
src/Amp_Spawn.c Amp_Spawn ✅ verified 1
src/ArmedRotatingPlatform_Spawn.c ArmedRotatingPlatform_Spawn ✅ verified 1
src/ArrowLift_Spawn.c ArrowLift_Spawn ✅ verified 1
src/ArrowPathLift_Spawn.c ArrowPathLift_Spawn ✅ verified 1
src/ArrowSignLeft_Spawn.c ArrowSignLeft_Spawn ✅ verified 1
src/ArrowSignRight_Spawn.c ArrowSignRight_Spawn ✅ verified 1
src/BabyPenguin_Spawn.c BabyPenguin_Spawn ✅ verified 1
src/BasementWater_Spawn.c BasementWater_Spawn ✅ verified 1
src/BigBrickBlock_Spawn.c BigBrickBlock_Spawn ✅ verified 1
src/BigBully_Spawn.c BigBully_Spawn ✅ verified 1
src/BigMovingIceBlock_Spawn.c BigMovingIceBlock_Spawn ✅ verified 1
src/BigMrI_Spawn.c BigMrI_Spawn ✅ verified 1
src/Bird_Spawn.c Bird_Spawn ✅ verified 1
src/BlackBrickBlock_Spawn.c BlackBrickBlock_Spawn ✅ verified 1
src/BlueCoin_Spawn.c BlueCoin_Spawn ✅ verified 1
src/BlueFlame_Spawn.c BlueFlame_Spawn ✅ verified 1
src/BobOmbBuddy_Spawn.c BobOmbBuddy_Spawn ✅ verified 1
src/BobOmb_Spawn.c BobOmb_Spawn ✅ verified 1
src/BookShotSpawner_Spawn.c BookShotSpawner_Spawn ✅ verified 1
src/BookShot_Spawn.c BookShot_Spawn ✅ verified 1
src/Bookend_Spawn.c Bookend_Spawn ✅ verified 1
src/BowserFireSeaArena_Spawn.c BowserFireSeaArena_Spawn ✅ verified 1
src/BowserFire_Spawn.c BowserFire_Spawn ✅ verified 1
src/BowserPuzzlePiece_Spawn.c BowserPuzzlePiece_Spawn ✅ verified 1
src/BowserShockwaves_Spawn.c BowserShockwaves_Spawn ✅ verified 1
src/BowserTail_Spawn.c BowserTail_Spawn ✅ verified 1
src/Bowser_Spawn.c Bowser_Spawn ✅ verified 1
src/BrickBlockSwitchActivated_Spawn.c BrickBlockSwitchActivated_Spawn ✅ verified 1
src/BrickBlock_Spawn.c BrickBlock_Spawn ✅ verified 1
src/Bubble_Spawn.c Bubble_Spawn ✅ verified 1
src/BulletBill_Spawn.c BulletBill_Spawn ✅ verified 1
src/Bullet_Spawn.c Bullet_Spawn ✅ verified 1
src/Bully_Spawn.c Bully_Spawn ✅ verified 1
src/Butterfly_Spawn.c Butterfly_Spawn ✅ verified 1
src/CameraTag_Spawn.c CameraTag_Spawn ✅ verified 1
src/Camera_UpdateMatrices.c Camera_UpdateMatrices ✅ verified 1
src/CannonHatch_Spawn.c CannonHatch_Spawn ✅ verified 1
src/Cannon_Spawn.c Cannon_Spawn ✅ verified 1
src/CapBlockLuigi_Spawn.c CapBlockLuigi_Spawn ✅ verified 1
src/CapBlockMario_Spawn.c CapBlockMario_Spawn ✅ verified 1
src/CapBlockWario_Spawn.c CapBlockWario_Spawn ✅ verified 1
src/Cap_Spawn.c Cap_Spawn ✅ verified 1
src/CastleWater_Spawn.c CastleWater_Spawn ✅ verified 1
src/CccArena_Spawn.c CccArena_Spawn ✅ verified 1
src/CccBigIce_Spawn.c CccBigIce_Spawn ✅ verified 1
src/CccSmallIce_Spawn.c CccSmallIce_Spawn ✅ verified 1
src/CgStairs_Spawn.c CgStairs_Spawn ✅ verified 1
src/ChainChompFence_Spawn.c ChainChompFence_Spawn ✅ verified 1
src/ChainChomp_Spawn.cpp ChainChomp_Spawn ✅ verified 1
src/CheepCheep_Spawn.c CheepCheep_Spawn ✅ verified 1
src/ChiefChilly_Spawn.cpp ChiefChilly_Spawn ✅ verified 1
src/ChillBully_Spawn.c ChillBully_Spawn ✅ verified 1
src/Chuckya_Spawn.c Chuckya_Spawn ✅ verified 1
src/Clam_Spawn.c Clam_Spawn ✅ verified 1
src/ClockPaintingHandLong_Spawn.c ClockPaintingHandLong_Spawn ✅ verified 1
src/ClockPaintingHandShort_Spawn.c ClockPaintingHandShort_Spawn ✅ verified 1
src/ClockPaintingPendulum_Spawn.c ClockPaintingPendulum_Spawn ✅ verified 1
src/Cloud_Spawn.c Cloud_Spawn ✅ verified 1
src/Coffin_Spawn.c Coffin_Spawn ✅ verified 1
src/Coin_Spawn.c Coin_Spawn ✅ verified 1
src/CopyTexPalFromLevelModel.c CopyTexPalFromLevelModel ✅ verified 1
src/CountStarsCollectedInLevelToDisplay.c CountStarsCollectedInLevelToDisplay ✅ verified 1
src/Crash.c Crash ✅ verified 1
src/CrazedCrate_Spawn.c CrazedCrate_Spawn ✅ verified 1
src/CutsceneObject_Spawn.c CutsceneObject_Spawn ✅ verified 1
src/DMAStartTransfer.c DMAStartTransfer ✅ verified 1
src/DMAStartTransferFB.c DMAStartTransferFB ✅ verified 1
src/DMASyncFillTransfer.c DMASyncFillTransfer ✅ verified 1
src/DMASyncHalfTransfer.c DMASyncHalfTransfer ✅ verified 1
src/DMASyncWordTransfer.c DMASyncWordTransfer ✅ verified 1
src/DeathTable_ClearBit.c DeathTable_ClearBit ✅ verified 1
src/DeathTable_GetBit.c DeathTable_GetBit ✅ verified 1
src/DeathTable_SetBit.c DeathTable_SetBit ✅ verified 1
src/DisableSoundPlayersForCredits.c DisableSoundPlayersForCredits ✅ verified 1
src/DonutBlock_Spawn.c DonutBlock_Spawn ✅ verified 1
src/Door_Spawn.c Door_Spawn ✅ verified 1
src/DorrieCap_Spawn.c DorrieCap_Spawn ✅ verified 1
src/EnemySpawner_Spawn.c EnemySpawner_Spawn ✅ verified 1
src/EnemySwitchTag_Spawn.c EnemySwitchTag_Spawn ✅ verified 1
src/EnterBigBoosHaunt.c EnterBigBoosHaunt ✅ verified 1
src/ExclamationBlockVs_Spawn.c ExclamationBlockVs_Spawn ✅ verified 1
src/ExclamationBlock_Spawn.c ExclamationBlock_Spawn ✅ verified 1
src/ExclamationSwitch_Spawn.c ExclamationSwitch_Spawn ✅ verified 1
src/ExitMinigameMenu.c ExitMinigameMenu ✅ verified 1
src/Exit_Spawn.c Exit_Spawn ✅ verified 1
src/ExplosionGoomba_Spawn.cpp ExplosionGoomba_Spawn ✅ verified 1
src/ExtendingPlatform_Spawn.c ExtendingPlatform_Spawn ✅ verified 1
src/Eyerok_Spawn.cpp Eyerok_Spawn ✅ verified 1
src/FS_InitFile.c FS_InitFile ✅ verified 1
src/FUN_02029ab0.c FUN_02029ab0 ✅ verified 1
src/FallBlockBfs_Spawn.c FallBlockBfs_Spawn 🔶 blind (a reloc slot could not be resolved) 1
src/FallBlockLll_Spawn.c FallBlockLll_Spawn 🔶 blind (a reloc slot could not be resolved) 1
src/FirePiranhaPlantBig_Spawn.c FirePiranhaPlantBig_Spawn ✅ verified 1
src/FirePiranhaPlantSmall_Spawn.c FirePiranhaPlantSmall_Spawn ✅ verified 1
src/FirePiranhaPlant_Spawn.c FirePiranhaPlant_Spawn ✅ verified 1
src/Fireball_Spawn.c Fireball_Spawn ✅ verified 1
src/Flag_Spawn.c Flag_Spawn ✅ verified 1
src/FlameChompFire_Spawn.c FlameChompFire_Spawn ✅ verified 1
src/FlameChomp_Spawn.c FlameChomp_Spawn ✅ verified 1
src/Flamethrower_Spawn.cpp Flamethrower_Spawn ✅ verified 1
src/FloatOnLavaPlatform_Spawn.c FloatOnLavaPlatform_Spawn ✅ verified 1
src/FloatOnWaterPlatformJrb_Spawn.c FloatOnWaterPlatformJrb_Spawn ✅ verified 1
src/FloatOnWaterPlatformWdwRectangle_Spawn.c FloatOnWaterPlatformWdwRectangle_Spawn ✅ verified 1
src/FloatOnWaterPlatformWdwSquare_Spawn.c FloatOnWaterPlatformWdwSquare_Spawn ✅ verified 1
src/FloatingFloorBfs_Spawn.c FloatingFloorBfs_Spawn ✅ verified 1
src/FloatingFloorLllBig_Spawn.c FloatingFloorLllBig_Spawn ✅ verified 1
src/FloatingFloorLllSmall_Spawn.c FloatingFloorLllSmall_Spawn ✅ verified 1
src/FlyGuy_Spawn.c FlyGuy_Spawn ✅ verified 1
src/FortressTowerWall_Spawn.c FortressTowerWall_Spawn ✅ verified 1
src/FortressTower_Spawn.c FortressTower_Spawn ✅ verified 1
src/FortressWallBreakable_Spawn.c FortressWallBreakable_Spawn ✅ verified 1
src/FortressWall_Spawn.c FortressWall_Spawn ✅ verified 1
src/Fwoosh_Spawn.c Fwoosh_Spawn ✅ verified 1
src/GoombaLarge_Spawn.c GoombaLarge_Spawn ✅ verified 1
src/GoombaSmall_Spawn.c GoombaSmall_Spawn ✅ verified 1
src/Goomba_Spawn.c Goomba_Spawn ✅ verified 1
src/Goomboss_Spawn.cpp Goomboss_Spawn ✅ verified 1
src/GreenShellBlockTag_Spawn.c GreenShellBlockTag_Spawn ✅ verified 1
src/Grindel_Spawn.c Grindel_Spawn 🔶 blind (a reloc slot could not be resolved) 1
src/HauntedChair_Spawn.c HauntedChair_Spawn ✅ verified 1
src/HealingHeart_Spawn.c HealingHeart_Spawn ✅ verified 1
src/HeaveHo_Spawn.c HeaveHo_Spawn ✅ verified 1
src/HitDeathPlane.c HitDeathPlane ✅ verified 1
src/HootTheOwl_Spawn.c HootTheOwl_Spawn ✅ verified 1
src/HugeWater_Spawn.c HugeWater_Spawn ✅ verified 1
src/IceBlock_Spawn.c IceBlock_Spawn ✅ verified 1
src/IceSheet_Spawn.c IceSheet_Spawn ✅ verified 1
src/IceSlideManager_Spawn.c IceSlideManager_Spawn ✅ verified 1
src/InitControllerMode.c InitControllerMode ✅ verified 1
src/InvisiblePole_Spawn.c InvisiblePole_Spawn ✅ verified 1
src/InvisibleSecret_Spawn.c InvisibleSecret_Spawn ✅ verified 1
src/IsStarCollected.c IsStarCollected ✅ verified 1
src/JetStream_Spawn.c JetStream_Spawn ✅ verified 1
src/Key_Spawn.c Key_Spawn ✅ verified 1
src/KillPlayer.c KillPlayer ✅ verified 1
src/KingBobOmb_Spawn.c KingBobOmb_Spawn ✅ verified 1
src/Klepto_Spawn.c Klepto_Spawn ✅ verified 1
src/KnockDownPlank_Spawn.c KnockDownPlank_Spawn ✅ verified 1
src/KoopaFlag_Spawn.c KoopaFlag_Spawn ✅ verified 1
src/KoopaShell_Spawn.c KoopaShell_Spawn ✅ verified 1
src/KoopaSmall_Spawn.c KoopaSmall_Spawn ✅ verified 1
src/KoopaTheQuick_Spawn.c KoopaTheQuick_Spawn ✅ verified 1
src/Koopa_Spawn.c Koopa_Spawn ✅ verified 1
src/LakituBro_Spawn.c LakituBro_Spawn ✅ verified 1
src/Lakitu_Spawn.c Lakitu_Spawn ✅ verified 1
src/LastStar_Spawn.c LastStar_Spawn ✅ verified 1
src/LavaBubble_Spawn.c LavaBubble_Spawn ✅ verified 1
src/LavaPlank_Spawn.c LavaPlank_Spawn ✅ verified 1
src/LightBeam_Spawn.c LightBeam_Spawn ✅ verified 1
src/LoadArchive.c LoadArchive ✅ verified 1
src/LoadCompressedFileAt.c LoadCompressedFileAt ✅ verified 1
src/LoadDebugFont.c LoadDebugFont ✅ verified 1
src/LoadFont3D.c LoadFont3D ✅ verified 1
src/LoadLevel.c LoadLevel ✅ verified 1
src/LoadLevelNoReturn.c LoadLevelNoReturn ✅ verified 1
src/LoadOverlay.c LoadOverlay ✅ verified 1
src/LoadTextNarcs.c LoadTextNarcs ✅ verified 1
src/MantaRay_Spawn.c MantaRay_Spawn ✅ verified 1
src/Matrix4x3_ApplyInPlaceToRotationY.c Matrix4x3_ApplyInPlaceToRotationY ✅ verified 1
src/Matrix4x3_FromQuaternion.c Matrix4x3_FromQuaternion ✅ verified 1
src/MegaMushroomBlockTag_Spawn.c MegaMushroomBlockTag_Spawn ✅ verified 1
src/MegaMushroomCreateTag_Spawn.c MegaMushroomCreateTag_Spawn ✅ verified 1
src/MegaMushroomTag_Spawn.c MegaMushroomTag_Spawn ✅ verified 1
src/MegaMushroom_Spawn.c MegaMushroom_Spawn ✅ verified 1
src/Message_DrawCenteredLine.c Message_DrawCenteredLine ✅ verified 1
src/MetalNetLift_Spawn.c MetalNetLift_Spawn ✅ verified 1
src/MetalNet_Spawn.c MetalNet_Spawn ✅ verified 1
src/MgBobOmbSquad_Spawn.c MgBobOmbSquad_Spawn ✅ verified 1
src/MgHideAndBooSeek_Spawn.c MgHideAndBooSeek_Spawn ✅ verified 1
src/MgLakituLaunch_Spawn.c MgLakituLaunch_Spawn ✅ verified 1
src/MgPuzzlePanelPuzzlePanic_Spawn.c MgPuzzlePanelPuzzlePanic_Spawn ✅ verified 1
src/MgShuffleShell_Spawn.c MgShuffleShell_Spawn ✅ verified 1
src/MgWanted_Spawn.c MgWanted_Spawn ✅ verified 1
src/Moneybag_Spawn.c Moneybag_Spawn ✅ verified 1
src/MontyMoleRock_Spawn.c MontyMoleRock_Spawn ✅ verified 1
src/MontyMole_Spawn.c MontyMole_Spawn ✅ verified 1
src/MotherPenguin_Spawn.c MotherPenguin_Spawn ✅ verified 1
src/MovingBarBig_Spawn.c MovingBarBig_Spawn ✅ verified 1
src/MovingBarSmall_Spawn.c MovingBarSmall_Spawn ✅ verified 1
src/MrBlizzard_Spawn.c MrBlizzard_Spawn ✅ verified 1
src/MrI_Projectile_Spawn.c MrI_Projectile_Spawn ✅ verified 1
src/MrI_Spawn.c MrI_Spawn ✅ verified 1
src/MugenBgm_Spawn.c MugenBgm_Spawn ✅ verified 1
src/NormalizeVec3.c NormalizeVec3 ✅ verified 1
src/NumStars.c NumStars ✅ verified 1
src/Number_Spawn.c Number_Spawn ✅ verified 1
src/OSReadROMArea.c OSReadROMArea ✅ verified 1
src/OS_SleepThread.c OS_SleepThread ✅ verified 1
src/OS_WakeupThread.c OS_WakeupThread ✅ verified 1
src/OneUpLogo_Spawn.c OneUpLogo_Spawn ✅ verified 1
src/OneUpMushroomBlockTag_Spawn.c OneUpMushroomBlockTag_Spawn ✅ verified 1
src/OneUpMushroom_Spawn.c OneUpMushroom_Spawn ✅ verified 1
src/OrangeBallBillboard_Spawn.c OrangeBallBillboard_Spawn ✅ verified 1
src/PeachPainting_Spawn.c PeachPainting_Spawn ✅ verified 1
src/PiranhaPlant_Spawn.c PiranhaPlant_Spawn ✅ verified 1
src/PokeySegment_Spawn.c PokeySegment_Spawn ✅ verified 1
src/Pokey_Spawn.c Pokey_Spawn ✅ verified 1
src/PoleBillboard_Spawn.c PoleBillboard_Spawn ✅ verified 1
src/PoleLift_Spawn.c PoleLift_Spawn ✅ verified 1
src/PowerFlower_Spawn.c PowerFlower_Spawn ✅ verified 1
src/PowerStar_Spawn.c PowerStar_Spawn ✅ verified 1
src/PrepareVsMode.c PrepareVsMode ✅ verified 1
src/PrincessPeach_Spawn.c PrincessPeach_Spawn ✅ verified 1
src/ProcessKuppaScript.cpp ProcessKuppaScript ✅ verified 1
src/PushBlock_Spawn.c PushBlock_Spawn ✅ verified 1
src/PyramidLift_Spawn.cpp PyramidLift_Spawn ✅ verified 1
src/PyramidStep_Spawn.c PyramidStep_Spawn ✅ verified 1
src/PyramidTag_Spawn.c PyramidTag_Spawn ✅ verified 1
src/PyramidTop_Spawn.c PyramidTop_Spawn ✅ verified 1
src/QuestionBlock_Spawn.c QuestionBlock_Spawn ✅ verified 1
src/RabbitKey_Spawn.c RabbitKey_Spawn ✅ verified 1
src/Rabbit_Spawn.c Rabbit_Spawn ✅ verified 1
src/RacingPenguin_Spawn.c RacingPenguin_Spawn ✅ verified 1
src/RedCoin_Spawn.c RedCoin_Spawn ✅ verified 1
src/RedFlame_Spawn.c RedFlame_Spawn ✅ verified 1
src/ResetInput.c ResetInput ✅ verified 1
src/RickshawBdw_Spawn.c RickshawBdw_Spawn ✅ verified 1
src/RickshawBs_Spawn.c RickshawBs_Spawn ✅ verified 1
src/RickshawPlatformBdw_Spawn.c RickshawPlatformBdw_Spawn ✅ verified 1
src/RickshawPlatformBs_Spawn.c RickshawPlatformBs_Spawn ✅ verified 1
src/RockTriangle_Spawn.c RockTriangle_Spawn ✅ verified 1
src/RollingIronBall_Spawn.c RollingIronBall_Spawn ✅ verified 1
src/RollingLogLll_Spawn.c RollingLogLll_Spawn 🔶 blind (a reloc slot could not be resolved) 1
src/RollingLogTtm_Spawn.c RollingLogTtm_Spawn 🔶 blind (a reloc slot could not be resolved) 1
src/RopeBarrier_Spawn.c RopeBarrier_Spawn ✅ verified 1
src/RotatingBridge_Spawn.c RotatingBridge_Spawn ✅ verified 1
src/RotatingClockHand_Spawn.c RotatingClockHand_Spawn ✅ verified 1
src/RotatingCogSmall_Spawn.c RotatingCogSmall_Spawn ✅ verified 1
src/RotatingPlatformLll_Spawn.c RotatingPlatformLll_Spawn ✅ verified 1
src/RotatingPlatformRr_Spawn.c RotatingPlatformRr_Spawn ✅ verified 1
src/RotatingPlatformWdw_Spawn.c RotatingPlatformWdw_Spawn ✅ verified 1
src/RotatingPlatformWf_Spawn.c RotatingPlatformWf_Spawn ✅ verified 1
src/RotatingUpDownPlatformUtm_Spawn.c RotatingUpDownPlatformUtm_Spawn ✅ verified 1
src/RotatingUpDownPlatform_Spawn.c RotatingUpDownPlatform_Spawn ✅ verified 1
src/Scuttlebug_Spawn.c Scuttlebug_Spawn ✅ verified 1
src/Seaweed_Spawn.c Seaweed_Spawn ✅ verified 1
src/SeesawBdw_Spawn.c SeesawBdw_Spawn ✅ verified 1
src/SeesawBfs_Spawn.c SeesawBfs_Spawn ✅ verified 1
src/SeesawBob_Spawn.c SeesawBob_Spawn ✅ verified 1
src/SeesawBsPlank_Spawn.c SeesawBsPlank_Spawn ✅ verified 1
src/SeesawBsZigZag_Spawn.c SeesawBsZigZag_Spawn ✅ verified 1
src/SeesawRr_Spawn.c SeesawRr_Spawn ✅ verified 1
src/SeesawUtm_Spawn.c SeesawUtm_Spawn ✅ verified 1
src/SetNextLevel.c SetNextLevel ✅ verified 1
src/SetNextStar.c SetNextStar ✅ verified 1
src/SetPlayerGlobals.c SetPlayerGlobals ✅ verified 1
src/Shark_Spawn.c Shark_Spawn ✅ verified 1
src/ShipDown_Spawn.c ShipDown_Spawn ✅ verified 1
src/ShipUp_Spawn.c ShipUp_Spawn ✅ verified 1
src/ShipWater_Spawn.c ShipWater_Spawn ✅ verified 1
src/ShipWing_Spawn.c ShipWing_Spawn ✅ verified 1
src/ShowCrashScreen.c ShowCrashScreen ✅ verified 1
src/ShutterBob_Spawn.c ShutterBob_Spawn ✅ verified 1
src/ShutterHmc_Spawn.c ShutterHmc_Spawn ✅ verified 1
src/SignPost_Spawn.c SignPost_Spawn ✅ verified 1
src/SilverStarBlockTag_Spawn.c SilverStarBlockTag_Spawn ✅ verified 1
src/SilverStar_Spawn.c SilverStar_Spawn ✅ verified 1
src/SlideDecorationBlueSmiley_Spawn.c SlideDecorationBlueSmiley_Spawn ✅ verified 1
src/SlideDecorationOrangeSmiley_Spawn.c SlideDecorationOrangeSmiley_Spawn ✅ verified 1
src/SlideDecorationSilverStar_Spawn.c SlideDecorationSilverStar_Spawn ✅ verified 1
src/SlideDecorationYellowStar_Spawn.c SlideDecorationYellowStar_Spawn ✅ verified 1
src/SlidingBox_Spawn.c SlidingBox_Spawn ✅ verified 1
src/SlidingIceSpawner_Spawn.c SlidingIceSpawner_Spawn ✅ verified 1
src/SlidingIce_Spawn.c SlidingIce_Spawn ✅ verified 1
src/SlidingPlatformBdw_Spawn.c SlidingPlatformBdw_Spawn ✅ verified 1
src/SlidingPlatformBfsRectangle_Spawn.c SlidingPlatformBfsRectangle_Spawn ✅ verified 1
src/SlidingPlatformBfsSquare_Spawn.c SlidingPlatformBfsSquare_Spawn ✅ verified 1
src/SlidingPlatformBsLong_Spawn.c SlidingPlatformBsLong_Spawn ✅ verified 1
src/SlidingPlatformBsWide_Spawn.c SlidingPlatformBsWide_Spawn ✅ verified 1
src/SlidingPlatformRr_Spawn.c SlidingPlatformRr_Spawn ✅ verified 1
src/SlidingPlatformWf_Spawn.c SlidingPlatformWf_Spawn ✅ verified 1
src/Snowball_Spawn.c Snowball_Spawn ✅ verified 1
src/SnowmanBody_Spawn.c SnowmanBody_Spawn ✅ verified 1
src/SnowmanHead_Spawn.c SnowmanHead_Spawn ✅ verified 1
src/Snufit_Spawn.c Snufit_Spawn ✅ verified 1
src/SpikeBomb_Spawn.c SpikeBomb_Spawn ✅ verified 1
src/Spindrift_Spawn.c Spindrift_Spawn ✅ verified 1
src/SpinningPlatform_Spawn.c SpinningPlatform_Spawn ✅ verified 1
src/Spiny_Spawn.c Spiny_Spawn ✅ verified 1
src/SquareMetalNetLift_Spawn.c SquareMetalNetLift_Spawn ✅ verified 1
src/SquarePathLift_Spawn.c SquarePathLift_Spawn ✅ verified 1
src/Squasher_Spawn.c Squasher_Spawn ✅ verified 1
src/StarDoor_Spawn.c StarDoor_Spawn ✅ verified 1
src/StarMarker_Spawn.c StarMarker_Spawn ✅ verified 1
src/StarSwitch_Spawn.c StarSwitch_Spawn ✅ verified 1
src/StartExitCharacterWipe.c StartExitCharacterWipe ✅ verified 1
src/StartFile.c StartFile ✅ verified 1
src/StartMinigameMenu.c StartMinigameMenu ✅ verified 1
src/StaticRock_Spawn.c StaticRock_Spawn ✅ verified 1
src/SublevelToLevel.c SublevelToLevel ✅ verified 1
src/SwitchActivatedPlank_Spawn.c SwitchActivatedPlank_Spawn ✅ verified 1
src/Swoop_Spawn.c Swoop_Spawn ✅ verified 1
src/TTC_MovingBar_Spawn.c TTC_MovingBar_Spawn ✅ verified 1
src/TTC_MovingBeam_Spawn.c TTC_MovingBeam_Spawn ✅ verified 1
src/Thwomp_Spawn.c Thwomp_Spawn ✅ verified 1
src/TiltingPlatformBfs_Spawn.c TiltingPlatformBfs_Spawn ✅ verified 1
src/TiltingPlatformLll_Spawn.c TiltingPlatformLll_Spawn ✅ verified 1
src/TinyWater_Spawn.c TinyWater_Spawn ✅ verified 1
src/Toad_Spawn.c Toad_Spawn ✅ verified 1
src/Tornado_Spawn.c Tornado_Spawn ✅ verified 1
src/TowerStep_Spawn.c TowerStep_Spawn ✅ verified 1
src/Trap_Spawn.c Trap_Spawn ✅ verified 1
src/TreasureChest_Spawn.c TreasureChest_Spawn ✅ verified 1
src/TtcConveyorBeltLarge_Spawn.c TtcConveyorBeltLarge_Spawn ✅ verified 1
src/TtcConveyorBeltSmall_Spawn.c TtcConveyorBeltSmall_Spawn ✅ verified 1
src/TtcMovingCubeA_Spawn.c TtcMovingCubeA_Spawn ✅ verified 1
src/TtcMovingCubeB_Spawn.c TtcMovingCubeB_Spawn ✅ verified 1
src/TtcRotatingCube_Spawn.c TtcRotatingCube_Spawn ✅ verified 1
src/TtcRotatingGear_Spawn.c TtcRotatingGear_Spawn ✅ verified 1
src/TtcRotatingPrism_Spawn.c TtcRotatingPrism_Spawn ✅ verified 1
src/TtcRotatingTriangle_Spawn.c TtcRotatingTriangle_Spawn ✅ verified 1
src/UkikiCage_Spawn.c UkikiCage_Spawn ✅ verified 1
src/UkikiStar_Spawn.c UkikiStar_Spawn ✅ verified 1
src/UkikiThief_Spawn.c UkikiThief_Spawn ✅ verified 1
src/Unagi_Spawn.c Unagi_Spawn ✅ verified 1
src/UnchainedChomp_Spawn.c UnchainedChomp_Spawn ✅ verified 1
src/UnloadBlueCoinModel.c UnloadBlueCoinModel ✅ verified 1
src/UpDownLiftBbh_Spawn.c UpDownLiftBbh_Spawn ✅ verified 1
src/UpDownLiftHmc_Spawn.c UpDownLiftHmc_Spawn ✅ verified 1
src/UpDownLiftRr_Spawn.c UpDownLiftRr_Spawn ✅ verified 1
src/UpdateMinimap.c UpdateMinimap ✅ verified 1
src/VirtualDoor_Spawn.c VirtualDoor_Spawn ✅ verified 1
src/VolcanoFire_Spawn.c VolcanoFire_Spawn ✅ verified 1
src/WDW_Water_Spawn.c WDW_Water_Spawn ✅ verified 1
src/WM_CheckStateEx.c WM_CheckStateEx ✅ verified 1
src/WM_SendCommand.c WM_SendCommand ✅ verified 1
src/WallSign_Spawn.c WallSign_Spawn ✅ verified 1
src/WarpPipe_Spawn.c WarpPipe_Spawn ✅ verified 1
src/Warp_Spawn.c Warp_Spawn ✅ verified 1
src/WaterBomb_Spawn.c WaterBomb_Spawn ✅ verified 1
src/WaterDiamond_Spawn.c WaterDiamond_Spawn ✅ verified 1
src/WaterRing_Spawn.c WaterRing_Spawn ✅ verified 1
src/WaterSuction_Spawn.c WaterSuction_Spawn ✅ verified 1
src/WaterfallMist_Spawn.c WaterfallMist_Spawn ✅ verified 1
src/Whirlpool_Spawn.c Whirlpool_Spawn ✅ verified 1
src/Wiggler_Spawn.c Wiggler_Spawn ✅ verified 1
src/WingFeather_Spawn.c WingFeather_Spawn ✅ verified 1
src/YoshiEgg_Spawn.c YoshiEgg_Spawn ✅ verified 1
src/_Z13CopyToViewMatPK9Matrix4x3.c _Z13CopyToViewMatPK9Matrix4x3 ✅ verified 1
src/_Z14LoadFogObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z14LoadFogObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 1
src/_Z15LoadExitObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z15LoadExitObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 3 (+2 passenger)
src/_Z15LoadPathObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z15LoadPathObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 1
src/_Z15LoadViewObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z15LoadViewObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 1
src/_Z19LoadPathNodeObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z19LoadPathNodeObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 1
src/_Z21LoadStarCameraObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z21LoadStarCameraObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 1
src/_Z22LoadMinimapTileObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z22LoadMinimapTileObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 1
src/_Z23LoadMinimapChangeObjecti5Fix12IiEh.c _Z23LoadMinimapChangeObjecti5Fix12IiEh ✅ verified 1
src/_Z23LoadMinimapScaleObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z23LoadMinimapScaleObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 1
src/_Z23LoadTeleportDestObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z23LoadTeleportDestObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 1
src/_Z23LoadUnusedType13ObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z23LoadUnusedType13ObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 1
src/_Z25LoadTeleportSourceObjectsRN11LVL_Overlay11ObjSubTableEij.cpp _Z25LoadTeleportSourceObjectsRN11LVL_Overlay11ObjSubTableEij ✅ verified 2 (+1 passenger)
src/_ZN10BowserFire13InitResourcesEv.cpp _ZN10BowserFire13InitResourcesEv 🔶 no-sym 3 (+2 passenger)
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/_ZN10BrickBlock16CleanupResourcesEv.cpp _ZN10BrickBlock16CleanupResourcesEv ✅ verified 1
src/_ZN10BrickBlock8BehaviorEv.cpp _ZN10BrickBlock8BehaviorEv ✅ verified 1
src/_ZN10BrickBlockD0Ev.c _ZN10BrickBlockD0Ev ✅ verified 1
src/_ZN10BulletBill13InitResourcesEv.cpp _ZN10BulletBill13InitResourcesEv ✅ verified 2 (+1 passenger)
src/_ZN10BulletBill16CleanupResourcesEv.cpp _ZN10BulletBill16CleanupResourcesEv ✅ verified 1
src/_ZN10BulletBill6RenderEv.cpp _ZN10BulletBill6RenderEv ✅ verified 1
src/_ZN10BulletBill8BehaviorEv.cpp _ZN10BulletBill8BehaviorEv ✅ verified 2 (+1 passenger)
src/_ZN10BulletBillD0Ev.c _ZN10BulletBillD0Ev ✅ verified 1
src/_ZN10BulletBillD1Ev.c _ZN10BulletBillD1Ev ✅ verified 1
src/_ZN10ChainChomp13InitResourcesEv.cpp _ZN10ChainChomp13InitResourcesEv ✅ verified 1
src/_ZN10ChainChomp6RenderEv.cpp _ZN10ChainChomp6RenderEv ✅ verified 1
src/_ZN10ChainChomp8BehaviorEv.cpp _ZN10ChainChomp8BehaviorEv ✅ verified 1
src/_ZN10ChainChompD0Ev.cpp _ZN10ChainChompD0Ev ✅ benign (equivalent veneer/twin) 3 (+2 passenger)
src/_ZN10ChainChompD1Ev.cpp _ZN10ChainChompD1Ev ✅ benign (equivalent veneer/twin) 3 (+2 passenger)
src/_ZN10CheepCheep13InitResourcesEv.cpp _ZN10CheepCheep13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 2 (+1 passenger)
src/_ZN10CheepCheep6RenderEv.cpp _ZN10CheepCheep6RenderEv ✅ verified 1
src/_ZN10CheepCheep8BehaviorEv.cpp _ZN10CheepCheep8BehaviorEv ✅ verified 1
src/_ZN10CheepCheepD0Ev.c _ZN10CheepCheepD0Ev ✅ verified 1
src/_ZN10CheepCheepD1Ev.c _ZN10CheepCheepD1Ev ✅ verified 1
src/_ZN10ClsnResultC1Ev.c _ZN10ClsnResultC1Ev ✅ verified 1
src/_ZN10ClsnResultD1Ev.c _ZN10ClsnResultD1Ev ✅ verified 1
src/_ZN10ClsnResultaSERKS_.cpp _ZN10ClsnResultaSERKS_ ✅ 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/_ZN10DonutBlockD0Ev.c _ZN10DonutBlockD0Ev ✅ 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) 2 (+1 passenger)
src/_ZN10FlameChomp6RenderEv.cpp _ZN10FlameChomp6RenderEv ✅ verified 1
src/_ZN10FlameChomp8BehaviorEv.cpp _ZN10FlameChomp8BehaviorEv ✅ verified 1
src/_ZN10FlameChompD0Ev.c _ZN10FlameChompD0Ev ✅ verified 1
src/_ZN10HootTheOwl13InitResourcesEv.cpp _ZN10HootTheOwl13InitResourcesEv ✅ verified 1
src/_ZN10HootTheOwl6RenderEv.cpp _ZN10HootTheOwl6RenderEv ✅ verified 1
src/_ZN10HootTheOwl8BehaviorEv.cpp _ZN10HootTheOwl8BehaviorEv ✅ verified 1
src/_ZN10HootTheOwlD0Ev.c _ZN10HootTheOwlD0Ev ✅ verified 1
src/_ZN10HootTheOwlD1Ev.c _ZN10HootTheOwlD1Ev ✅ verified 1
src/_ZN10KingBobOmb13InitResourcesEv.cpp _ZN10KingBobOmb13InitResourcesEv ✅ verified 2 (+1 passenger)
src/_ZN10KingBobOmb6RenderEv.cpp _ZN10KingBobOmb6RenderEv ✅ verified 1
src/_ZN10KingBobOmb8BehaviorEv.cpp _ZN10KingBobOmb8BehaviorEv ✅ verified 2 (+1 passenger)
src/_ZN10KingBobOmbD0Ev.c _ZN10KingBobOmbD0Ev ✅ verified 1
src/_ZN10KingBobOmbD1Ev.c _ZN10KingBobOmbD1Ev ✅ verified 1
src/_ZN10KoopaShell13InitResourcesEv.cpp _ZN10KoopaShell13InitResourcesEv ✅ verified 1
src/_ZN10KoopaShell16CleanupResourcesEv.cpp _ZN10KoopaShell16CleanupResourcesEv ✅ verified 1
src/_ZN10KoopaShell16OnPendingDestroyEv.cpp _ZN10KoopaShell16OnPendingDestroyEv ✅ verified 1
src/_ZN10KoopaShell6RenderEv.cpp _ZN10KoopaShell6RenderEv ✅ verified 1
src/_ZN10KoopaShell8BehaviorEv.cpp _ZN10KoopaShell8BehaviorEv ✅ verified 1
src/_ZN10KoopaShellD0Ev.c _ZN10KoopaShellD0Ev ✅ verified 1
src/_ZN10KoopaShellD1Ev.c _ZN10KoopaShellD1Ev ✅ verified 1
src/_ZN10LavaBubble13InitResourcesEv.cpp _ZN10LavaBubble13InitResourcesEv ✅ verified 1
src/_ZN10LavaBubble16CleanupResourcesEv.cpp _ZN10LavaBubble16CleanupResourcesEv ✅ verified 1
src/_ZN10LavaBubble16OnPendingDestroyEv.cpp _ZN10LavaBubble16OnPendingDestroyEv ✅ verified 1
src/_ZN10LavaBubble6RenderEv.cpp _ZN10LavaBubble6RenderEv ✅ verified 1
src/_ZN10LavaBubble8BehaviorEv.cpp _ZN10LavaBubble8BehaviorEv ✅ verified 1
src/_ZN10LavaBubbleD0Ev.c _ZN10LavaBubbleD0Ev ✅ verified 1
src/_ZN10LavaBubbleD1Ev.c _ZN10LavaBubbleD1Ev ✅ verified 1
src/_ZN10ModelAnim213Func_020162C4Eji5Fix12IiEt.c _ZN10ModelAnim213Func_020162C4Eji5Fix12IiEt ✅ verified 1
src/_ZN10ModelAnim24CopyERKS_Pcj.cpp _ZN10ModelAnim24CopyERKS_Pcj ✅ verified 1
src/_ZN10ModelAnim2C1Ev.c _ZN10ModelAnim2C1Ev ✅ 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/_ZN10MrBlizzardD0Ev.c _ZN10MrBlizzardD0Ev ✅ verified 1
src/_ZN10MrBlizzardD1Ev.c _ZN10MrBlizzardD1Ev ✅ verified 1
src/_ZN10PyramidTag13InitResourcesEv.cpp _ZN10PyramidTag13InitResourcesEv ✅ verified 1
src/_ZN10PyramidTag8BehaviorEv.cpp _ZN10PyramidTag8BehaviorEv ✅ verified 1
src/_ZN10PyramidTagD0Ev.c _ZN10PyramidTagD0Ev ✅ 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/_ZN10PyramidTopD0Ev.c _ZN10PyramidTopD0Ev ✅ verified 1
src/_ZN10PyramidTopD1Ev.c _ZN10PyramidTopD1Ev ✅ verified 1
src/_ZN10RickshawBs13InitResourcesEv.c _ZN10RickshawBs13InitResourcesEv ✅ verified 1
src/_ZN10RickshawBs16CleanupResourcesEv.c _ZN10RickshawBs16CleanupResourcesEv ✅ verified 1
src/_ZN10RickshawBsD0Ev.c _ZN10RickshawBsD0Ev ✅ verified 1
src/_ZN10RickshawBsD1Ev.c _ZN10RickshawBsD1Ev ✅ 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/_ZN10ScuttlebugD0Ev.c _ZN10ScuttlebugD0Ev ✅ verified 1
src/_ZN10ShutterBob13InitResourcesEv.cpp _ZN10ShutterBob13InitResourcesEv ✅ verified 1
src/_ZN10ShutterBob16CleanupResourcesEv.cpp _ZN10ShutterBob16CleanupResourcesEv ✅ verified 1
src/_ZN10ShutterBob8BehaviorEv.cpp _ZN10ShutterBob8BehaviorEv ✅ verified 1
src/_ZN10ShutterBobD0Ev.c _ZN10ShutterBobD0Ev ✅ verified 1
src/_ZN10ShutterBobD1Ev.c _ZN10ShutterBobD1Ev ✅ verified 1
src/_ZN10ShutterHmc13InitResourcesEv.cpp _ZN10ShutterHmc13InitResourcesEv ✅ verified 1
src/_ZN10ShutterHmc16CleanupResourcesEv.cpp _ZN10ShutterHmc16CleanupResourcesEv ✅ verified 1
src/_ZN10ShutterHmc8BehaviorEv.cpp _ZN10ShutterHmc8BehaviorEv ✅ verified 1
src/_ZN10ShutterHmcD0Ev.c _ZN10ShutterHmcD0Ev ✅ verified 1
src/_ZN10ShutterHmcD1Ev.c _ZN10ShutterHmcD1Ev ✅ verified 1
src/_ZN10SlidingIce13InitResourcesEv.cpp _ZN10SlidingIce13InitResourcesEv ✅ verified 1
src/_ZN10SlidingIce16CleanupResourcesEv.cpp _ZN10SlidingIce16CleanupResourcesEv ✅ verified 1
src/_ZN10SlidingIce6RenderEv.cpp _ZN10SlidingIce6RenderEv ✅ verified 1
src/_ZN10SlidingIce8BehaviorEv.cpp _ZN10SlidingIce8BehaviorEv ✅ verified 1
src/_ZN10SlidingIceD0Ev.c _ZN10SlidingIceD0Ev ✅ verified 1
src/_ZN10SlidingIceD1Ev.c _ZN10SlidingIceD1Ev ✅ verified 1
src/_ZN10SphereClsn15SetObjAndSphereERK7Vector35Fix12IiEP5Actor.c _ZN10SphereClsn15SetObjAndSphereERK7Vector35Fix12IiEP5Actor ✅ verified 1
src/_ZN10SphereClsnC1Ev.c _ZN10SphereClsnC1Ev ✅ verified 1
src/_ZN10SphereClsnD1Ev.c _ZN10SphereClsnD1Ev ✅ 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/_ZN10StarMarkerD0Ev.c _ZN10StarMarkerD0Ev ✅ verified 1
src/_ZN10StarSwitch13InitResourcesEv.cpp _ZN10StarSwitch13InitResourcesEv ✅ verified 1
src/_ZN10StarSwitch16CleanupResourcesEv.cpp _ZN10StarSwitch16CleanupResourcesEv ✅ verified 1
src/_ZN10StarSwitch6RenderEv.cpp _ZN10StarSwitch6RenderEv ✅ verified 1
src/_ZN10StarSwitch8BehaviorEv.cpp _ZN10StarSwitch8BehaviorEv ✅ verified 1
src/_ZN10StarSwitchD0Ev.c _ZN10StarSwitchD0Ev ✅ 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/_ZN11BabyPenguinD0Ev.c _ZN11BabyPenguinD0Ev ✅ verified 1
src/_ZN11BobOmbBuddy13InitResourcesEv.cpp _ZN11BobOmbBuddy13InitResourcesEv ✅ verified 2 (+1 passenger)
src/_ZN11BobOmbBuddy6RenderEv.cpp _ZN11BobOmbBuddy6RenderEv ✅ verified 1
src/_ZN11BobOmbBuddy8BehaviorEv.cpp _ZN11BobOmbBuddy8BehaviorEv ✅ verified 2 (+1 passenger)
src/_ZN11BobOmbBuddyD0Ev.c _ZN11BobOmbBuddyD0Ev ✅ verified 1
src/_ZN11CannonHatch13InitResourcesEv.cpp _ZN11CannonHatch13InitResourcesEv ✅ verified 1
src/_ZN11CannonHatch16CleanupResourcesEv.cpp _ZN11CannonHatch16CleanupResourcesEv ✅ verified 1
src/_ZN11CannonHatch6RenderEv.cpp _ZN11CannonHatch6RenderEv ✅ verified 1
src/_ZN11CannonHatchD0Ev.c _ZN11CannonHatchD0Ev ✅ verified 1
src/_ZN11CannonHatchD1Ev.c _ZN11CannonHatchD1Ev ✅ verified 1
src/_ZN11CastleWater13InitResourcesEv.cpp _ZN11CastleWater13InitResourcesEv ✅ verified 1
src/_ZN11CastleWater16CleanupResourcesEv.cpp _ZN11CastleWater16CleanupResourcesEv ✅ verified 1
src/_ZN11CastleWater6RenderEv.cpp _ZN11CastleWater6RenderEv ✅ verified 1
src/_ZN11CastleWater8BehaviorEv.cpp _ZN11CastleWater8BehaviorEv ✅ verified 1
src/_ZN11CastleWaterD0Ev.c _ZN11CastleWaterD0Ev ✅ verified 1
src/_ZN11CastleWaterD1Ev.c _ZN11CastleWaterD1Ev ✅ verified 1
src/_ZN11ChiefChilly13InitResourcesEv.cpp _ZN11ChiefChilly13InitResourcesEv ✅ verified 2 (+1 passenger)
src/_ZN11ChiefChilly16CleanupResourcesEv.cpp _ZN11ChiefChilly16CleanupResourcesEv ✅ verified 1
src/_ZN11ChiefChilly16OnPendingDestroyEv.cpp _ZN11ChiefChilly16OnPendingDestroyEv ✅ verified 1
src/_ZN11ChiefChilly6RenderEv.cpp _ZN11ChiefChilly6RenderEv ✅ verified 1
src/_ZN11ChiefChilly8BehaviorEv.cpp _ZN11ChiefChilly8BehaviorEv ✅ verified 2 (+1 passenger)
src/_ZN11ChiefChillyD0Ev.cpp _ZN11ChiefChillyD0Ev ✅ benign (equivalent veneer/twin) 3 (+2 passenger)
src/_ZN11ChiefChillyD1Ev.cpp _ZN11ChiefChillyD1Ev ✅ benign (equivalent veneer/twin) 3 (+2 passenger)
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 2 (+1 passenger)
src/_ZN11CrazedCrate6RenderEv.cpp _ZN11CrazedCrate6RenderEv ✅ verified 1
src/_ZN11CrazedCrate8BehaviorEv.cpp _ZN11CrazedCrate8BehaviorEv ✅ verified 1
src/_ZN11CrazedCrateD0Ev.c _ZN11CrazedCrateD0Ev ✅ verified 1
src/_ZN11FallBlockWfD0Ev.c _ZN11FallBlockWfD0Ev 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN11FallBlockWfD1Ev.c _ZN11FallBlockWfD1Ev 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN11MirrorLuigi13InitResourcesEv.cpp _ZN11MirrorLuigi13InitResourcesEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN11MirrorLuigi6RenderEv.cpp _ZN11MirrorLuigi6RenderEv ✅ verified 1
src/_ZN11MirrorLuigi8BehaviorEv.cpp _ZN11MirrorLuigi8BehaviorEv ✅ verified 1
src/_ZN11MirrorLuigiD0Ev.c _ZN11MirrorLuigiD0Ev ✅ 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/_ZN11PyramidStepD0Ev.c _ZN11PyramidStepD0Ev ✅ verified 1
src/_ZN11PyramidStepD1Ev.c _ZN11PyramidStepD1Ev ✅ verified 1
src/_ZN11RaycastLine4Line3SetERK7Vector3S3_.c _ZN11RaycastLine4Line3SetERK7Vector3S3_ ✅ verified 1
src/_ZN11RaycastLineD1Ev.c _ZN11RaycastLineD1Ev ✅ verified 1
src/_ZN11RickshawBdw13InitResourcesEv.c _ZN11RickshawBdw13InitResourcesEv ✅ verified 1
src/_ZN11RickshawBdw16CleanupResourcesEv.c _ZN11RickshawBdw16CleanupResourcesEv ✅ verified 1
src/_ZN11RickshawBdwD0Ev.c _ZN11RickshawBdwD0Ev ✅ verified 1
src/_ZN11RickshawBdwD1Ev.c _ZN11RickshawBdwD1Ev ✅ verified 1
src/_ZN11RollingRock13InitResourcesEv.cpp _ZN11RollingRock13InitResourcesEv ✅ verified 1
src/_ZN11RollingRock6RenderEv.cpp _ZN11RollingRock6RenderEv ✅ verified 1
src/_ZN11RollingRockD0Ev.c _ZN11RollingRockD0Ev ✅ verified 1
src/_ZN11RollingRockD1Ev.c _ZN11RollingRockD1Ev ✅ verified 1
src/_ZN11ShadowModel10InitCuboidEv.cpp _ZN11ShadowModel10InitCuboidEv ✅ verified 1
src/_ZN11ShadowModel12InitCylinderEv.cpp _ZN11ShadowModel12InitCylinderEv 🔶 no-sym 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 2 (+1 passenger)
src/_ZN11SnowmanBody6RenderEv.cpp _ZN11SnowmanBody6RenderEv ✅ verified 1
src/_ZN11SnowmanBody8BehaviorEv.cpp _ZN11SnowmanBody8BehaviorEv ✅ verified 1
src/_ZN11SnowmanBodyD0Ev.c _ZN11SnowmanBodyD0Ev ✅ verified 1
src/_ZN11SnowmanHead13InitResourcesEv.cpp _ZN11SnowmanHead13InitResourcesEv ✅ verified 2 (+1 passenger)
src/_ZN11SnowmanHead6RenderEv.cpp _ZN11SnowmanHead6RenderEv ✅ verified 1
src/_ZN11SnowmanHead8BehaviorEv.cpp _ZN11SnowmanHead8BehaviorEv ✅ verified 1
src/_ZN11SnowmanHeadD0Ev.c _ZN11SnowmanHeadD0Ev ✅ verified 1
src/_ZN11SoundObject13InitResourcesEv.c _ZN11SoundObject13InitResourcesEv ✅ verified 1
src/_ZN11SoundObject8BehaviorEv.cpp _ZN11SoundObject8BehaviorEv ✅ verified 1
src/_ZN11SoundObjectD0Ev.c _ZN11SoundObjectD0Ev ✅ verified 1
src/_ZN11VirtualDoor13InitResourcesEv.cpp _ZN11VirtualDoor13InitResourcesEv ✅ verified 1
src/_ZN11VirtualDoor16CleanupResourcesEv.cpp _ZN11VirtualDoor16CleanupResourcesEv ✅ verified 1
src/_ZN11VirtualDoor16OnPendingDestroyEv.cpp _ZN11VirtualDoor16OnPendingDestroyEv ✅ verified 1
src/_ZN11VirtualDoor6RenderEv.cpp _ZN11VirtualDoor6RenderEv ✅ verified 1
src/_ZN11VirtualDoor8BehaviorEv.cpp _ZN11VirtualDoor8BehaviorEv ✅ verified 1
src/_ZN11VirtualDoorD0Ev.c _ZN11VirtualDoorD0Ev ✅ verified 1
src/_ZN11WingFeather13InitResourcesEv.cpp _ZN11WingFeather13InitResourcesEv ✅ verified 1
src/_ZN11WingFeather6RenderEv.cpp _ZN11WingFeather6RenderEv ✅ verified 1
src/_ZN11WingFeather8BehaviorEv.cpp _ZN11WingFeather8BehaviorEv ✅ verified 1
src/_ZN11WingFeatherD0Ev.c _ZN11WingFeatherD0Ev ✅ verified 1
src/_ZN11dScMgCoin_c13InitResourcesEv.cpp _ZN11dScMgCoin_c13InitResourcesEv ✅ verified 1
src/_ZN11dScMgCoin_c13OnYoshiTryEatEv.cpp _ZN11dScMgCoin_c13OnYoshiTryEatEv ✅ verified 1
src/_ZN11dScMgCoin_c6RenderEv.cpp _ZN11dScMgCoin_c6RenderEv ✅ verified 1
src/_ZN11dScMgCoin_c8BehaviorEv.cpp _ZN11dScMgCoin_c8BehaviorEv ✅ verified 1
src/_ZN12ActorDerived18AfterInitResourcesEj.cpp _ZN12ActorDerived18AfterInitResourcesEj 🔶 no-sym 3 (+2 passenger)
src/_ZN12ActorDerivedD1Ev.cpp _ZN12ActorDerivedD1Ev ✅ benign (equivalent veneer/twin) 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 2 (+1 passenger)
src/_ZN12CylinderClsnC2Ev.cpp _ZN12CylinderClsnC2Ev ✅ verified 1
src/_ZN12CylinderClsnD1Ev.c _ZN12CylinderClsnD1Ev ✅ verified 1
src/_ZN12CylinderClsnD2Ev.c _ZN12CylinderClsnD2Ev ✅ verified 1
src/_ZN12EnemySpawner13InitResourcesEv.cpp _ZN12EnemySpawner13InitResourcesEv ✅ verified 1
src/_ZN12EnemySpawnerD0Ev.c _ZN12EnemySpawnerD0Ev ✅ verified 1
src/_ZN12FallBlockBfsD0Ev.c _ZN12FallBlockBfsD0Ev 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN12FallBlockBfsD1Ev.c _ZN12FallBlockBfsD1Ev 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN12FallBlockLll13InitResourcesEv.cpp _ZN12FallBlockLll13InitResourcesEv ✅ verified 1
src/_ZN12FallBlockLll16CleanupResourcesEv.cpp _ZN12FallBlockLll16CleanupResourcesEv ✅ verified 1
src/_ZN12FallBlockLll8BehaviorEv.cpp _ZN12FallBlockLll8BehaviorEv ✅ verified 1
src/_ZN12FallBlockLllD0Ev.c _ZN12FallBlockLllD0Ev 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN12FallBlockLllD1Ev.c _ZN12FallBlockLllD1Ev 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN12Flamethrower13InitResourcesEv.cpp _ZN12Flamethrower13InitResourcesEv ✅ verified 1
src/_ZN12FlamethrowerD0Ev.cpp _ZN12FlamethrowerD0Ev ✅ verified 1
src/_ZN12FlamethrowerD1Ev.cpp _ZN12FlamethrowerD1Ev ✅ verified 1
src/_ZN12FortressWall13InitResourcesEv.cpp _ZN12FortressWall13InitResourcesEv ✅ verified 1
src/_ZN12FortressWall16CleanupResourcesEv.cpp _ZN12FortressWall16CleanupResourcesEv ✅ verified 1
src/_ZN12FortressWall6RenderEv.cpp _ZN12FortressWall6RenderEv ✅ verified 1
src/_ZN12FortressWallD0Ev.c _ZN12FortressWallD0Ev ✅ 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/_ZN12HauntedChairD0Ev.c _ZN12HauntedChairD0Ev ✅ verified 1
src/_ZN12MeshCollider10DetectClsnER13RaycastGround.cpp _ZN12MeshCollider10DetectClsnER13RaycastGround ✅ verified 1
src/_ZN12MeshCollider14GetSurfaceInfoEsR11SurfaceInfo.cpp _ZN12MeshCollider14GetSurfaceInfoEsR11SurfaceInfo ✅ verified 2 (+1 passenger)
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/_ZN12MeshColliderC1Ev.c _ZN12MeshColliderC1Ev ✅ verified 1
src/_ZN12MeshColliderD0Ev.c _ZN12MeshColliderD0Ev ✅ verified 1
src/_ZN12MeshColliderD1Ev.cpp _ZN12MeshColliderD1Ev ✅ benign (equivalent veneer/twin) 3 (+2 passenger)
src/_ZN12MeshColliderD2Ev.c _ZN12MeshColliderD2Ev ✅ verified 1
src/_ZN12MetalNetLift13InitResourcesEv.cpp _ZN12MetalNetLift13InitResourcesEv ✅ verified 1
src/_ZN12MetalNetLift16CleanupResourcesEv.cpp _ZN12MetalNetLift16CleanupResourcesEv ✅ verified 1
src/_ZN12MetalNetLiftD0Ev.c _ZN12MetalNetLiftD0Ev ✅ verified 1
src/_ZN12MetalNetLiftD1Ev.c _ZN12MetalNetLiftD1Ev ✅ verified 1
src/_ZN12PiranhaPlant16CleanupResourcesEv.cpp _ZN12PiranhaPlant16CleanupResourcesEv ✅ verified 1
src/_ZN12PiranhaPlant6RenderEv.cpp _ZN12PiranhaPlant6RenderEv ✅ verified 1
src/_ZN12PiranhaPlant8BehaviorEv.cpp _ZN12PiranhaPlant8BehaviorEv ✅ verified 1
src/_ZN12PiranhaPlantD0Ev.c _ZN12PiranhaPlantD0Ev ✅ verified 1
src/_ZN12PiranhaPlantD1Ev.c _ZN12PiranhaPlantD1Ev ✅ 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/_ZN12SwitchPillarD0Ev.c _ZN12SwitchPillarD0Ev ✅ verified 1
src/_ZN12SwitchPillarD1Ev.c _ZN12SwitchPillarD1Ev ✅ verified 1
src/_ZN12WaterSuction13InitResourcesEv.cpp _ZN12WaterSuction13InitResourcesEv ✅ verified 1
src/_ZN12WaterSuction8BehaviorEv.cpp _ZN12WaterSuction8BehaviorEv ✅ verified 1
src/_ZN12WaterSuctionD0Ev.c _ZN12WaterSuctionD0Ev ✅ verified 1
src/_ZN12WaterSuctionD1Ev.c _ZN12WaterSuctionD1Ev ✅ verified 1
src/_ZN12WithMeshClsn13SetGroundFlagEv.cpp _ZN12WithMeshClsn13SetGroundFlagEv ✅ verified 1
src/_ZN12WithMeshClsn13SetLimMovFlagEv.cpp _ZN12WithMeshClsn13SetLimMovFlagEv ✅ verified 1
src/_ZN12WithMeshClsn15ClearGroundFlagEv.cpp _ZN12WithMeshClsn15ClearGroundFlagEv ✅ verified 1
src/_ZN12WithMeshClsn15ClearLimMovFlagEv.cpp _ZN12WithMeshClsn15ClearLimMovFlagEv ✅ verified 1
src/_ZN12WithMeshClsn16UpdateContinuousEv.cpp _ZN12WithMeshClsn16UpdateContinuousEv ✅ verified 1
src/_ZN12WithMeshClsn18StopDetectingWaterEv.cpp _ZN12WithMeshClsn18StopDetectingWaterEv ✅ verified 1
src/_ZN12WithMeshClsn19ClearAllGroundFlagsEv.cpp _ZN12WithMeshClsn19ClearAllGroundFlagsEv ✅ verified 1
src/_ZN12WithMeshClsn19StartDetectingWaterEv.cpp _ZN12WithMeshClsn19StartDetectingWaterEv ✅ verified 1
src/_ZN12WithMeshClsn20UpdateDiscreteNoLavaEv.cpp _ZN12WithMeshClsn20UpdateDiscreteNoLavaEv ✅ verified 2 (+1 passenger)
src/_ZN12WithMeshClsn20UpdateExtraContinousEv.cpp _ZN12WithMeshClsn20UpdateExtraContinousEv ✅ verified 2 (+1 passenger)
src/_ZN12WithMeshClsn22ClearJustHitGroundFlagEv.cpp _ZN12WithMeshClsn22ClearJustHitGroundFlagEv ✅ verified 1
src/_ZN12WithMeshClsn22UpdateContinuousNoLavaEv.cpp _ZN12WithMeshClsn22UpdateContinuousNoLavaEv ✅ verified 1
src/_ZN12WithMeshClsn22UpdateDiscreteNoLava_2Ev.cpp _ZN12WithMeshClsn22UpdateDiscreteNoLava_2Ev ✅ verified 2 (+1 passenger)
src/_ZN12WithMeshClsn4InitEP5Actor5Fix12IiES3_P10Vector3_16S5_.c _ZN12WithMeshClsn4InitEP5Actor5Fix12IiES3_P10Vector3_16S5_ ✅ verified 1
src/_ZN12WithMeshClsnC1Ev.c _ZN12WithMeshClsnC1Ev ✅ verified 1
src/_ZN12WorkElevator16CleanupResourcesEv.cpp _ZN12WorkElevator16CleanupResourcesEv ✅ verified 1
src/_ZN12WorkElevator6RenderEv.cpp _ZN12WorkElevator6RenderEv ✅ verified 1
src/_ZN12WorkElevatorD0Ev.c _ZN12WorkElevatorD0Ev ✅ verified 1
src/_ZN12WorkElevatorD1Ev.cpp _ZN12WorkElevatorD1Ev ✅ verified 1
src/_ZN13BigBrickBlock13InitResourcesEv.c _ZN13BigBrickBlock13InitResourcesEv ✅ verified 1
src/_ZN13BigBrickBlock16CleanupResourcesEv.cpp _ZN13BigBrickBlock16CleanupResourcesEv ✅ verified 1
src/_ZN13BigBrickBlock6RenderEv.cpp _ZN13BigBrickBlock6RenderEv ✅ verified 1
src/_ZN13BigBrickBlock8BehaviorEv.cpp _ZN13BigBrickBlock8BehaviorEv ✅ verified 1
src/_ZN13BigBrickBlockD0Ev.c _ZN13BigBrickBlockD0Ev ✅ 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/_ZN13ExpandingHeapC1EPvjP4HeapP22ExpandingHeapAllocator.c _ZN13ExpandingHeapC1EPvjP4HeapP22ExpandingHeapAllocator ✅ 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/_ZN13FortressTowerD0Ev.c _ZN13FortressTowerD0Ev ✅ verified 1
src/_ZN13FortressTowerD1Ev.c _ZN13FortressTowerD1Ev ✅ verified 1
src/_ZN13HeapAllocator6RemoveEv.cpp _ZN13HeapAllocator6RemoveEv ✅ verified 1
src/_ZN13HeapAllocatorC1EjPvPvj.cpp _ZN13HeapAllocatorC1EjPvPvj ✅ verified 1
src/_ZN13InvisiblePole13InitResourcesEv.cpp _ZN13InvisiblePole13InitResourcesEv ✅ verified 1
src/_ZN13InvisiblePole16CleanupResourcesEv.cpp _ZN13InvisiblePole16CleanupResourcesEv ✅ verified 1
src/_ZN13InvisiblePole16OnPendingDestroyEv.cpp _ZN13InvisiblePole16OnPendingDestroyEv ✅ verified 1
src/_ZN13InvisiblePole6RenderEv.cpp _ZN13InvisiblePole6RenderEv ✅ verified 1
src/_ZN13InvisiblePole8BehaviorEv.cpp _ZN13InvisiblePole8BehaviorEv ✅ verified 1
src/_ZN13KoopaTheQuick13InitResourcesEv.cpp _ZN13KoopaTheQuick13InitResourcesEv ✅ verified 1
src/_ZN13KoopaTheQuick16CleanupResourcesEv.cpp _ZN13KoopaTheQuick16CleanupResourcesEv ✅ verified 1
src/_ZN13KoopaTheQuick6RenderEv.cpp _ZN13KoopaTheQuick6RenderEv

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.

Base automatically changed from cpp/platform-layout-a to main August 10, 2026 16:51
@andrewboudreau andrewboudreau added the attribution-override Maintainer accepts this PR's contributor-credit changes; validation reports them as warnings label Aug 10, 2026
@andrewboudreau
andrewboudreau force-pushed the cpp/layout-headergen branch 2 times, most recently from 5eb732f to 6b92223 Compare August 10, 2026 18:27
andrewboudreau and others added 4 commits August 10, 2026 14:10
…ructor

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
…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
…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
andrewboudreau merged commit fd0b771 into main Aug 10, 2026
3 checks passed
@andrewboudreau
andrewboudreau deleted the cpp/layout-headergen branch August 10, 2026 20:14
andrewboudreau added a commit that referenced this pull request Aug 11, 2026
…#1393)

The file has not compiled since it gained `#include "decl_common.h"`. That header
declares

    extern void func_ov002_020bdd2c(void*);
    extern void func_02073244(void*, int, int, void (*)(void*));

inside `extern "C"`, and the file then declared the same names again taking `char *`
and `(int, int, int, void (*)(void))`. Same C linkage, different parameter types, so
it is not a redeclaration but an attempt to overload a C-linkage name -- which
mwccarm rejects outright:

    src/_ZN6Player16CleanupResourcesEv.cpp:17: illegal function overloading
    ... :18, :19, :20, :23
    Errors caused tool to abort.

Nothing caught it, because the failure removes the file from every gate that could
have. A file that will not compile is not eligible, so it is not enrolled; its
delinks entry has no `complete`, so dsd hands the range to the original ROM bytes and
the build stays 106/106 without ever touching the source. It went unbuilt through
#919, #994, #1032 and #1382 -- the last of which edited it.

Fix is to declare only what decl_common.h does not. The three that remain are absent
from it; `_ZN7Vector3D1Ev` is spelled with the `this` it actually takes, which is
also what makes the `func_02073244` argument type-correct without a cast.

THE FUNCTION IS A BYTE MATCH. Once it compiles, all 0x730 bytes at 0x020e32d4 in
ov002 reproduce under the pin, with correct relocation destinations -- so this is not
a repair of a near-miss but the recovery of a match that has been sitting unreadable
in the tree. Enrolled here rather than left as rombytes.

VERIFIED

  build_pin      (True, '2004/b56') at 0x020e32d4, size 0x730, ov002
  pr_linkcheck   ok, 1 slot, correct destinations
  eligible.py    10,814 / 11,162 -- main is 10,813, and the diff is this symbol alone
  rombuild -j16  106/106 exact, 10,814 source-built, 0 mismatching, 87.88% -> 87.96%

Found while diagnosing why #1390's validation reported a worker error: with the
NameError in tools/pr_linkcheck.py fixed (#1392), the gate could finally grade this
file, and graded it NO-SYM. The verdict is correct and predates #1390 -- clean main
fails to compile it identically.


Claude-Session: https://claude.ai/code/session_01XxDmkQ47fWa3GB6mj8xEQe

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

attribution-override Maintainer accepts this PR's contributor-credit changes; validation reports them as warnings

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants