Files
psxrecomp/docs/internal/upstream/offline-plugin-controller-sources.md
T
Beman bbde12bb1c Document verified unified release input and paired consumption
Replace stale pending validation with the completed Windows SDL2/SDL3
matrix, ordered controller-source/mouse precedence, and exact pin
consumption guidance. Keep physical behavior and hosted CI unclaimed.
2026-10-08 10:39:50 +10:00

3.9 KiB

Offline plugin controller sources: source and validation

The records below preserve historical upstream evidence. The release backport selects the controller-source dependency from 5a1264b7 and the unified resolver from 6f9bdd94 on c18a055, without the duplicated mouse commits or unrelated master changes. Its matched Ape Escape SDL3 Release build and 32-execution automated matrix passed on Windows x64. See the release input validation; the historical game/headset observations below are not validation of this pair.

Reconstructed from FractalEngineer/psxrecomp, developed on vr-dev at 9976567eb8e95510ca7eeeeccd9af3a260885de5. Exact source commits:

Original author: Yves calibratedbeats@gmail.com. The feature commit retains that exact human author identity. The focused port consolidates the selected source hunks and corrections. Its commit also cites these sources and carries the original human contributor's Co-authored-by: Yves <calibratedbeats@gmail.com> trailer.

Adapted: Only offline controller-source registration (documented as mod-trusted), validation/neutralization and the existing offline host-input boundary.

Deliberately excluded: OpenXR Touch action implementation, game bindings/deadzones/aiming and guest SIO replacements.

The feature was reconstructed on upstream master db62eec15f81c88aef3d6dab51d4e566a7167d23, retaining current upstream APIs, renderer/input policy and build integration. Validation after reconstruction: Absent/invalid/declined/analog/digital source, detach and session-reset executable checks.

The motivating consumer is Medal of Honor, SLUS-00974 (NTSC-U). Game-specific integration remains in that repository. Consuming this change requires a deliberate framework pin update in the game repo and a rebuild. This is a host/runtime/tool change; it requires no BIOS or game C regeneration.

Historical alpha acceptance used the older framework checkpoint above. It is separate from current-master branch verification. Fresh game, renderer and headset checks, where applicable, are recorded in the PR validation notes; uncertain hardware/runtime behavior must not be inferred from a clean link.

Current-master integration validation

Windows, GCC 13.2, Ninja, Release. Runtime test checks remain active with NDEBUG enabled.

Release controller-source checks pass for absent, invalid, declined, analog/digital, detach and session-reset samples; they remain active with NDEBUG enabled. Integrated flat input reaches gameplay. Hardware controller mappings and live headset focus/reconnect behavior remain outside this test coverage.

Integration: Medal of Honor, SLUS-00974 NTSC-U, built against the corrected framework stack with PSXRECOMP_ROOT. Bundled OpenBIOS LLE cold boot, menu navigation, mission gameplay, fresh savestate creation/loading and post-load input/frame advancement were checked with screenshots. An older alpha slot-5 savestate was refused; compatibility with historical states is not established. Memory-card round trips, attract-demo completion, other games and fresh headset visuals were not tested.

The registered recompiler suite reports 132 passes, four failures and three disabled tests. The four failures reproduce on unchanged upstream master in this Windows toolchain: portable_settings_paths_test, optional_netplay_auth, compile_overlays_static_tail and aot_overlay_discovery. The introduced BIOS-fingerprint and GL-guard failures are fixed.