diff --git a/Common/Components/LoadImageOperation.swift b/Common/Components/LoadImageOperation.swift index a39a4b2..2c58bc3 100644 --- a/Common/Components/LoadImageOperation.swift +++ b/Common/Components/LoadImageOperation.swift @@ -28,7 +28,7 @@ public class LoadImageOperation: RSTOperation public var imageCache: NSCache? { didSet { // Ensures if an image is cached, it will be returned immediately, to prevent temporary flash of placeholder image - self.isImmediate = self.imageCache?.object(forKey: self.URL) != nil + self.isImmediate = self.imageCache?.object(forKey: self.URL as NSURL) != nil } } @@ -48,7 +48,7 @@ public extension LoadImageOperation { guard !self.isCancelled else { return } - if let cachedImage = self.imageCache?.object(forKey: self.URL) + if let cachedImage = self.imageCache?.object(forKey: self.URL as NSURL) { self.image = cachedImage return @@ -65,7 +65,7 @@ public extension LoadImageOperation loadedImage.draw(at: CGPoint.zero) UIGraphicsEndImageContext() - self.imageCache?.setObject(loadedImage, forKey: self.URL) + self.imageCache?.setObject(loadedImage, forKey: self.URL as NSURL) self.image = loadedImage } diff --git a/Common/Database/DatabaseManager.swift b/Common/Database/DatabaseManager.swift index eab085d..36c2542 100644 --- a/Common/Database/DatabaseManager.swift +++ b/Common/Database/DatabaseManager.swift @@ -49,7 +49,7 @@ extension DatabaseManager let filename = identifier + "." + url.pathExtension let game = Game.insertIntoManagedObjectContext(context) - game.name = url.deletingPathExtension().lastPathComponent ?? NSLocalizedString("Game", comment: "") + game.name = url.deletingPathExtension().lastPathComponent game.identifier = identifier game.filename = filename diff --git a/Common/Importing/GamePickerController.swift b/Common/Importing/GamePickerController.swift index 9302b9c..1a0b45d 100644 --- a/Common/Importing/GamePickerController.swift +++ b/Common/Importing/GamePickerController.swift @@ -31,9 +31,9 @@ class GamePickerController: NSObject { var delegate: GamePickerControllerDelegate? - private weak var presentingViewController: UIViewController? + fileprivate weak var presentingViewController: UIViewController? - private func presentGamePickerControllerFromPresentingViewController(_ presentingViewController: UIViewController, animated: Bool, completion: ((Void) -> Void)?) + fileprivate func presentGamePickerControllerFromPresentingViewController(_ presentingViewController: UIViewController, animated: Bool, completion: ((Void) -> Void)?) { self.presentingViewController = presentingViewController @@ -84,7 +84,7 @@ class GamePickerController: NSObject self.presentingViewController?.present(alertController, animated: true, completion: completion) } - private func importGamesAtURLs(_ URLs: [URL]) + fileprivate func importGamesAtURLs(_ URLs: [URL]) { DatabaseManager.shared.importGames(at: URLs) { identifiers in diff --git a/Cores/DeltaCore b/Cores/DeltaCore index e02022d..f2d7845 160000 --- a/Cores/DeltaCore +++ b/Cores/DeltaCore @@ -1 +1 @@ -Subproject commit e02022d8d3d04624e10e5394319e7994265f2999 +Subproject commit f2d78459b5cc37039f72427dbdcfedde00947690 diff --git a/Cores/GBADeltaCore b/Cores/GBADeltaCore index 0a568b4..29b9929 160000 --- a/Cores/GBADeltaCore +++ b/Cores/GBADeltaCore @@ -1 +1 @@ -Subproject commit 0a568b49c332df8b09aa6ea03f06e9e612d27d8f +Subproject commit 29b9929d45d906590a332c0c32f377466485727d diff --git a/Cores/SNESDeltaCore b/Cores/SNESDeltaCore index 98c5826..fc4c0f0 160000 --- a/Cores/SNESDeltaCore +++ b/Cores/SNESDeltaCore @@ -1 +1 @@ -Subproject commit 98c58263eb9513df5c1cfc10ac8834474fbc9958 +Subproject commit fc4c0f0a4623ce9b561227c3d842647a716d32b9 diff --git a/Delta/Emulation/GameViewController.swift b/Delta/Emulation/GameViewController.swift index 5470c2c..502bf67 100644 --- a/Delta/Emulation/GameViewController.swift +++ b/Delta/Emulation/GameViewController.swift @@ -50,7 +50,7 @@ class GameViewController: DeltaCore.GameViewController } //MARK: - Private Properties - - private var pauseViewController: PauseViewController? + fileprivate var pauseViewController: PauseViewController? fileprivate var pausingGameController: GameController? // Prevents the same save state from being saved multiple times @@ -71,12 +71,12 @@ class GameViewController: DeltaCore.GameViewController } } - private var context = CIContext(options: [kCIContextWorkingColorSpace: NSNull()]) + fileprivate var context = CIContext(options: [kCIContextWorkingColorSpace: NSNull()]) // Sustain Buttons - private var updateSemaphores = Set() - private var sustainedInputs = [ObjectIdentifier: [Input]]() - private var reactivateSustainedInputsQueue: OperationQueue + fileprivate var updateSemaphores = Set() + fileprivate var sustainedInputs = [ObjectIdentifier: [Input]]() + fileprivate var reactivateSustainedInputsQueue: OperationQueue fileprivate var selectingSustainedButtons = false fileprivate var sustainButtonsContentView: UIView! @@ -192,7 +192,7 @@ extension GameViewController // MARK: - Segues /// KVO - override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { guard let identifier = segue.identifier else { return } @@ -312,7 +312,7 @@ extension GameViewController // MARK: - KVO /// KVO - override func observeValue(forKeyPath keyPath: String?, of object: AnyObject?, change: [NSKeyValueChangeKey : AnyObject]?, context: UnsafeMutablePointer?) + override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { guard context == &kvoContext else { return super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context) } diff --git a/Delta/Emulation/PreviewGameViewController.swift b/Delta/Emulation/PreviewGameViewController.swift index 1c1c963..52480fd 100644 --- a/Delta/Emulation/PreviewGameViewController.swift +++ b/Delta/Emulation/PreviewGameViewController.swift @@ -101,7 +101,7 @@ extension PreviewGameViewController // Dispose of any resources that can be recreated. } - override func observeValue(forKeyPath keyPath: String?, of object: AnyObject?, change: [NSKeyValueChangeKey : AnyObject]?, context: UnsafeMutableRawPointer?) + override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { guard context == &kvoContext else { return super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context) } diff --git a/Delta/Game Selection/GameCollectionViewController.swift b/Delta/Game Selection/GameCollectionViewController.swift index dabe7b4..935892a 100644 --- a/Delta/Game Selection/GameCollectionViewController.swift +++ b/Delta/Game Selection/GameCollectionViewController.swift @@ -95,7 +95,7 @@ extension GameCollectionViewController /// Segues extension GameCollectionViewController { - override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { guard let identifier = segue.identifier, identifier == "unwindFromGames" else { return } diff --git a/Delta/Game Selection/GamesViewController.swift b/Delta/Game Selection/GamesViewController.swift index 9f521f6..3ca7f03 100644 --- a/Delta/Game Selection/GamesViewController.swift +++ b/Delta/Game Selection/GamesViewController.swift @@ -122,7 +122,7 @@ extension GamesViewController extension GamesViewController { // In a storyboard-based application, you will often want to do a little preparation before navigation - override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { guard let identifier = segue.identifier, identifier == "embedPageViewController" else { return } diff --git a/Delta/Launch/LaunchViewController.swift b/Delta/Launch/LaunchViewController.swift index c530d8b..e6230f5 100644 --- a/Delta/Launch/LaunchViewController.swift +++ b/Delta/Launch/LaunchViewController.swift @@ -38,7 +38,7 @@ class LaunchViewController: UIViewController } } - override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { guard segue.identifier == "embedGameViewController" else { return } diff --git a/Delta/Pause Menu/Cheats/EditCheatViewController.swift b/Delta/Pause Menu/Cheats/EditCheatViewController.swift index 639d6ee..1ea6ef8 100644 --- a/Delta/Pause Menu/Cheats/EditCheatViewController.swift +++ b/Delta/Pause Menu/Cheats/EditCheatViewController.swift @@ -200,7 +200,7 @@ extension EditCheatViewController // Dispose of any resources that can be recreated. } - override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { self.nameTextField.resignFirstResponder() self.codeTextView.resignFirstResponder() diff --git a/Delta/Pause Menu/PauseViewController.swift b/Delta/Pause Menu/PauseViewController.swift index 79e89b6..da99975 100644 --- a/Delta/Pause Menu/PauseViewController.swift +++ b/Delta/Pause Menu/PauseViewController.swift @@ -68,12 +68,12 @@ class PauseViewController: UIViewController, PauseInfoProviding extension PauseViewController { - override func targetViewController(forAction action: Selector, sender: AnyObject?) -> UIViewController? + override func targetViewController(forAction action: Selector, sender: Any?) -> UIViewController? { return self.pauseNavigationController } - override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { guard let identifier = segue.identifier else { return } diff --git a/Delta/Pause Menu/Save States/SaveStatesViewController.swift b/Delta/Pause Menu/Save States/SaveStatesViewController.swift index 1a8ba4f..37b34ce 100644 --- a/Delta/Pause Menu/Save States/SaveStatesViewController.swift +++ b/Delta/Pause Menu/Save States/SaveStatesViewController.swift @@ -58,7 +58,7 @@ class SaveStatesViewController: UICollectionViewController fileprivate var fetchedResultsController: NSFetchedResultsController! fileprivate let imageOperationQueue = RSTOperationQueue() - fileprivate let imageCache = NSCache() + fileprivate let imageCache = NSCache() fileprivate var emulatorCoreSaveState: SaveStateProtocol? fileprivate var selectedSaveState: SaveState? @@ -210,7 +210,7 @@ private extension SaveStatesViewController imageOperation.isImmediate = true } - self.imageOperationQueue.addOperation(imageOperation, forKey: indexPath) + self.imageOperationQueue.addOperation(imageOperation, forKey: indexPath as NSCopying) } let deltaCore = Delta.core(for: self.game.type)! @@ -558,7 +558,7 @@ extension SaveStatesViewController: UIViewControllerPreviewingDelegate let saveState = self.fetchedResultsController.object(at: indexPath) as! SaveState let actions = self.actionsForSaveState(saveState)?.previewActions ?? [] - let previewImage = self.imageCache.object(forKey: saveState.imageFileURL) ?? UIImage(contentsOfFile: saveState.imageFileURL.path) + let previewImage = self.imageCache.object(forKey: saveState.imageFileURL as NSURL) ?? UIImage(contentsOfFile: saveState.imageFileURL.path) let previewGameViewController = PreviewGameViewController() previewGameViewController.game = self.game @@ -658,7 +658,7 @@ extension SaveStatesViewController override func collectionView(_ collectionView: UICollectionView, didEndDisplaying cell: UICollectionViewCell, forItemAt indexPath: IndexPath) { - let operation = self.imageOperationQueue[indexPath] + let operation = self.imageOperationQueue[indexPath as NSCopying] operation?.cancel() } } diff --git a/Delta/Settings/ControllersSettingsViewController.swift b/Delta/Settings/ControllersSettingsViewController.swift index 9a6d769..f5499ae 100644 --- a/Delta/Settings/ControllersSettingsViewController.swift +++ b/Delta/Settings/ControllersSettingsViewController.swift @@ -63,7 +63,7 @@ class ControllersSettingsViewController: UITableViewController //MARK: - Storyboards - - override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { guard let indexPath = self.tableView.indexPathForSelectedRow else { return } diff --git a/Delta/Settings/SettingsViewController.swift b/Delta/Settings/SettingsViewController.swift index a0eddc0..89fb488 100644 --- a/Delta/Settings/SettingsViewController.swift +++ b/Delta/Settings/SettingsViewController.swift @@ -49,7 +49,7 @@ class SettingsViewController: UITableViewController super.didReceiveMemoryWarning() } - override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == SettingsSegues.Controllers.rawValue {