Uses refactored EmulatorCore.saveSaveState(to:) method
This commit is contained in:
parent
5a39263cb8
commit
30eec7bc2f
@ -1 +1 @@
|
|||||||
Subproject commit 1e23a6c74680122a59b6a63c83b722d7d8e82a3c
|
Subproject commit d9b61b60c23286a4758bab06ed4a89de641f2628
|
||||||
@ -429,23 +429,7 @@ extension GameViewController: SaveStatesViewControllerDelegate
|
|||||||
self.pauseEmulation()
|
self.pauseEmulation()
|
||||||
}
|
}
|
||||||
|
|
||||||
self.emulatorCore?.save { (temporarySaveState) in
|
self.emulatorCore?.saveSaveState(to: saveState.fileURL)
|
||||||
do
|
|
||||||
{
|
|
||||||
if FileManager.default.fileExists(atPath: saveState.fileURL.path)
|
|
||||||
{
|
|
||||||
try FileManager.default.replaceItem(at: saveState.fileURL, withItemAt: temporarySaveState.fileURL, backupItemName: nil, resultingItemURL: nil)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
try FileManager.default.moveItem(at: temporarySaveState.fileURL, to: saveState.fileURL)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
print(error)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if
|
if
|
||||||
let outputImage = self.gameView.outputImage,
|
let outputImage = self.gameView.outputImage,
|
||||||
|
|||||||
@ -561,20 +561,9 @@ extension SaveStatesViewController: UIViewControllerPreviewingDelegate
|
|||||||
if let emulatorCore = self.emulatorCore
|
if let emulatorCore = self.emulatorCore
|
||||||
{
|
{
|
||||||
// Store reference to current game state before we stop emulation so we can resume it if user decides to not load a save state
|
// Store reference to current game state before we stop emulation so we can resume it if user decides to not load a save state
|
||||||
emulatorCore.save() { saveState in
|
|
||||||
|
|
||||||
let fileURL = FileManager.uniqueTemporaryURL()
|
let fileURL = FileManager.uniqueTemporaryURL()
|
||||||
|
self.emulatorCoreSaveState = emulatorCore.saveSaveState(to: fileURL)
|
||||||
do
|
|
||||||
{
|
|
||||||
try FileManager.default.moveItem(at: saveState.fileURL, to: fileURL)
|
|
||||||
self.emulatorCoreSaveState = DeltaCore.SaveState(fileURL: fileURL, gameType: emulatorCore.game.type)
|
|
||||||
}
|
|
||||||
catch let error as NSError
|
|
||||||
{
|
|
||||||
print(error)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
guard self.emulatorCoreSaveState != nil else { return }
|
guard self.emulatorCoreSaveState != nil else { return }
|
||||||
|
|
||||||
@ -627,8 +616,20 @@ extension SaveStatesViewController: UIViewControllerPreviewingDelegate
|
|||||||
let gameViewController = viewControllerToCommit as! GameViewController
|
let gameViewController = viewControllerToCommit as! GameViewController
|
||||||
|
|
||||||
gameViewController.emulatorCore?.pause()
|
gameViewController.emulatorCore?.pause()
|
||||||
gameViewController.emulatorCore?.save() { saveState in
|
|
||||||
|
let fileURL = FileManager.uniqueTemporaryURL()
|
||||||
|
if let saveState = gameViewController.emulatorCore?.saveSaveState(to: fileURL)
|
||||||
|
{
|
||||||
self.loadSaveState(saveState)
|
self.loadSaveState(saveState)
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
try FileManager.default.removeItem(at: fileURL)
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
print(error)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user