Summary
This release delivers the v0.5.0 milestone with keyboard/mouse input support, a redesigned settings overlay, and several other bug fixes and improvements.
Input System
- MnK (Mouse & Keyboard) input driver - maps keyboard/mouse to Xbox 360 controller via configurable CVAR bindings (FPS-style defaults: WASD=left stick, mouse=right stick, LMB/RMB=triggers)
- Mouse capture lifecycle - cursor hides and re-centers during gameplay, automatically releases when overlays open or window loses focus
- Multi-driver merge - when MnK and a real controller occupy the same slot, inputs are merged (OR buttons, max triggers, max-magnitude sticks)
- XInput driver ported from Xenia (Thank you @sanjay900!)
- SDL3 upgrade from SDL2 (Thank you @sanjay900!)
Settings Overlay
- Tree-based category navigation with collapsible groups (e.g., GPU > D3D12, Input > Keybinds > Controller/System)
- Interactive keybind editor - "press any key" capture mode with conflict detection, replacing raw text input
- Controller keybinds greyed out when MnK mode is disabled
- CVAR labels colored by lifecycle (green=live, yellow=restart, red=read-only) with description tooltips
- Config persistence - TOML config now loads at startup so saved settings survive restarts
Bug Fixes
- Fix keybind CVAR crash -
std::vector→std::dequeto prevent dangling pointers on reallocation - Fix save overwrite failing when host files are locked
- Fix MnK driver crash on window close - detach via
OnClosingbefore destruction - Expanded ImGui key map from 12 to ~100 keys so keybind rebinding works for all keys
- Read XAM keyboard input as UTF-16 with null terminator (Thank you @SolarCookies!)
Refactoring
- Rename
Processor→FunctionDispatcher, remove dead code - Remove unused module symbol tracking APIs and system modules
- Remove
RawModule(unused)
Other
OnLoadXexImagevirtual hook for subclass XEX path override (Thank you @twist84!)- CI pipeline fixes for FidelityFX (Thank you @sanjay900!)
What's Changed
- Update PPC_STUB macros so they use PPC_WEAK_FUNC instead of PPC_FUNC by @sanjay900 in #231
- Port over XInput handler from xenia by @sanjay900 in #218
- v0.5.0 - Fixes and Upgrades by @tomcl7 in #226
Full Changelog: v0.4.2...v0.5.0
What's Changed
- Update PPC_STUB macros so they use PPC_WEAK_FUNC instead of PPC_FUNC by @sanjay900 in #231
- Port over XInput handler from xenia by @sanjay900 in #218
- v0.5.0 - Fixes and Upgrades by @tomcl7 in #226
Full Changelog: v0.4.2...v0.5.0