GameCube Decomp Harness Session 02a80f9b - #3223
Draft
fjooord wants to merge 855 commits into
Draft
Conversation
Report for GALE01 (db7e341 - 7caf1c4)📈 Matched code: 93.92% (+1.19%, +46252 bytes) ✅ 36 new matches
...and 6 more new matches 📈 78 improvements in unmatched items
...and 48 more improvements in unmatched items |
fjooord
force-pushed
the
orchestrator/cycle/02a80f9b-1045-481b-88cf-d32b7a673afe
branch
from
August 27, 2026 17:43
3263adb to
63439be
Compare
… [checkpoint c16e237e]
…FC [checkpoint 202d46b0]
…checkpoint 4a78b1a5]
… [checkpoint 1e3ec9b1]
…C0 [checkpoint 7b4bc295]
…heckpoint 652cf3ba]
…ckpoint 93df70c0]
…78 [checkpoint af30c01f]
… [checkpoint f63b771a]
…3AE7F8 [checkpoint 5dce7b82]
…094 [checkpoint 36ac8955]
…heckpoint 1a9c6a9d]
…DC [checkpoint aadc4cec]
…checkpoint 64ae8bd9]
…eckpoint fc51045f]
…FighterHeaders [checkpoint 11f0a32f]
…ad [checkpoint c5f6e30a]
…3B1338 [checkpoint ede2a48c]
…checkpoint 2e2bcbc4]
… [checkpoint 0fe04064]
…18CB4 [checkpoint 3054432d]
…3B0E9C [checkpoint 67d118bb]
…:ftCo_800A4038 [checkpoint 02238c48]
…pulateRankings [checkpoint 146f7b5a]
…DF44 [checkpoint d2bf6d35]
…ckpoint e4b0e4e6]
…ckpoint 706879d0]
…eckpoint 7a5312ac]
…ckpoint 4e10bb6b]
… [checkpoint 2db69cea]
… [checkpoint 94eae572]
… [checkpoint d7aaa7e7]
…ckpoint 04246eac]
Epoch-Integration: ee50e6ee-4a0f-45a9-ab02-a07a5fbfca5e
…UST_MATCH (clang-tidy self-assign; upstream tactic, MWCC code unchanged)
…ator/cycle/02a80f9b-1045-481b-88cf-d32b7a673afe
…): restore worker-improved function bodies clobbered by the -X theirs merge (110 keep-ours functions), take upstream's matched/better functions, apply doldecomp#3260/doldecomp#3262 symbol renames tree-wide, guard matching self-assign/volatile locals with MUST_MATCH, drop unused carried helpers
…02a80f9b-1045-481b-88cf-d32b7a673afe
…): keep our part-1 bodies where they beat doldecomp#3264's improvements (ifStock_802FAEC4, ifStatus_802F5EC0, _tyDisplay_80318CB4/80319994), adapt VsModeData.data→.start, take upstream's gm_801B5324 and grBigBlue_801EC6C0, clang-format pass Host-verified on the merged tree (origin/master db7e341): ninja -k 0 clean, main.dol OK, report 93.91659 (pre-merge 93.90165, upstream 92.72515), clang-tidy clean on all 201 changed files.
…' of https://github.com/fjooord/melee into orchestrator/cycle/02a80f9b-1045-481b-88cf-d32b7a673afe
MarkMcCaskey
added a commit
to MarkMcCaskey/melee
that referenced
this pull request
Aug 30, 2026
The three `int[1]` counter arrays were standing in for loop bodies that the original had in helpers: hoisting the two slot-clearing loops into one `ifStock_ClearGObjSlots` and the stock-GObj creation plus the multi-man block into `ifStock_CreateStockGObjs` gives the target's 0x30 frame and register assignment. `ifStock_802FA5BC` still has to stay out of line, so the file-scope `dont_inline` pragma becomes the `_noinline` wrapper idiom already used elsewhere in the tree. `ifStock_804A1ACC.x108` holds the proc GObj, so it is typed `HSD_GObj*` rather than `int`; `ifStock_804A1774.x108` is a real int and is unchanged. Source taken from doldecomp#3223. Co-authored-by: Ford Lascari <ford.lascari@gmail.com>
MarkMcCaskey
added a commit
to MarkMcCaskey/melee
that referenced
this pull request
Aug 30, 2026
Both the joint load and the digit-JObj lookup come from inline helpers in the original: each site bills its own stack slot, which accounts for the 0x18 -> 0x10 pad and moves the whole r26-r30 band onto the target's assignment. `tobj` is declared ahead of the loop counter to finish the ordering. Source taken from doldecomp#3223. Co-authored-by: Ford Lascari <ford.lascari@gmail.com>
MarkMcCaskey
added a commit
to MarkMcCaskey/melee
that referenced
this pull request
Aug 30, 2026
97.01% -> 99.95%. The command-list entry is re-read through the global at every field instead of being pooled into a local `HSD_PSCmdList***`, which is what the target's reload-per-store shape asks for; `psTexGroupArray` is addressed by name rather than by subtracting 0x30C from that pointer; and the rect case writes the scale matrix's diagonal (xx/yy/zz) rather than xx/zx/zy — the target's store offsets confirm the diagonal. `ptclref_804D0E5C` is typed `HSD_PSCmdList**` to match how both this function and the target use it, so the 32 casts that spelling would otherwise need go away. particle.c's four index-remap sites keep their old reading with a cast and are byte-identical. The only rows left are the bound check's relocation: the target reads the array symbols.txt calls `psCmdListArray`, not `psNumCmdList`. Source taken from doldecomp#3223. Co-authored-by: Ford Lascari <ford.lascari@gmail.com>
MarkMcCaskey
added a commit
to MarkMcCaskey/melee
that referenced
this pull request
Aug 30, 2026
99.47% -> 99.93%. The colour update, the digit animation setup, and the stored-translation read come from inline helpers; splitting them out gives the target's call and frame shape. The two branch-local `GXColor`s copied into the shared one are load-bearing — writing the shared local directly costs 16 points. Two rows remain: one callee-saved web (r28 vs r24) and the staged colour's stack slot (0x14 vs 0x40). Source taken from doldecomp#3223. Co-authored-by: Ford Lascari <ford.lascari@gmail.com>
MarkMcCaskey
added a commit
to MarkMcCaskey/melee
that referenced
this pull request
Aug 30, 2026
97.23% -> 97.34%. The vertex buffer holds 152 entries, not 151 plus a PAD_STACK, which puts the staging slots at the target's displacements. Source taken from doldecomp#3223. Co-authored-by: Ford Lascari <ford.lascari@gmail.com>
MarkMcCaskey
added a commit
to MarkMcCaskey/melee
that referenced
this pull request
Aug 30, 2026
95.39% -> 98.78%. The per-player user data is reached by walking a `struct IfStockData*` cursor the way ifStock_802F7EFC already does in this file, and the state struct is re-mentioned in full at each use rather than staged in `r26`. The embedded `+=` in the first store is load-bearing: splitting it into a typed pointer plus a store costs 3 points, and a typed `ifStock_804A1378_x204*` costs 2.9. Source taken from doldecomp#3223. Co-authored-by: Ford Lascari <ford.lascari@gmail.com>
MarkMcCaskey
added a commit
to MarkMcCaskey/melee
that referenced
this pull request
Aug 30, 2026
98.38% -> 99.51%. The velocity magnitude is `sqrtf`, not a hand-expanded Newton-Raphson; the JObj matrix is `gen->jobj->mtx` rather than a raw +0x44 byte offset; and the matrix-column normalise block stages through the same local as the velocity output, which is what the target's frame shows. Remaining rows are stack-slot ordering for three staging floats. Source taken from doldecomp#3223. Co-authored-by: Ford Lascari <ford.lascari@gmail.com>
MarkMcCaskey
added a commit
to MarkMcCaskey/melee
that referenced
this pull request
Aug 30, 2026
97.29% -> 97.77%, mostly by reordering the segment-dot and length-squared accumulations to the target's operand order and by moving three float decls. Also drops a hack: the 1.0 used across the parameter-clamp branches was being read out of the global `lbColl_804D7A08` to keep it in a callee-saved register. A plain `1.0F` gives the same code, so the global read and the comment explaining it are gone. Source taken from doldecomp#3223. Co-authored-by: Ford Lascari <ford.lascari@gmail.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.
Work in Progress AI Decomp Session
Please use this to improve upon other matches and whatnot for your work.
Note for users and AI agents: Please mention this PR when pulling from it so there is a canonical record and maintainers know that any work came from this PR and are careful so slop code does not get merged in.