Add controller button icons

Merged
PR
2mo ago
+400-32

What does this change?

  • Replaces text-only control hints with pixel controller icons across the library, search, settings, sign-in, and loading screens.
  • Keeps face-button prompts in sync with the System and Swapped button-layout setting.
  • Updates the PortMaster screenshot.

How did you test it?

  • tools/zig.sh build test
  • tools/zig.sh build fmt-check
  • tools/zig.sh build smoke
  • tools/zig.sh build product-check
  • PORTMASTER_NEW=/path/to/PortMaster-New tools/zig.sh build package
  • RG35XX-H on muOS 2508.4: frontend launch, library/search/settings rendering, System and Swapped button labels and actions, clean exit, and frontend restoration.

Summary by cubic

Replaces text-only controller hints with pixel controller icons across the UI, and makes face-button prompts respect the System/Swapped button layout setting.

  • Adds control_icons.zig to render face buttons, dpad, sticks, bumpers, triggers, start, select, and guide icons.
  • Changes loading screen action prompts from string labels to a GoHandheldUiAction enum, centralizing allowed actions.
  • Updates library view, keyboard, settings, sign-in, device code, and loading screens to use the icon-based prompts.
  • A/B/X/Y icons swap when the Swapped button layout is active, matching the physical button labels.
  • Updates the PortMaster screenshot to show the new icons.

Summary by CodeRabbit

  • New Features

    • Added controller icon prompts throughout loading screens, search, library, and settings views.
    • Added support for displaying face buttons, directional controls, sticks, bumpers, triggers, and system buttons.
    • Button prompts now respect swapped face-button settings.
    • Added clearer visual actions for back, cancel, retry, sign-in, and sign-out flows.
  • Tests

    • Added coverage for controller icon mappings and prompt layout fitting.