Commit Graph

134 Commits

Author SHA1 Message Date
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
4cf705f141 [ExpFeat] Fixes saving screenshots to Photos as JPEGs 2023-06-16 16:57:00 -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
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
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
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
77983e73dd Adds “Respect Silent Mode” setting to configure whether Delta plays game audio in Silent Mode
Delta will also now automatically mute game audio if another app is playing audio.

[Missed] Mutes game audio correctly
2023-01-31 14:34:32 -06:00
Riley Testut
5805b859f5 [iPad] Dismisses keyboard controller when pausing 2022-08-12 19:38:28 -05:00
Riley Testut
d061f56951 [iPad] Fixes keyboard controller not appearing when selecting buttons to hold 2022-08-12 19:37:26 -05:00
Riley Testut
c3e9cfe526 [iPad] Fixes keyboard controller sometimes using incorrect skin orientation 2022-08-12 19:35:37 -05:00
Riley Testut
e1ee540d27 [iPad] Fixes automatically pausing + resuming emulation with Stage Manager on iOS 16 beta 5
We use DeltaCore’s new UIWindow subclass GameWindow in SceneDelegate to fix issues that were introduced with iOS 16 beta 5.

Also removes touchControllerSkin.layoutGuide = self.view.safeAreaLayoutGuide assignment which no longer compiles due to TouchControllerSkin refactoring.
2022-08-12 19:23:23 -05:00
Riley Testut
bb812c7f02 [iPad] Uses window size to determine TouchControllerSkin axis, not interface orientation
iPads in landscape orientation should only place DS screens side-by-side if the app window is wider than it is tall. Otherwise, it should use the default vertical screen layout.
2022-08-12 19:11:58 -05:00
Riley Testut
f14bb0f890 Supports AltJIT
Automatically enables JIT for MelonDS core when on the same WiFi as AltServer.
2021-11-16 14:39:48 -08:00
Riley Testut
46cb7db897 Disables cheats for Genesis games 2021-02-10 12:29:40 -06:00
Riley Testut
1b874ce9c1 Displays preview save state image even if context menu previews are disabled 2021-01-13 14:41:27 -06:00
Riley Testut
d0823b1acb Raises MelonDSDeltaCore maximum Fast Forward speed to 3x 2021-01-11 14:14:02 -06:00
Riley Testut
c7329136ac Supports touch inputs when external controller is connected 2020-12-10 15:34:16 -06:00
Riley Testut
75869c06fd Fixes overwriting save file when previewing games 2020-04-27 13:13:34 -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
6f336a82a5 Adds DS settings UI to import melonDS BIOS + switch DS cores 2020-04-23 17:16:44 -07:00
Riley Testut
35fe306c12 Switches to melonDS-based core for DS games 2020-04-23 16:52:29 -07:00
Riley Testut
4ba2fa8d21 Adds support for new Nintendo DS controller skin 2020-02-11 16:34:57 -08:00
Riley Testut
59beb243c0 Adds Save State and Fast Forward controller skin actions 2020-02-07 16:01:49 -08:00
Riley Testut
0373b757f7 Adds ability to assign controller skins per game 2020-02-07 15:57:11 -08:00
Riley Testut
cd7e9652ab Replaces peek & pop with context menus on iOS 13+ 2020-02-06 14:37:21 -08:00
Riley Testut
d7ed26c372 Fixes incorrect controller view sizing when changing skins 2019-10-10 01:21:28 -07:00
Riley Testut
2c05e1b70f Adds option to disable haptic feedback for touch inputs 2019-09-30 17:31:13 -07:00
Riley Testut
86fd55b17a Limits N64 Fast Forwarding to devices with A9 or better 2019-09-21 17:58:39 -07:00
Riley Testut
b63853d7ce Renames “Sustain Buttons” to “Hold Buttons” 2019-08-07 14:49:12 -07:00
Riley Testut
ef57d882b3 Resets sustained inputs when changing games 2019-08-07 14:42:08 -07:00
Riley Testut
5282265fd5 Fixes deep links not working when current game is paused 2019-08-07 13:15:59 -07:00
Riley Testut
2a81710d07 Adds support for DS games 2019-08-05 23:03:08 -07:00
Riley Testut
cb2caa7ef1 Replaces screen edge gesture hack with preferredScreenEdgesDeferringSystemGestures
We want priority over system gestures when tapping near edges of screen. Previously, we needed to access the private screen edge gesture recognizer, but now we can use preferredScreenEdgesDeferringSystemGestures.
2019-08-05 22:58:59 -07:00
Riley Testut
283453b387 Fixes checking UIView.window on background thread 2019-06-21 14:11:21 -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
3ecee031be Compares hashes before marking game saves as updated 2019-03-26 00:55:52 -07:00
Riley Testut
f4374ed54a Adds support for WarioWare: Twisted! 2019-03-01 13:36:00 -08:00
Riley Testut
3bd0a35c61 Adds support for syncing GameSaves 2019-01-29 15:07:46 -08:00
Riley Testut
545c5a223f Adds basic UI for selecting syncing services 2018-11-12 12:43:30 -08:00
Riley Testut
4939a7da25 Removes 4.2 migrator helper functions 2018-11-12 11:51:04 -08:00
Riley Testut
ba653037b1 Migrates to Swift 4.2 via Xcode 10.1 migrator 2018-11-12 11:45:55 -08:00
Riley Testut
a9c3e85df8 Adds support for 3D Touch app icon game shortcuts 2018-01-04 14:17:59 -06:00
Riley Testut
d3d56d3454 Fixes rare crash when updating connected controllers 2018-01-04 14:13:04 -06:00