Skip to content

Mac: fix Metal HUD menu hide/show - #692

Closed
thehobbit85 wants to merge 1 commit into
seedds:mainfrom
thehobbit85:codex/fix-metal-hud-menu
Closed

thehobbit85 wants to merge 1 commit into
seedds:mainfrom
thehobbit85:codex/fix-metal-hud-menu

Conversation

@thehobbit85

@thehobbit85 thehobbit85 commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

With DM_METAL_HUD=1, the Mac layer forces developerHUDProperties to mode=default, so Apple's Hide HUD action changes the menu label while leaving the overlay visible. Remove that forced layer mode and retain front_hud_env's early MTL_HUD_ENABLED initialization; Apple's menu can then hide and restore the overlay. Existing menus, cheats and iOS behavior are preserved. #376 separately carries the build's HUD preference into a Mac app.

Current integration and validation

Rebased onto pinned main c1df4ddaaedc3c18228065ea5b909688b79884e2; head 27c5a58950968b9eef3cd04650a2406ba126c328. The same existing PR remote branch and its canonical local tracking branch are retained. All paginated issue comments, reviews and inline feedback were read; no new feedback was found.

Main's generic HID and pointer-hiding functions coexist with this separate layer-HUD initialization change. The screen/fullscreen callbacks and input lifecycle remain intact; main still has the forced HUD mode removed by this PR.

  • Fresh: 11 documentation tests and the environment-switch index test passed.
  • Fresh: front_mac.m syntax compilation passed with the repository's ARC/deployment/profile flags and local macOS SDK, including the new HID/cursor code. It reports one existing unused-but-set activity variable warning.
  • Earlier Mac host builds and interactive HUD evidence remain historical at their recorded heads; no fresh interactive toggle run is claimed.

Range-diff marks the feature patch unchanged, and the old-to-new tree delta exactly matches the upstream increment. Ancestry and git diff --check pass. The previous d138-based head 45829e1b409fb3242c64fa91492c509a04ece280 completed all 7 CI checks successfully; that is historical evidence. CI for this new head is pending. Central shared validation passed on 4820ba509adb90ee7cca8c5a65a51e0a4dc12e74 with GAME=010015100B514000: t_fs (102 checks), t_fs_case (51), t_fs_commit_list (98), t_nfc (54), t_pad_hid (19), and t_system_event. Their production/fixture sources, host headers, profile inputs, build flags and target recipes were verified identical to this head. This is shared fixture coverage, not a full host build or full graphics run of this PR.

Local native tools are Xcode 27.0/Metal 32023.921; supported Xcode 27.2/Metal 32023.922 verification belongs to the new CI run. No gameplay, physical-display timing or interactive HUD check, extraction rebuild, device installation, game shader rebuild, or fresh game shader/interface comparison was performed. Earlier full-suite/game evidence remains historical at its recorded revisions.

@thehobbit85
thehobbit85 force-pushed the codex/fix-metal-hud-menu branch from fc6d976 to e8389cc Compare October 30, 2026 14:46
@thehobbit85
thehobbit85 force-pushed the codex/fix-metal-hud-menu branch 11 times, most recently from b31787e to 45829e1 Compare November 1, 2026 04:14
@thehobbit85
thehobbit85 force-pushed the codex/fix-metal-hud-menu branch from 45829e1 to 27c5a58 Compare November 1, 2026 06:22
seedds added a commit that referenced this pull request Nov 1, 2026
With DM_METAL_HUD=1, front_hud_env already sets MTL_HUD_ENABLED before
the first Metal device. The game layer also set developerHUDProperties
to mode=default, which forces that layer's HUD on: Apple's Hide HUD menu
changed its label but left the overlay on screen. The layer's HUD
properties now stay unset, so the menu hides and shows it.

Co-authored-by: Eliran Zach <4012041+thehobbit85@users.noreply.github.com>
@seedds

seedds commented Nov 1, 2026

Copy link
Copy Markdown
Owner

Landed as 8482873, with you as co-author. The front_mac.m change is in, with the comment reworded. I left out the Pokémon Legends: Z-A note lines (the game never needed this change, it was only where the menu was tested) and the rendering.md section and symptoms.md line (a developer overlay's menu isn't a rendering mechanism, and the code comment records why the mode stays unset). I built the Mac host but did not click through the menu here, so your interactive check is the evidence for the behaviour. Thanks!

@seedds seedds closed this Nov 1, 2026
@thehobbit85
thehobbit85 deleted the codex/fix-metal-hud-menu branch November 1, 2026 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants