Repository navigation
fix(src): preserve object extents and return contracts in reviewed matches - #345
Merged
Merged
Conversation
…tches Replace undersized particle and settings declarations with measured full types or incomplete arrays. Keep the Tabora initializer in its existing G8 unit and isolate the measured 24-byte Damosel settings record under G32/WaG32. Implement the existing SDATA address-alias contract using RAC1's explicit metadata route. Preserve canonical storage, compiler-authored operations and ordinary assembly; reject conflicting aliases and include the helper in object cache keys. Apply the same step in allocation diagnostics and add regression tests and pinned GPL-3.0 provenance. Correct pointer and integer/FP return interfaces, restore two complete retained near misses, and retire an obsolete near miss already replaced by linked C. All previously integrated C functions remain active. This adds zero matching functions or bytes and leaves progress generation to the maintainer refresh. Validated combined source: all 28 programs in each of US, US2 and PAL pass tools/build.py all --strict, with no C fallback; 294 tests pass. Targeted checks cover 2,533 placements plus existing ABI regressions. Repository, progress, LF and diff checks pass; all 4,623 source/tool/test inputs remain unchanged.
ByteMatch progress reportSCUS_972.68
No function changes. SCUS_972.68_v2
No function changes. SCES_516.07
No function changes. Commit 6a07494 · Ratchet & Clank: Going Commando on ByteMatch |
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
Repair the C object extents and call interfaces identified while reviewing the recently merged contributions. Particle settings now use their measured 24-byte type, and unknown-sized settings remain incomplete arrays rather than false 4-/8-byte objects. Pointer and integer/FP return declarations follow their actual callees. All integrated C functions are retained; zero additional functions or matching bytes are claimed.
The existing
SDATAmacro now has explicit assembler alias metadata adapted from current RAC1, with provenance, tests and cache invalidation. Canonical storage and compiler-authored instructions/operands are preserved. Both compiler chains and allocation diagnostics use the same step. Two useful near misses regain complete compilation context; one already-closed near miss is retired.PR #344's particle payload correction is already in the base. This completes the remaining source corrections from the reviews of #337, #339, #340 and #341. No report, game assets, proprietary tools or generated evidence is included.
Checked
python3 tools/build.py all --strict --jobs 6 --version us: 28 programs OK, no C fallback.--version us2and--version pal: 28 programs OK each; 84 total.python3 -m unittest discover -s tests: 294 tests pass.python3 tests/check_repository.py,python3 tools/progress.py --check, staged LF/BOM andgit diff --check: pass.These are strict linked-image and source-contract checks; no new native-port gameplay or live functional calibration is claimed.