From b686f2aa5d71eba60cc118312f374ea63d296b34 Mon Sep 17 00:00:00 2001 From: Riley Testut Date: Sat, 17 Dec 2016 14:21:14 -0600 Subject: [PATCH] Fixes issue where loading save states could result in invalid cached inputs --- Cores/DeltaCore | 2 +- Cores/GBADeltaCore | 2 +- Cores/SNESDeltaCore | 2 +- Delta/Emulation/GameViewController.swift | 11 ++++++++++- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Cores/DeltaCore b/Cores/DeltaCore index 9d05e42..e936f39 160000 --- a/Cores/DeltaCore +++ b/Cores/DeltaCore @@ -1 +1 @@ -Subproject commit 9d05e42435288ce103f2cb5ed65c18f9630a0406 +Subproject commit e936f39a694d0e1631ddceaccba6adcfda09474a diff --git a/Cores/GBADeltaCore b/Cores/GBADeltaCore index 46f712f..223207b 160000 --- a/Cores/GBADeltaCore +++ b/Cores/GBADeltaCore @@ -1 +1 @@ -Subproject commit 46f712f9dbdcbb465d6d0dd48239df6c509a090f +Subproject commit 223207b30e26e4386090be1197bf88caf828f60c diff --git a/Cores/SNESDeltaCore b/Cores/SNESDeltaCore index 63caf73..ad5289a 160000 --- a/Cores/SNESDeltaCore +++ b/Cores/SNESDeltaCore @@ -1 +1 @@ -Subproject commit 63caf73f435d72fe0ad80112f4e10c6a674f9068 +Subproject commit ad5289a0d3fc97a2e2b00fe54fd23bce96e28778 diff --git a/Delta/Emulation/GameViewController.swift b/Delta/Emulation/GameViewController.swift index bda659d..f5b7c99 100644 --- a/Delta/Emulation/GameViewController.swift +++ b/Delta/Emulation/GameViewController.swift @@ -565,7 +565,16 @@ extension GameViewController: SaveStatesViewControllerDelegate print(error) } - self.emulatorCore?.updateCheats() + // Reactivate sustained inputs + for gameController in self.emulatorCore?.gameControllers ?? [] + { + guard let sustainedInputs = self.sustainedInputs[ObjectIdentifier(gameController)] else { continue } + + for input in sustainedInputs + { + self.reactivateSustainedInput(input, for: gameController) + } + } self.pauseViewController?.dismiss() }