Add missed mirror-mode message overrides#2108
Open
cmyui wants to merge 1 commit into
Open
Conversation
PR TwilitRealm#1704 hand-curated mirrorMsgOverrides from in-game observation, which left gaps. Auditing the GC BMG data (res/Msgus, GZ2E01) for every message carrying a Wii redirect turned up 13 more that belong in the table: - Two Kakariko signposts (0x1f41, 0x1f42) whose arrow/name layout is mirrored on Wii but were never added. - Five dialogue/journal lines whose direction words flip GC vs Wii, including Midna's "Eldin Province to the east/west" line reported in the PR thread. - Six shop browse-arrow lines in the same class as entries the original pass already included. Each added id appears with a Wii redirect in exactly one BMG group, so the id-only lookup resolves unambiguously. 0x1b79 was deliberately left out: it maps to different Wii variants in zel_01 (shop) and zel_07 (fishing controls), which this table can't disambiguate without becoming group-aware. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XRgWDefrUv5ortty6YM7oC
e9e2229 to
d039cd6
Compare
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.
Summary
PR #1704 fixed mirror-mode sign arrows by hand-curating
mirrorMsgOverridesfrom in-game observation. Because the list was built by walking the game rather than from the data, it left gaps — the symptom being signs that still show un-mirrored directions in mirror mode.I audited the GameCube BMG data directly (
res/Msgus, GZ2E01) for every message whose string begins with the Wii redirect escape thatgetRevoMessageIndex()already looks for (ptr[0]==26 && ptr[2]==3 && ptr[4]==0). Of 478 messages with a Wii variant, only a small subset are direction/arrow fixes; the rest are control-text variants that must not be redirected (this is exactly the "wrong item control text" the existing_executeTODO warns about). Cross-referencing that subset against the shipped table surfaced 13 entries that were missed but belong.What's added
0x1f41,0x1f42) — arrow/name layout is mirrored on Wii; these are real missed signs of the kind Sign arrows not flipped mirror mode. #1182 reported.0x0847) that a commenter flagged in the Fix mirror mode sign arrows #1704 thread but couldn't locate.0x1557sits directly between the already-overridden0x1553and0x1558).Each added id appears with a Wii redirect in exactly one BMG group, so the id-only lookup resolves unambiguously.
Deliberately not added
0x1b79— the same id carries a shop line inzel_01and fishing control text inzel_07, each with a different Wii redirect. The current id-only table cannot disambiguate the two; adding it would inject Wii control text into one of the contexts. Fixing it properly needs a group-aware lookup (see below).Notes / follow-ups (not in this PR)
0x13ebis both the Faron sign (zel_06) and a Gale Boomerang prompt (zel_08). Making the override check group-aware (key on group + id, or run the membership test afterchangeGroup()) would resolve both0x13eband unlock0x1b79.0x14–0x17) differ. That rule reproduces the existing 45 entries almost exactly and finds all of the above while excluding the 400+ control-text variants.Testing
Data-level: verified all 45 existing entries still resolve and that each of the 13 additions has a single unambiguous Wii redirect target. Not yet verified in-game on hardware/emulator — would appreciate a spot-check on the two Kakariko signs and the Midna line in mirror mode.
🤖 Generated with Claude Code
https://claude.ai/code/session_01XRgWDefrUv5ortty6YM7oC