Back to Provenance

3537

.changelog/3537.md

3.3.12.2 KB
Original Source

Fixed

  • PVRetroArch Mupen64Plus-Next rumble regression — A prior commit (efe5e0d) added optionOverwrite=true for iOS 26+ to force CXD4 RSP (replacing the JIT-crashing ParallelRSP), but this wiped the entire .opt file on every launch — clearing all user-configured options including pak types back to the "memory" default and silencing rumble-pak games (GoldenEye, Star Fox 64). Rumble worked on iOS 26 before that commit; this was a regression, not an inherent iOS 26 limitation. The fix now does a targeted in-place patch: only the mupen64plus-rsp-plugin line is updated; all other settings (audio, video, gameplay, and pak types) are preserved. Fresh installs default pak1 to "rumble" so rumble-pak games work out of the box (#3129).
  • PVRetroArch Mupen64Plus-Next iOS<26 pak1 migration — Existing installs on iOS<26 that lacked a pak1 setting in their .opt file would never receive the rumble default because optionOverwrite=false skips writing when the file exists. Now checks all three required settings (pak1, rdp-plugin, rsp-plugin) at once; any missing setting triggers a targeted merge+overwrite so all defaults are applied in a single pass. When all settings are already present, optionValues and optionValuesFile are cleared before setting optionOverwrite=false, preventing stale content from reaching the Obj-C write layer.
  • PVRetroArch Mupen64Plus-Next tvOS RSP fix — tvOS does not expose JIT to regular (non-debug) builds (Xcode-attached sessions can enable it, but this is uncommon for end users), so ParallelRSP is unsuitable for shipped tvOS builds. The #available(iOS 26, tvOS 26, *) check was incorrect: tvOS 17–25 fell through to the parallel branch and would crash. tvOS now unconditionally uses cxd4 RSP and takes the same merge/overwrite path as iOS 26+ to ensure any stale parallel line in an existing .opt file is replaced.
  • PVRetroArch Mupen64Plus-Next rdp/rsp-plugin defensive guard — On iOS 26/tvOS with an existing .opt file, the merge now checks for both mupen64plus-rdp-plugin and mupen64plus-rsp-plugin, inserting angrylion/cxd4 defaults if absent, matching fresh-install behaviour.