Skip to content

Reconstruct five scene profile pairs - #2138

Merged
andrewboudreau merged 2 commits into
mainfrom
cpp/profile-reconstruction-wave8
Sep 2, 2026
Merged

Reconstruct five scene profile pairs#2138
andrewboudreau merged 2 commits into
mainfrom
cpp/profile-reconstruction-wave8

Conversation

@andrewboudreau

Copy link
Copy Markdown
Collaborator

Stacked on #2137. Reconstructs the registry-facing factory/profile pairs for BOOT, DSMT, TITLE, STAGE, and STAR_SELECT as lineage-supported source-style names: dScBoot_c_classInit / g_profile_BOOT; dScDSMT_c_classInit / g_profile_DSMT; dScTitle_c_classInit / g_profile_TITLE; dScStage_c_classInit / g_profile_STAGE; dScStarSel_c_classInit / g_profile_STAR_SELECT. The STAGE factory deliberately retains the project's Stage implementation type; this PR reconstructs registry symbols, not the underlying class representation. Exact original SM64DS spellings are not claimed. No source-owned profile descriptor data is invented. Validation: all five factories match 2004/b56 with strict relocation checks; 34 affected sources checked (33 VERIFIED, one pre-existing non-blocking BLIND-2 warning); five history-preserving path moves with attribution intact; 98/98 reconstructed TUs compile; 11,088/11,088 source functions and 4/4 source data claims reproduce; 106/106 modules exact; repository reference, attribution, compatibility, language-mode, and dead-reference gates pass.

@tangos-validator

tangos-validator Bot commented Sep 1, 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
Byte-verified functions 10,765 / 11,347 (94.87%, +0)
Byte-verified code bytes 2,002,192 / 2,211,124 (90.55%, +0)
Claimed, not byte-verified 452 functions, 103,488 bytes (+0)
Perfect source moves 0 R100
Enrolled ranges (delinks complete) 11,059 functions, 2,053,148 bytes (92.86%, +0) -- differs from byte-verified by +294
Contributor credit 0 added, 0 changed, 0 lost
Relocation check 34 checked; 1 BLIND, 33 VERIFIED
Port reference check 405 checked; 0 stale
Module fidelity 106/106 exact; 100.000000% compared bytes
Code linked from verified source 11,088 functions, 2,067,148 bytes (93.49%)
Module bytes from source 2,067,148 / 3,049,600 (67.8%); 811,492 (26.6%) are data no delink entry reaches
ROM data reproduced from source 564 symbol(s) exact, 161 partial, 5 differ

Byte-verified means the range carries complete in a delinks.txt, so the ROM build compiled it and compared it to the cartridge. The 452 claimed functions have a src/ file named after the symbol with no NONMATCHING banner, and nothing compiles them -- dsd fills their addresses with the ROM's own bytes. Both together are the 11,217 this project calls matched.

Warnings: 1 linkcheck result(s) have unresolved relocations.

Per-file link-check detail

All 34 changed file(s) compile to the ROM byte-for-byte with correct relocation targets.

File Symbol Result Slots checked
src/_ZN10dFdDummy_c11AdvanceFadeEv.cpp _ZN10dFdDummy_c11AdvanceFadeEv ✅ verified 1
src/_ZN10dFdDummy_c14SetForwardTimeEj.cpp _ZN10dFdDummy_c14SetForwardTimeEj ✅ verified 1
src/_ZN10dFdDummy_c15SetBackwardTimeEj.cpp _ZN10dFdDummy_c15SetBackwardTimeEj ✅ verified 1
src/_ZN10dFdDummy_cD0Ev.cpp _ZN10dFdDummy_cD0Ev ✅ verified 1
src/_ZN10dFdDummy_cD1Ev.cpp _ZN10dFdDummy_cD1Ev ✅ verified 1
src/_ZN10dScTitle_c13InitResourcesEv.cpp _ZN10dScTitle_c13InitResourcesEv ✅ verified 1
src/_ZN10dScTitle_c16CleanupResourcesEv.cpp _ZN10dScTitle_c16CleanupResourcesEv ✅ verified 1
src/_ZN10dScTitle_c16OnPendingDestroyEv.cpp _ZN10dScTitle_c16OnPendingDestroyEv ✅ verified 1
src/_ZN10dScTitle_c6RenderEv.cpp _ZN10dScTitle_c6RenderEv ✅ verified 1
src/_ZN10dScTitle_c8BehaviorEv.cpp _ZN10dScTitle_c8BehaviorEv ✅ verified 1
src/_ZN10dScTitle_cD0Ev.cpp _ZN10dScTitle_cD0Ev ✅ verified 1
src/_ZN10dScTitle_cD1Ev.cpp _ZN10dScTitle_cD1Ev ✅ verified 1
src/_ZN12dScStarSel_c16CleanupResourcesEv.cpp _ZN12dScStarSel_c16CleanupResourcesEv ✅ verified 1
src/_ZN12dScStarSel_c16OnPendingDestroyEv.cpp _ZN12dScStarSel_c16OnPendingDestroyEv ✅ verified 1
src/_ZN12dScStarSel_cD0Ev.cpp _ZN12dScStarSel_cD0Ev ✅ verified 1
src/_ZN12dScStarSel_cD1Ev.cpp _ZN12dScStarSel_cD1Ev ✅ verified 1
src/_ZN9BootScene13InitResourcesEv.cpp _ZN9BootScene13InitResourcesEv ✅ verified 1
src/_ZN9BootScene8BehaviorEv.cpp _ZN9BootScene8BehaviorEv ✅ verified 1
src/_ZN9BootSceneD0Ev.cpp _ZN9BootSceneD0Ev ✅ verified 1
src/_ZN9BootSceneD1Ev.cpp _ZN9BootSceneD1Ev ✅ verified 1
src/_ZN9dScDSMT_c13InitResourcesEv.cpp _ZN9dScDSMT_c13InitResourcesEv ✅ verified 1
src/_ZN9dScDSMT_c15graphCallback_c14GraphCallback0Ev.cpp _ZN9dScDSMT_c15graphCallback_c14GraphCallback0Ev ✅ verified 1
src/_ZN9dScDSMT_c15graphCallback_c14GraphCallback2Ev.cpp _ZN9dScDSMT_c15graphCallback_c14GraphCallback2Ev ✅ verified 1
src/_ZN9dScDSMT_c16CleanupResourcesEv.cpp _ZN9dScDSMT_c16CleanupResourcesEv ✅ verified 1
src/_ZN9dScDSMT_c16OnPendingDestroyEv.cpp _ZN9dScDSMT_c16OnPendingDestroyEv ✅ verified 1
src/_ZN9dScDSMT_c6RenderEv.cpp _ZN9dScDSMT_c6RenderEv ✅ verified 1
src/_ZN9dScDSMT_c8BehaviorEv.cpp _ZN9dScDSMT_c8BehaviorEv 🔶 blind (a reloc slot could not be resolved) 1
src/_ZN9dScDSMT_cD0Ev.cpp _ZN9dScDSMT_cD0Ev ✅ verified 1
src/_ZN9dScDSMT_cD1Ev.cpp _ZN9dScDSMT_cD1Ev ✅ verified 1
src/dScBoot_c_classInit.c dScBoot_c_classInit ✅ verified 1
src/dScDSMT_c_classInit.c dScDSMT_c_classInit ✅ verified 1
src/dScStage_c_classInit.cpp dScStage_c_classInit ✅ verified 1
src/dScStarSel_c_classInit.cpp dScStarSel_c_classInit ✅ verified 1
src/dScTitle_c_classInit.cpp dScTitle_c_classInit ✅ verified 1

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.

@andrewboudreau
andrewboudreau marked this pull request as ready for review September 2, 2026 04:50
Base automatically changed from cpp/profile-reconstruction-wave7 to main September 2, 2026 06:10
@andrewboudreau
andrewboudreau merged commit bd00074 into main Sep 2, 2026
9 checks passed
@andrewboudreau
andrewboudreau deleted the cpp/profile-reconstruction-wave8 branch September 2, 2026 06:11
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.

1 participant