Repository navigation
Split four merged extents and match ten C functions (240 bytes) - #416
Merged
Merged
Conversation
Promote the retained 168-byte Grelbin group traversal and recover nine separately entered no-op callbacks, for ten ordinary-C functions and 240 distinct USA v1.01 code bytes. Their 84 carrying placements span all three releases. The callbacks are real independent entries: fifteen moby class records reach the Grelbin handler, one reaches Aranos Prison's second entry, and complete camera records use the three distinct method slots. Split only the four reviewed level extents, validating complete normalized bodies, original placement families, EE text containment, nonoverlap and typed dispatch witnesses before writing output. Preserve both camera families that coexist in Boldan despite equal bytes. Keep stable identities for both old whole and new split fingerprints, so unrelated methods do not regroup when the rows shrink. Support unchanged replay and historical bootstrap from known placements; reject partial or conflicting metadata. Regenerate the three level tables: four old rows change and six actual entry identities are added per release. Unrelated rows, all boot tables, original ends and total code bytes remain unchanged. Retire the resolved near-miss and functional copies while preserving their previous history. Extend the bounded read-only report check to the exact old unmatched level rows and their complete current child graph. Wrong extents/addresses, partial or matched old credit, partially reported children, duplicate compensation, unknown missing/retired entries and strict staleness fail. No report is rewritten or credited by the exception. Validation in the existing qualified image: - Two generator replays: unchanged output and unrelated rows in US/US2/PAL. - All ten candidates at all 84 carrying placements pass local comparison. - tools/build.py all --strict: 28 OK per release, 84 total, zero C fallback. - Every intended C definition and two controls verified in placed.json. - 382 unit tests, real-Git repository and all three progress checks pass. - Production inputs frozen during qualification; staged text is LF. Work performed alone. No compiler recipe change, progress regeneration, original-assembly classification or native gameplay test in this batch.
Explain why the four merged extents contain ten independent functions, including nine genuine no-op methods and the retained Grelbin traversal. Document the typed dispatch witnesses, preserved camera-family identities, complete-extent guards, stable replay and historical bootstrap behavior. Reconcile the existing blocker entry and link the qualified source commit. Keep Hrugis's unentered return tail and the separate L00 stub family open, without generalizing a named repair to arbitrary return-looking bytes. Describe the bounded report-staleness check without adding a second experiment register or regenerating any report. Validated source names/links and LF bytes. The source passed all 84 strict programs, 382 unit tests, repository and all three progress checks; every intended C placement was checked. This documentation changes no build input.
This was referenced Nov 4, 2026
bigbeno37
added a commit
that referenced
this pull request
Nov 5, 2026
tools/build.py all --strict on master 236cfdf (after #416, #417, #418, #420, 4b786ab, 4d6e47b and 236cfdf): 28 programs OK in each of us, pal and us2. tools/progress.py for each release; --check --strict passes for all three. US 8,173 of 8,584 (91.80%), PAL 7,242 of 8,677 (56.58%), US2 7,932 of 8,639 (86.02%). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Recover the separately entered functions inside four previously merged level catalogue extents and implement ten C functions: one 168-byte entity-group traversal and nine genuine no-op callbacks, 240 distinct USA v1.01 code bytes. Their carrying placements total 28 per release, 84 across USA v1.01, USA v2.00 and PAL.
func_L19_0041C328,func_L19_0041C3D0func_L14_004321C0,func_L14_004321C8func_L13_0043E8C0,func_L13_0043E8C8,func_L13_0043E8D0func_L06_0047C1D0,func_L06_0047C1D8,func_L06_0047C1E0The Grelbin tail is the handler of fifteen distinct moby class records; the second Aranos Prison entry has its own handler record. Each camera activate/update/exit entry occupies a separate slot in a complete camera record. Equal bytes do not collapse the two camera families that coexist in Boldan. Only the named families are repaired, including all seven copies of the L06 family in every release.
Require the complete normalized body, original family/kind/count, EE text containment, nonoverlapping extents and actual typed dispatch witnesses before splitting. Reject partial or conflicting metadata; verify every existing child on replay. Preserve the original ends and total code bytes. Existing identity preservation now includes both the old merged and new split fingerprints, keeping unrelated equal-byte entries unchanged. Historical bootstrap reuses these known placements rather than merging them again.
The three level catalogues are regenerated, with exactly four old rows changed and six independently witnessed identities added in each release. Every unrelated row and boot catalogue remains identical. The bounded read-only progress check recognizes the exact old unmatched merged rows while reports await the maintainer's refresh. Wrong addresses/extents, partial/matched old credit, partially reported children, unknown missing or retired rows, duplicates and strict-mode staleness remain errors.
All matching work was done by one agent from
f9e8de4b, under the contributor's existing #152 reservation. No subagents were used. Previous PR #414 matches are outside this batch. Useful old reconstructions remain recoverable in Git/private state after the resolved copies are retired.Checked
python3 tools/check.py <name> --version <release>: all ten C functions accepted at all 84 carrying placements; two independent existing controls also pass.python3 tools/build.py all --strict --jobs 6 --version us,us2andpal: 28 programs OK per release, 84 total, zero C fallback. Every intended C definition and control verified in itsplaced.json. All production inputs stayed unchanged during qualification.python3 -m unittest discover -s tests: 382 tests passed, including the named-split, collision, replay, historical-bootstrap, rejection/no-write and report-staleness controls.python3 tests/check_repository.py: repository checks passed using real Git metadata in the existing image, after retiring the resolved NMC duplicates.python3 tools/progress.py --check --version us,us2andpal: all pass without rewriting any report; pending source credit and existing report consistency remain separate.git diff --cached --checkpasses. Current qualified compiler tools were reused unchanged. Worktree/source ownership and reservations were checked before selecting the functions.No game/SDK assets, disassembly, proprietary tools, generated reports or compiler recipe changes are included. Native PC gameplay is not tested by this matching change.