Riley Testut
ec336c39db
[Delta Sync] Fixes incorrectly marking some GameSaves as conflicted during initial sync
...
Fixes an edge case where updating from Delta 1.4.x to Delta 1.5 could result in false-conflicts if user had previously updated to Delta 1.5 in the past (including betas). This is because GameSaves updated on 1.5 have a new `sha1` field, which changes the hash for the whole record.
2024-01-17 18:35:53 -06:00
Riley Testut
d5f910ff00
Adds missing throws to SaveState.awakeFromSync()
2023-08-11 18:57:28 -05:00
Riley Testut
d1643dbc8f
Throws SyncValidationError when downloading corrupted versions of “verified” SaveStates
...
After reviewing save states upon first launch, Delta will upload the verified game ID as metadata to ensure other devices don’t download remote versions with incorrect relationships.
2023-08-11 18:57:27 -05:00
Riley Testut
061f5abd3e
Allows explicitly downloading corrupted record versions from RecordVersionsViewController
2023-08-10 19:33:27 -05:00
Riley Testut
fcdd3c7840
Throws SyncValidationError when downloading corrupted Game or GameSave record
2023-08-10 19:33:27 -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
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
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
ea871c7520
Removes unnecessary ControllerSkin.inputs(for:at:)
...
ControllerSkinProtocol no longer requires this method, so we can just remove it.
2022-08-12 19:26:13 -05:00
Riley Testut
17e1bf710b
Dynamically maps outdated artwork URLs to correct URLs
2021-12-02 13:12:07 -08:00
Riley Testut
98ed657f8a
Improves support for transparent and/or rotated custom artwork
2021-03-10 14:14:14 -06:00
Riley Testut
bf2461fae1
Enables syncing DS(i) BIOS files
...
Excludes DSi NAND for now, since it is ~240MB and Harmony can’t selectively download files (yet).
2021-02-18 13:45:49 -06:00
Riley Testut
c67b72068a
Adds missing imports
2021-02-09 12:26:16 -06:00
Riley Testut
c7329136ac
Supports touch inputs when external controller is connected
2020-12-10 15:34:16 -06:00
Riley Testut
358accbcb7
Adds DSi support
...
Requires DSi BIOS files.
2020-11-24 13:06:29 -06:00
Riley Testut
e11e4437c5
Adds coreID to SaveState’s Harmony metadata for backwards compatibility
2020-04-27 13:03:28 -07:00
Riley Testut
01320b4dec
Adds SaveState.coreIdentifier to filter out save states from other cores
...
Prevents DeSmuME save states from appearing while using melonDS core and vice versa.
2020-04-23 17:24:04 -07:00
Riley Testut
77da71cd62
Adds “Home Screen” DS game to boot into DS main menu
2020-04-23 17:18:59 -07:00
Riley Testut
4ba2fa8d21
Adds support for new Nintendo DS controller skin
2020-02-11 16:34:57 -08:00
Riley Testut
a0f60de926
Dynamically maps old album artwork URLs to new ones
2019-12-11 16:11:25 -08:00
Riley Testut
ef64a15e37
Adds ability to reset controller mappings to default mapping
2019-09-30 17:27:06 -07:00
Riley Testut
1e350e1369
Automatically resolves GameCollection + GameControllerInputMapping conflicts
2019-09-19 13:29:51 -07:00
Riley Testut
9b28d42814
Updates input + video logic to support revised DeltaCore API
...
- Continuous inputs
- OpenGLES-based rendering
- Thumbsticks in controller skins
2019-04-30 15:42:30 -07:00
Riley Testut
3bd0a35c61
Adds support for syncing GameSaves
2019-01-29 15:07:46 -08:00
Riley Testut
bace668739
Adds SyncResultViewController to view errors that occured during sync
2018-12-04 17:21:04 -08:00
Riley Testut
eaa8429bd8
Adds SaveState.localizedName
2018-12-04 17:06:42 -08:00
Riley Testut
5354d779c1
Adds SyncStatusViewController to view basic sync status of games
2018-11-20 13:04:55 -06:00
Riley Testut
a3108e6c3a
Adds support for syncing GameControllerInputMappings
2018-11-14 15:36:16 -08:00
Riley Testut
557529b1e7
Adds support for syncing ControllerSkins
2018-11-14 14:26:19 -08:00
Riley Testut
5b64ca7c7b
Adds support for syncing Cheats
2018-11-14 14:10:19 -08:00
Riley Testut
fb9272cd6c
Adds support for syncing SaveStates
2018-11-14 13:42:36 -08:00
Riley Testut
f858a3eb07
Adds support for syncing Games and GameCollections
2018-11-14 13:18:48 -08:00
Riley Testut
746ed9638b
Changes Game.gameCollections to single Game.gameCollection
2018-11-13 16:13:03 -08:00
Riley Testut
a9c3e85df8
Adds support for 3D Touch app icon game shortcuts
2018-01-04 14:17:59 -06:00
Riley Testut
18d6bd262a
Adds support for iPhone X-optimized controller skins
2017-12-19 01:54:10 -06:00
Riley Testut
fb11f6dec7
Replaces fileprivate with private. THANK FUCKING GOD.
2017-10-12 15:33:16 -07:00
Riley Testut
61440ef994
Adds support for handling ActionInputs from GameControllers
...
• Quick Save
• Quick Load
• Fast Forward
2017-10-10 14:54:20 -07:00
Riley Testut
94cbdbe159
Persists customized input mappings between app launches
2017-09-28 12:55:05 -07:00
Riley Testut
d70105e30e
Adds ControllerInputsViewController to customize external game controller inputs
...
Includes necessary code changes to use refactored DeltaCore Input logic
2017-09-27 13:08:41 -07:00
Riley Testut
78c47015a5
Adds support for selecting game artwork from clipboard and photo library
2017-05-02 03:21:40 -07:00
Riley Testut
93493534e0
Adds support for GBC games
...
Adds System enum to represent supported game systems, simplifying the process to add future game systems.
2017-04-30 21:39:13 -07:00
Riley Testut
5c6c66c9a1
Fixes crashes when loading Game or SaveState that had been overwritten by a duplicate entry
...
When Core Data detects a duplicate entry, it deletes the previous entry. This caused Delta to delete the associated ROM and Save State files. Now, there is a check in prepareForDeletion to make sure the object being deleted is not simply being replaced by a newer entry during a merge.
2016-12-26 15:56:33 -06:00
Riley Testut
062abf6dbe
Adds ability to import games & controller skins from other apps
2016-12-22 16:59:29 -06:00
Riley Testut
93119b4714
Reorganizes Xcode project structure
...
Merges “Common” folder into main Delta target folder
2016-12-20 18:24:43 -06:00