Uses refactored EmulatorCore.saveSaveState(to:) method

This commit is contained in:
Riley Testut 2016-08-11 14:40:49 -05:00
parent 5a39263cb8
commit 30eec7bc2f
3 changed files with 18 additions and 33 deletions

@ -1 +1 @@
Subproject commit 1e23a6c74680122a59b6a63c83b722d7d8e82a3c Subproject commit d9b61b60c23286a4758bab06ed4a89de641f2628

View File

@ -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,

View File

@ -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)
}
} }
} }
} }