launcher: additional UI functionality (scanlines card, host-shortcut chord labels, TurboToggle) - #48
Merged
mstan merged 1 commit intoSep 26, 2026
Conversation
This was referenced Sep 4, 2026
Contributor
Author
|
fixed merge issues, bumped to match master. |
Squashed rebase of RetroPortingToolKit#48 onto master; scanline Settings/GameInfo fields moved to the struct ends.
mstan
force-pushed
the
feat/additional-ui-functionality
branch
from
September 26, 2026 03:41
cf8738e to
714eecb
Compare
Member
|
Rebased onto master (b688ca7) as one squashed commit. The merge from master had put 🤖 Generated with Claude Code |
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.
Supersedes #42 (same scanlines commits, plus one more launcher uplift merged on top). Two small PSX launcher additions that touch the same settings/controller surfaces:
1. Scanlines toggle + strength on the Display card
Adds a Scanlines checkbox and a strength slider to the Display settings for consoles that advertise
has_scanlines(set in the PSX profile). The strength row appears only once scanlines are on.ABI (additive):
RecompLauncherCSettings.scanlinesand.scanline_strength_pctappended at the end of the struct.RecompLauncherCGameInfo.has_scanlinesappended at the end of the struct.#define RECOMP_LAUNCHER_HAS_SCANLINES 1so hosts can#ifdeffor source compatibility.Mirrors the existing
screen_kindwiring throughout (model capability, seed/apply, UI row). No behavioural change for any console that leaveshas_scanlinesat 0.The scanline effect itself lives in the runtime (companion psxrecomp PR — the present-path shader). Without that runtime support the control is inert but harmless; the two are meant to land together.
2. Host Shortcuts: label the implicit Select chord; TurboToggle hotkey
The PSX runtime only matches a host shortcut bound to one button or one trigger direction while Select is also held (
hotkey_pad_binding_down). The capture UI already swallows a lone Select for that reason, but the resulting label showed justrighttrigger+, so a player who bound R2 pressed R2 alone and saw nothing happen.select + righttrigger+in both host-shortcut tables, with a one-line hint under the table (capture two buttons together for a chord without Select). Explicit two-button chords are unchanged.[KeyMap] TurboToggle(press-to-latch fast-forward, default F9):LNG_HK_TURBO_TOGGLE, key/default/label tables, and the PSXhotkeys_mask.Companion runtime PR: RetroPortingToolKit/psxrecomp#318 (
feat/fast-forward-toggle): adds the toggle itself and the fourth host-shortcut row,[hotkeys] fast_forward_toggle_pad. Without it the launcher change is harmless: the extra hotkey row is inert and the label prefix is purely cosmetic.3. Backspace clears a host shortcut / hotkey while listening
There was no way to remove a binding: capture commits any key or button, Esc keeps the old value, Reset restores every default at once. Backspace during a host-shortcut capture now stores 0 (unbound) for the keyboard or controller column; on the Hotkeys list it writes the literal
None, which the runtime honours as an explicit unbind via RetroPortingToolKit/psxrecomp#319 (merged #318 does not need it for the toggle itself).4. Controller column hidden when Player 1 has no connected gamepad
The PSX runtime evaluates controller host shortcuts against Player 1's pad handle only, so with the seat on Keyboard / None or the pad unplugged, nothing bound there can fire. Both tables now drop the Controller column in that state and say why. Other profiles are unchanged.
Verified in a BoF3 build: the host-shortcut table shows
select + lefttrigger+for a seeded axis binding, and stored chords still readselect + r3.🤖 Generated with Claude Code