Correct NPC animation distance and refine collision and event code - #201
Merged
Merged
Conversation
Report for GMSJ01 (b7bed68 - f506557)📈 Matched code: 41.89% (+0.05%, +1960 bytes) ✅ 11 new matches
📈 19 improvements in unmatched items
📉 1 regression in an unmatched item
Report for GMSP01 (b7bed68 - f506557)📈 Matched code: 40.96% (+0.05%, +1960 bytes) ✅ 11 new matches
📈 20 improvements in unmatched items
📉 1 regression in an unmatched item
|
Mrkol
requested changes
Sep 27, 2026
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.
Audited all 23
mario/NPCunits against GMSJ01. This PR changes six NPC files:getAnmOffDist_: check animation kinds MAD and 0x17 and select distance 0 or 1 for the corresponding nerve state. The old code treated every nonzero kind as a match and selected the wrong distance branch.MsRandIin the right order and use graph wait bounds inTNerveNPCGraphWait. Cache NPC type across two nerve callbacks.changeNerveProc_talk and pollution conditions using retail control flow. Its fuzzy match goes 84.40% -> 84.55%.evFireStartDemoCameraexact usingSMSGetMarDirector(). Reuse the sunflower position for camera and shine creation.npcRecoverFromSinking's result next to its use, and match the multiplication and horizontal displacement order insetVariableDamageRadius_.NPC exact functions: 248/332 -> 249/332. Fuzzy:
NpcChange96.43% -> 96.45%,NpcNerve99.09% -> 99.43%,NpcEvent95.05% -> 95.29%,NpcAnm99.58% -> 99.61%,NpcCollision98.89% -> 98.97%.NpcBase88.52% -> 88.24% because the corrected weak helper is still inlined intoperform. Moving it out of line changed weak linkage and failed symbol order, so that attempt was reverted. No stack padding or dummy code was added.Checked: native configure, bare
ninja(mario.dol: OK),ninja changes_all,review-lint.py --strict(0 actionable findings),clang-format --dry-run --Werror, andcheck-changed-symbol-order.py(0 regressions).