Skip to content

dat: select joint views for known fighter item slots - #3631

Merged
ribbanya merged 1 commit into
doldecomp:masterfrom
itsgrimetime:codex/dat-joint-slots
Oct 5, 2026
Merged

ribbanya merged 1 commit into
doldecomp:masterfrom
itsgrimetime:codex/dat-joint-slots

Conversation

@itsgrimetime

Copy link
Copy Markdown
Collaborator

ftData.x48_items currently walks Link/Young Link slot 6, Kirby slot 4 and Yoshi slot 3 as Articles, although their callers use the existing HSD_Joint* view. Select that shared joint member with the fighter/slot bindings and move the Article catch-all last. Keep the remaining layouts in the TODO, update the root-binding documentation, and make the existing Samus test identify union members by name rather than declaration index.

Validated against master c5564c6650 with the extracted GALE01 archives:

  • The four slots reach HSD_Joint with clean walks; ordinary Article slots and Samus's grapple selection remain correct. The full walk removes eight pointer/type issues and five conflicting-type reports, with no new reports.
  • The Clang PPC DAT build has 354/356 matching samples across 838 units; the same two baseline mismatches remain (PlGw's dyn_descs_0_x78F0 and TyMnView's ToyFigureBack_Top_animjoint). Relocation coverage is unchanged; archive byte coverage remains 99.80%.
  • All 28 DAT tests pass with the real inputs, as does cargo clippy -p melee-dat --tests -- -D warnings. The MWCC game build remains 100% matched and its original DOL hash passes.

@ribbanya
ribbanya merged commit c183492 into doldecomp:master Oct 5, 2026
10 checks passed
@itsgrimetime itsgrimetime added ai-assisted Utilizes a LLM to do the heavy lifting portability Improves non-matching builds labels Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-assisted Utilizes a LLM to do the heavy lifting portability Improves non-matching builds

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants