Riley Testut
3227ee4c49
Migrates Core Data model from v6 to v7
2023-07-10 16:09:07 -05:00
Riley Testut
45ed97c255
Actually fixes crash loading save states on iOS 17
...
The underlying issue causing the crash is that we were returning cached *supplementary view* layout attributes by accident from layoutAttributesForItem(at:).
Now, we only cache layout attributes for cells.
2023-07-10 15:39:31 -05:00
Riley Testut
e33a7c662f
[Delta Sync] Delays sync until after interactive Settings dismissal has completed
...
Avoids false-positives when user scrolls to top of a Settings screen.
2023-07-07 18:22:33 -05:00
Riley Testut
5779927831
[Delta Sync] Delays seeding Harmony database until initial sync
2023-07-07 18:19:07 -05:00
Riley Testut
043fb923ae
[Delta Sync] Displays activity indicator when signing-in
...
Without an indicator it can feel like the app has froze, when really it’s just preparing to sync.
2023-07-07 14:59:41 -05:00
Riley Testut
19fb333a67
Toggles Delta Sync switch back on if user cancels “Disable Syncing?” warning alert
2023-07-06 19:11:09 -05:00
Riley Testut
35a8f90a1c
Converts Delta Sync action sheets into alerts
...
Implicitly fixes crashing on iPad.
2023-07-06 18:44:18 -05:00
Riley Testut
15e228f287
Adds GameSave.sha1 to sync hash between devices
...
Fixes redundant record uploads post-sync due to comparing hashes against locally-cached hash via extended attributes.
2023-06-28 13:33:16 -05:00
Riley Testut
707116a39b
Automatically resolves Cheat + ControllerSkin sync conflicts
2023-06-27 18:58:41 -05:00
Riley Testut
6909b6248f
Skips checksum verification when importing zipped games
...
Verification can take an annoyingly long time, especially for larger ROMs.
2023-06-19 19:19:40 -05:00
Riley Testut
8bd6fe1e11
Replaces UIDocumentBrowserViewController with UIDocumentPickerViewController on iOS 17+
...
Prior to iOS 17, UIDocumentPickerViewController was too buggy to reliably use with iCloud Drive.
2023-06-19 19:19:40 -05:00
Riley Testut
4cf705f141
[ExpFeat] Fixes saving screenshots to Photos as JPEGs
2023-06-16 16:57:00 -05:00
Riley Testut
99417b418a
[ExpFeat] Adds missing @unknown default to PHAuthorizationStatus switch statement
2023-06-16 16:46:35 -05:00
Riley Testut
648e9b8393
[ExpFeat] Fixes saving screenshots to Photos with .limited authorization
2023-06-16 16:44:24 -05:00
Riley Testut
69eff8fa28
Fixes displaying system name in dark text (again) when remapping inputs on iOS 17
2023-06-16 15:55:51 -05:00
Riley Testut
3e858c652f
Fixes crash loading save states on iOS 17
...
Crashes due to GridCollectionViewLayout returning outdated cached layout information when inserting “Auto” save states section for the first time.
To fix this, we now clear the layout cache in invalidateLayout(with:) when relevant.
2023-06-16 15:25:49 -05:00
Riley Testut
21147969ea
Fixes GridCollectionViewCell "Unable to simultaneously satisfy constraints" runtime error
2023-06-16 15:18:02 -05:00
Riley Testut
731de7023f
Merge branch 'app_store' into develop
2023-06-16 15:14:39 -05:00
Riley Testut
2e21141bc6
[Pods] Removes Fabric + Crashlytics
2023-05-10 13:36:44 -05:00
Riley Testut
7b9ab2488e
Fixes accidentally deleting Games directory during sync in rare circumstances
...
If a Game with empty filename happens to be deleted (e.g. during sync merge), it will accidentally delete the *entire* Games folder due to its fileURL being “Games/[empty]”.
To prevent this, we now explicitly check that a Game’s identifier isn’t empty AND that that Game.fileURL doesn’t point to a directory before deleting local files.
2023-05-02 14:29:23 -05:00
Riley Testut
00121bd31f
[iPad] Fixes crash when resolving sync merge conflicts
2023-05-02 14:29:23 -05:00
Riley Testut
ea260cb8a6
Updates Settings to use large titles where appropriate
...
* SettingsViewController
* PreferredControllerSkinsViewController
2023-05-02 14:29:23 -05:00
Riley Testut
b0bd5ba906
Updates most Settings view controllers to use .insetGrouped style
...
Excludes PreferredControllerSkinsViewController and ControllerSkinsViewController
2023-04-28 17:22:20 -05:00
Riley Testut
726c4ab93b
Resolves Settings.storyboard ambiguity warnings
...
Expands static UITableViewController subclasses to show all static cells.
Wow I wish I knew this years ago…
2023-04-28 16:54:21 -05:00
Riley Testut
b1a3a5076f
Merge branch 'experimental_features' into develop
...
# Conflicts:
# Delta.xcodeproj/project.pbxproj
# Delta/Emulation/GameViewController.swift
# Delta/Pause Menu/PauseViewController.swift
2023-04-28 15:51:08 -05:00
Riley Testut
9470caf83a
Sorts Delta’s Info.plist items alphabetically
2023-04-28 15:42:22 -05:00
Riley Testut
75814ca04d
[Experimental Feature] Adds VariableFastForward.allowUnrestrictedSpeeds @Option
...
When enabled, the user can choose any integer speed from 1x to 8x for their preferred Fast Forward speed, regardless of the system’s maximumFastForwardSpeed.
2023-04-28 15:42:22 -05:00
Riley Testut
6fd7f9e1d5
[Experimental Feature] Implements VariableFastForward feature
2023-04-28 15:42:10 -05:00
Riley Testut
7fceccc114
[Experimental Feature] Toast Notifications ( #244 )
...
commit c340cf842fbf5fea476a6637efe4928dbd734eba
Author: Chris Rittenhouse <dev@litritt.com>
Date: Thu Apr 27 17:24:30 2023 -0400
Addresses Riley's requested changes
- Minor code structure change in extension
- Minor changes to text and phrasing
commit 2a928dfa637dfb503e861dc863f6f85f5240941a
Author: Chris Rittenhouse <dev@litritt.com>
Date: Wed Apr 26 20:11:38 2023 -0400
Adds implementation for Toast Notifications Experimental Feature
commit 4fa7d139669994eff888c41bf7af9ac0b6cd2a75
Author: Chris Rittenhouse <dev@litritt.com>
Date: Wed Apr 26 20:11:04 2023 -0400
Adds @Feature and @Options for Toast Notifications Experimental Feature
Co-authored-by: Chris Rittenhouse <dev@litritt.com>
2023-04-28 15:32:13 -05:00
Chris Rittenhouse
6bdc05f640
[Experimental Feature] Game Screenshots ( #242 )
...
* Adds extension to handle interactions with Photos app
- isAuthorized to check/ask for authorization
- saveUIImage to save a UIImage to Photos
* Adds a Pause Menu button for taking game screenshots
* Adds @Feature and @Options for Game Screenshots
* Implements Game Screenshots feature in GameViewController
* Updates project settings
* Passes call to save to Photos as a closure into authorization prompt
- Ensures that the screenshot is saved when the user is first prompted for access to Photos
- More elegant extension code
---------
Co-authored-by: Riley Testut <riley@rileytestut.com>
2023-04-28 14:35:26 -05:00
Chris Rittenhouse
05e94902b8
[Experimental Feature] Show Status Bar ( #241 )
...
* Adds @Feature for Show Status Bar
* Shows the Status Bar if the @Feature is enabled
* Forces light content on Status Bar
2023-04-28 14:26:57 -05:00
Riley Testut
233ef7d418
Removes accidental togglePreviewsEnabled: action selector from isAltJITEnabled switch
2023-04-27 16:39:13 -05:00
Riley Testut
39522fda58
[Experimental Feature] Supports AirPlay controller skins
...
Allows users to customize controller skin when AirPlaying games to an external display.
2023-04-27 14:58:51 -05:00
Riley Testut
1137189b57
Adds Nintendo DS AirPlay settings to customize how games appear on TV
...
* Top Screen Only = Shows just the top screen on TV
* Layout Horizontally = Places screens side-by-side on TV (instead of stacked vertically)
2023-04-26 16:07:17 -05:00
Riley Testut
32e7c1f93e
Supports AirPlaying games to external displays
2023-04-26 14:56:45 -05:00
Riley Testut
77b26210ab
[Experimental Features] Adds (unimplemented) VariableFastForward feature
2023-04-21 14:51:45 -05:00
Riley Testut
20749c5419
Adds “Experimental Features” section to SettingsViewController
2023-04-21 14:51:45 -05:00
Riley Testut
bd0c72e847
Adds ExperimentalFeaturesView to browse and configure experimental features
2023-04-21 14:03:10 -05:00
Riley Testut
3fb7e8b4b7
[Features] Moves Notification.Name.settingsDidChange to DeltaFeatures
...
Re-exports as Settings.didChangeNotification to allow accessing without explicitly importing DeltaFeatures.
2023-04-13 15:57:25 -05:00
Riley Testut
9406cfe6cc
[Features] Moves Settings.Name + Settings.NotificationUserInfoKey to DeltaFeatures
...
Also refactors from enums to RawRepresentable structs to support arbitrary values.
2023-04-13 15:43:43 -05:00
Riley Testut
10af836105
Supports local multiplayer (up to 4 players)
...
Heavily based on Ian Clawson’s PRs, including #128
2023-02-28 18:49:32 -06:00
Riley Testut
5a019e5950
Optimizes default input mappings for Joy-Cons, Switch Online, and other non-MFi controllers
...
* Uses Home button as Menu button when possible
* Supports “Start/Select” buttons for Switch NES controllers
* Rotates single JoyCon face buttons 90º
* Re-maps single JoyCon control stick from dPad to leftAnalogStick
* Re-maps L1/R1/L2/R2 buttons for N64 core
2023-02-28 18:12:14 -06:00
Riley Testut
dd314a12af
Automatically disables AltJIT for non-BETA builds
2023-02-27 12:51:14 -06:00
Riley Testut
68ad2185dd
Hides AltJIT setting for non-BETA builds
2023-02-27 12:46:04 -06:00
Riley Testut
66e5258368
Updates Chris Rittenhouse credits
...
Replaces GitHub link with personal website, and fixes incorrect Twitter handle.
2023-02-06 15:35:05 -06:00
Riley Testut
6a683be907
Replaces cheatbase.sqlite with trimmed cheatbase.zip
...
CheatBase now only contains two tables, CHEATS and CHEAT_CATEGORIES.
Delta unzips SQLite database from cheatbase.zip on launch whenever CheatBase.cheatsVersion changes.
2023-02-06 15:11:27 -06:00
Riley Testut
d79002ea6b
Changes cheat activation alert title to “How to Activate"
2023-02-06 14:47:06 -06:00
Riley Testut
913cb788a2
Improves CheatBase error messages
2023-02-06 14:45:48 -06:00
Riley Testut
45665138b2
Adds “Contributors” section to Credits
...
Lists everyone who has contributed to Delta in some way besides the core team, as well as what they contributed.
Moves Grant Gliner and Chris Rittenhouse to Contributors from main Credits.
2023-02-06 14:35:43 -06:00
Riley Testut
d1c45c9ad0
Adds Shane Gill to Credits
2023-02-06 13:53:15 -06:00