mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 02:11:36 -04:00
812465df58
A title calls psx_mod_set_rewind_blocked(1) while it is in a mode that must not be rewound, such as local split-screen multiplayer, and 0 when it ends. While blocked, opening Rewind is refused with an OSD note, no history is captured (the ring keeps what it has; a capture already due is dropped and an open panel closes unloaded), and a title-allowed direct Rewind shortcut is not in force: its button is not claimed and reaches the guest pad / title transform as if Rewind were off. Netplay already refuses Rewind on its own. The block clears at every mod/session start, so a title that never calls it is unchanged. The direct-allowance decision (allowed, and for Rewind: enabled and not blocked) is now one pure helper, psx_hotkey_direct_active, used for both the claim and the shortcut press, so an unclaimed Rewind button is never a one-button shortcut (with Rewind off it falls back to Select + button rather than popping the "Rewind is off" note on every press). Tests: psx_hotkey_pad_test covers the allowance and a block taking effect mid-press; rewind_toggle_combo_test guards the capture/open gates and reset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>