dat: report and raise byte coverage, type unused data by address in dat_symbols.txt - #3630
Merged
Merged
Conversation
…at_symbols.txt Archive byte coverage (matching samples and inferred data) goes from 86.98% to 99.80%, and complete units from 106 to 345 of 838. Sample matches are unchanged apart from the two known mismatches. Tooling: - `samples report` prints the archive bytes covered, and `--missing` lists the data the base doesn't infer by the field that reaches it. - dat_symbols.txt lines are `name = dat:address;` like symbols.txt, with the dat in the section's place. `*` for the address matches a public symbol by name, as before; an address gives a C alias for data no public symbol names. Type and count are separate attributes mirroring the annotations: `type:T`, `count:N` and `extent` (instead of `count:*` and `T[N]`). - `DAT_SCRIPT` takes a table (fighters) or a length expression in `_command` (`itCommandLength`, items); the generic commands 0-9 (`Command_Execute`) are shared by every script. Scripts' extents count as typed data. - hsd.rs keeps archive tables in file order, as the game reads them, and refuses malformed archives. - Clippy comes from the flake. Types: - `HSD_VtxDescList::vertex` is an `HSD_VertexArray` blob; palettes are stored rounded up to 16 entries; collision vertices, lines and joints are counted; the particle banks run as far as the data does; item state scripts are scripts; `FtPartsDesc.vis_table` rows are `FtPartsVisLookup*`; `HSD_AObjDesc.obj_id` is any descriptor; every effect archive's table is an `EffectDataTable`. Unused data: only names, and the pointers from them, reach archive data, so data nothing points to is export leftovers. About 3,800 aliases type the joint, animation and material animation trees among it whose every part is well-formed (PlFe's and TyMcCmDs's unused models among them), with no new walk gaps or sample mismatches. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <[email protected]>
ribbanya
marked this pull request as ready for review
October 5, 2026 04:32
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.
Dat coverage
Explained relocations: 99.21% of 1773047 (99.53% of those reachable)
Typed publics: 99.55% of 12060
DbEfGmGrIfIrItLbMnNtPdPlSdSmTmTyVi