Compare commits
35 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c4926a6626 | ||
|
|
52d9e97f64 | ||
|
|
9963bb84b4 | ||
|
|
ec336c39db | ||
|
|
1d37a1dae8 | ||
|
|
066993db67 | ||
|
|
ed5f0174d7 | ||
|
|
adb4d21f99 | ||
|
|
9dd4d01b66 | ||
|
|
5f2de79221 | ||
|
|
7ea9369356 | ||
|
|
995dd6afdf | ||
|
|
c5333ad118 | ||
|
|
47b96d1cf6 | ||
|
|
3e97e5c951 | ||
|
|
aea0527828 | ||
|
|
a79924d340 | ||
|
|
5ffccbb884 | ||
|
|
41bb827d7b | ||
|
|
a87fea63ad | ||
|
|
4b159603a1 | ||
|
|
a8b9bd1092 | ||
|
|
cc12806273 | ||
|
|
594ff25c5c | ||
|
|
aa5d53097f | ||
|
|
7f79e1d3a6 | ||
|
|
17f8f95727 | ||
|
|
3b208465e0 | ||
|
|
7806c85039 | ||
|
|
cfa31678ea | ||
|
|
c293c50965 | ||
|
|
785136a663 | ||
|
|
0d27892c8d | ||
|
|
3e216515b7 | ||
|
|
34afd64ae0 |
35
.gitignore
vendored
Normal file
35
.gitignore
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# Mac OS X
|
||||||
|
#
|
||||||
|
*.DS_Store
|
||||||
|
|
||||||
|
# Xcode
|
||||||
|
#
|
||||||
|
|
||||||
|
## Build generated
|
||||||
|
build/
|
||||||
|
DerivedData
|
||||||
|
.build
|
||||||
|
|
||||||
|
## Various settings
|
||||||
|
*.pbxuser
|
||||||
|
!default.pbxuser
|
||||||
|
*.mode1v3
|
||||||
|
!default.mode1v3
|
||||||
|
*.mode2v3
|
||||||
|
!default.mode2v3
|
||||||
|
*.perspectivev3
|
||||||
|
!default.perspectivev3
|
||||||
|
xcuserdata
|
||||||
|
|
||||||
|
## Other
|
||||||
|
*.xccheckout
|
||||||
|
*.moved-aside
|
||||||
|
*.xcuserstate
|
||||||
|
*.xcscmblueprint
|
||||||
|
|
||||||
|
## Obj-C/Swift specific
|
||||||
|
*.hmap
|
||||||
|
*.ipa
|
||||||
|
|
||||||
|
## Project-Specific
|
||||||
|
Delta.playground
|
||||||
36
.gitmodules
vendored
Normal file
36
.gitmodules
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
[submodule "Cores/DeltaCore"]
|
||||||
|
path = Cores/DeltaCore
|
||||||
|
url = git@github.com:rileytestut/DeltaCore.git
|
||||||
|
[submodule "Cores/SNESDeltaCore"]
|
||||||
|
path = Cores/SNESDeltaCore
|
||||||
|
url = git@github.com:rileytestut/SNESDeltaCore.git
|
||||||
|
[submodule "External/Roxas"]
|
||||||
|
path = External/Roxas
|
||||||
|
url = git@github.com:rileytestut/Roxas.git
|
||||||
|
[submodule "Cores/GBADeltaCore"]
|
||||||
|
path = Cores/GBADeltaCore
|
||||||
|
url = git@github.com:rileytestut/GBADeltaCore.git
|
||||||
|
[submodule "Cores/GBCDeltaCore"]
|
||||||
|
path = Cores/GBCDeltaCore
|
||||||
|
url = git@github.com:rileytestut/GBCDeltaCore.git
|
||||||
|
[submodule "External/Harmony"]
|
||||||
|
path = External/Harmony
|
||||||
|
url = https://github.com/rileytestut/Harmony.git
|
||||||
|
[submodule "Cores/NESDeltaCore"]
|
||||||
|
path = Cores/NESDeltaCore
|
||||||
|
url = git@github.com:rileytestut/NESDeltaCore.git
|
||||||
|
[submodule "Cores/N64DeltaCore"]
|
||||||
|
path = Cores/N64DeltaCore
|
||||||
|
url = git@github.com:rileytestut/N64DeltaCore.git
|
||||||
|
[submodule "Cores/DSDeltaCore"]
|
||||||
|
path = Cores/DSDeltaCore
|
||||||
|
url = https://github.com/rileytestut/DSDeltaCore.git
|
||||||
|
[submodule "Cores/MelonDSDeltaCore"]
|
||||||
|
path = Cores/MelonDSDeltaCore
|
||||||
|
url = https://github.com/rileytestut/MelonDSDeltaCore.git
|
||||||
|
[submodule "Cores/GPGXDeltaCore"]
|
||||||
|
path = Cores/GPGXDeltaCore
|
||||||
|
url = https://github.com/rileytestut/GPGXDeltaCore.git
|
||||||
|
[submodule "External/CheatBase"]
|
||||||
|
path = External/CheatBase
|
||||||
|
url = https://github.com/rileytestut/CheatBase.git
|
||||||
62
CONTRIBUTING.md
Normal file
62
CONTRIBUTING.md
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
Thank you for your interest in contributing to Delta! Delta is an open-source project that aims to provide a seamless and enjoyable experience for playing classic video games on iOS devices. We welcome contributions from anyone who shares our vision and passion for emulation.
|
||||||
|
|
||||||
|
# How to Contribute
|
||||||
|
|
||||||
|
We are currently accepting these types of contributions for Delta:
|
||||||
|
|
||||||
|
- Experimental Features
|
||||||
|
- Bug fixes
|
||||||
|
|
||||||
|
All features added by third-party contributors will be considered *experimental* at first, and are disabled by default unless specifically enabled by the user from the Experimental Features section in Delta's settings. Experimental Features are only available in the beta version of Delta, but once a feature has been sufficiently tested we may choose to "graduate" it into an official Delta feature, at which point it will become available to all users.
|
||||||
|
|
||||||
|
For more specific instructions regarding contributing features to Delta, see [ExperimentalFeatures.md](Docs/ExperimentalFeatures.md).
|
||||||
|
|
||||||
|
## Contribution Guidelines
|
||||||
|
|
||||||
|
**Check out our project board first!**
|
||||||
|
We have categorized issues and pull requests to highlight areas where help is most needed. You are welcome to contribute something new, but keep in mind that we may focus on more highly-requested items first.
|
||||||
|
|
||||||
|
**Keep changes small**
|
||||||
|
The smaller a pull request is the more likely it will be merged. Make sure your PRs are limited to just the relevant changes and nothing else. Avoid pure formatting changes to code that has not been modified otherwise.
|
||||||
|
|
||||||
|
**Make sure contributions are 100% complete**
|
||||||
|
We can't accept unfinished pull requests, so please make sure your contribution is ready to be merged as-is.
|
||||||
|
|
||||||
|
**Extensively test your changes**
|
||||||
|
Make sure your changes work as expected on different devices and iOS versions, and doesn't result in additional bugs.
|
||||||
|
|
||||||
|
**Commit only relevant changes of changed files**
|
||||||
|
Some files, such as Storyboards and Xcode projects, often contain changes that are unrelated to your specific change. **You should almost never commit an entire Storyboard or Xcode project as-is.**
|
||||||
|
|
||||||
|
**Not all contributions will be accepted**
|
||||||
|
To maximize your chances of getting your pull request accepted, make sure to read all the guidelines carefully and familiarize yourself with the project structure, coding style, and best practices.
|
||||||
|
|
||||||
|
## Code Style and Conventions
|
||||||
|
|
||||||
|
**Please make sure your code follows these guidelines and is free of compiler warnings before submitting a pull request.**
|
||||||
|
|
||||||
|
* All contributions should be pure Swift, no C++ or Objective-C (unless absolutely necessary)
|
||||||
|
|
||||||
|
* Follow the [Swift API Design Guidelines](https://swift.org/documentation/api-design-guidelines/) for writing clean, consistent, and expressive Swift code
|
||||||
|
|
||||||
|
* Use Allman (a.k.a. brackets on new line) brace style (exceptions: closures and single-line statements)
|
||||||
|
|
||||||
|
* Use 4 spaces for indentation. Do not use tabs or mix tabs and spaces.
|
||||||
|
|
||||||
|
* Use whitespace liberally to make code easier to read
|
||||||
|
|
||||||
|
* Use descriptive variable names
|
||||||
|
|
||||||
|
* Lean on the side of commenting (more comments make it more likely to be approved)
|
||||||
|
|
||||||
|
* Prefer structs over classes. Classes should be used only if you need a reference type, or to interoperate with ObjC.
|
||||||
|
|
||||||
|
When editing existing code, please preserve the original formatting of the code as much as possible (e.g. brace style). Do not make unnecessary changes to whitespace, indentation, line breaks or comments. This helps keep the diffs clean and easy to review.
|
||||||
|
|
||||||
|
For example, when editing code that uses the Allman brace style (a.k.a. brackets on new line), make sure any `if`/`else` statements you write also place the bracket on a new line.
|
||||||
|
|
||||||
|
## Submitting Pull Requests
|
||||||
|
|
||||||
|
All pull requests must adhere to the PR template, filling out each section as appropriate. **Only PRs that follow this template will be accepted.**
|
||||||
|
|
||||||
|
Once you've submitted your PR, we will review it and provide feedback as soon as we can.
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit cdd384dbacd5033183bbc3697c9738e3fb0b1d07
|
Subproject commit 74d2a7a6e36035cb5730d0b0cf2456cbeb6faf0c
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit 18c595887a12ef23e0d54c63f83c91c99e7f4827
|
Subproject commit efb470d7af8de4342b908dc37a8ce7ac5e24c3e8
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit c8816c51f82210a9c4cc62b1a7c53fa21bc705ee
|
Subproject commit b0f62a51b65104d782b91b21b57fea4b94a33d68
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit bc3e0178caa29b4c1e8872133dd00aa55cc9da2a
|
Subproject commit 7dae837acc0f5deb8a951d2427a4fb2887f030a0
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit d5717291325578f64d519822aeb2be81217c67f3
|
Subproject commit 3a4c916fc88404d8ace5546c9aae2cdba9e8a717
|
||||||
@ -33,10 +33,6 @@
|
|||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
1FA4ABA79AB72914FE414A61 /* libPods-Delta.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DC866E433B3BA9AE18ABA1EC /* libPods-Delta.a */; };
|
1FA4ABA79AB72914FE414A61 /* libPods-Delta.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DC866E433B3BA9AE18ABA1EC /* libPods-Delta.a */; };
|
||||||
7509F8252BEC7FAB00E45B9E /* AboutVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7509F8242BEC7FAB00E45B9E /* AboutVC.xib */; };
|
|
||||||
7509F8262BEC7FAB00E45B9E /* AboutVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7509F8232BEC7FAB00E45B9E /* AboutVC.swift */; };
|
|
||||||
7509F8292BEC7FBD00E45B9E /* PrivacyVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7509F8282BEC7FBD00E45B9E /* PrivacyVC.xib */; };
|
|
||||||
7509F82A2BEC7FBD00E45B9E /* PrivacyVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7509F8272BEC7FBD00E45B9E /* PrivacyVC.swift */; };
|
|
||||||
87343D7B985519A5890A61C6 /* libPods-DeltaPreviews.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E3E5A45AB20C8A87754453B /* libPods-DeltaPreviews.a */; };
|
87343D7B985519A5890A61C6 /* libPods-DeltaPreviews.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E3E5A45AB20C8A87754453B /* libPods-DeltaPreviews.a */; };
|
||||||
AC1AE30A2A69BD3A00956EB9 /* AlternateAppIcons.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC1AE3092A69BD3A00956EB9 /* AlternateAppIcons.swift */; };
|
AC1AE30A2A69BD3A00956EB9 /* AlternateAppIcons.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC1AE3092A69BD3A00956EB9 /* AlternateAppIcons.swift */; };
|
||||||
AC1AE30C2A6A068F00956EB9 /* Bundle+AppIconImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC1AE30B2A6A068F00956EB9 /* Bundle+AppIconImage.swift */; };
|
AC1AE30C2A6A068F00956EB9 /* Bundle+AppIconImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC1AE30B2A6A068F00956EB9 /* Bundle+AppIconImage.swift */; };
|
||||||
@ -192,9 +188,12 @@
|
|||||||
D54A4BB329E4D27E004C7D57 /* FeatureDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D54A4BB229E4D27E004C7D57 /* FeatureDetailView.swift */; };
|
D54A4BB329E4D27E004C7D57 /* FeatureDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D54A4BB229E4D27E004C7D57 /* FeatureDetailView.swift */; };
|
||||||
D54F710229E89DCB009C069A /* SettingsUserInfoKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = D54F710129E89DCB009C069A /* SettingsUserInfoKey.swift */; };
|
D54F710229E89DCB009C069A /* SettingsUserInfoKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = D54F710129E89DCB009C069A /* SettingsUserInfoKey.swift */; };
|
||||||
D54F710429E89DFC009C069A /* NotificationName+Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = D54F710329E89DFC009C069A /* NotificationName+Settings.swift */; };
|
D54F710429E89DFC009C069A /* NotificationName+Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = D54F710329E89DFC009C069A /* NotificationName+Settings.swift */; };
|
||||||
|
D55917D82B51CF7D007B7DC0 /* ProcessInfo+visionOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55917D72B51CF7D007B7DC0 /* ProcessInfo+visionOS.swift */; };
|
||||||
|
D55917DA2B51D097007B7DC0 /* LocalDeviceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55917D92B51D097007B7DC0 /* LocalDeviceController.swift */; };
|
||||||
D55C468F29E761C000EA6DE9 /* AnyFeature.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55C468E29E761C000EA6DE9 /* AnyFeature.swift */; };
|
D55C468F29E761C000EA6DE9 /* AnyFeature.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55C468E29E761C000EA6DE9 /* AnyFeature.swift */; };
|
||||||
D55C469129E7631000EA6DE9 /* AnyOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55C469029E7631000EA6DE9 /* AnyOption.swift */; };
|
D55C469129E7631000EA6DE9 /* AnyOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55C469029E7631000EA6DE9 /* AnyOption.swift */; };
|
||||||
D560BD8629EDC45600289847 /* ExternalDisplaySceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D560BD8529EDC45600289847 /* ExternalDisplaySceneDelegate.swift */; };
|
D560BD8629EDC45600289847 /* ExternalDisplaySceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D560BD8529EDC45600289847 /* ExternalDisplaySceneDelegate.swift */; };
|
||||||
|
D56F7ABC2B05988700490ACB /* AttributedHeaderFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D56F7ABB2B05988700490ACB /* AttributedHeaderFooterView.swift */; };
|
||||||
D57D795629F300E100BB2CF8 /* CustomTintColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A817AF29DF4E6E00904AFE /* CustomTintColor.swift */; };
|
D57D795629F300E100BB2CF8 /* CustomTintColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A817AF29DF4E6E00904AFE /* CustomTintColor.swift */; };
|
||||||
D57D795F29F315F700BB2CF8 /* FeatureDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D54A4BB229E4D27E004C7D57 /* FeatureDetailView.swift */; };
|
D57D795F29F315F700BB2CF8 /* FeatureDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D54A4BB229E4D27E004C7D57 /* FeatureDetailView.swift */; };
|
||||||
D57D796029F315F700BB2CF8 /* ExperimentalFeaturesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9C00229DDED6D00A8D610 /* ExperimentalFeaturesView.swift */; };
|
D57D796029F315F700BB2CF8 /* ExperimentalFeaturesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A9C00229DDED6D00A8D610 /* ExperimentalFeaturesView.swift */; };
|
||||||
@ -213,6 +212,7 @@
|
|||||||
D5CDCCF12A859E7500E22131 /* ReviewSaveStatesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A1375A2A7D8F2600AB1372 /* ReviewSaveStatesViewController.swift */; };
|
D5CDCCF12A859E7500E22131 /* ReviewSaveStatesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A1375A2A7D8F2600AB1372 /* ReviewSaveStatesViewController.swift */; };
|
||||||
D5CDCCF22A859E7500E22131 /* RepairDatabaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A137442A7D814000AB1372 /* RepairDatabaseViewController.swift */; };
|
D5CDCCF22A859E7500E22131 /* RepairDatabaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A137442A7D814000AB1372 /* RepairDatabaseViewController.swift */; };
|
||||||
D5CDCCF32A859E7500E22131 /* GamePickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A137662A7DB37200AB1372 /* GamePickerViewController.swift */; };
|
D5CDCCF32A859E7500E22131 /* GamePickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A137662A7DB37200AB1372 /* GamePickerViewController.swift */; };
|
||||||
|
D5D39E792AF2D624004BE3F7 /* GameView+AirPlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5D39E782AF2D624004BE3F7 /* GameView+AirPlay.swift */; };
|
||||||
D5D78AE529F9BC3700E064F0 /* DSAirPlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5D78AE429F9BC3700E064F0 /* DSAirPlay.swift */; };
|
D5D78AE529F9BC3700E064F0 /* DSAirPlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5D78AE429F9BC3700E064F0 /* DSAirPlay.swift */; };
|
||||||
D5D78AE729F9D40A00E064F0 /* EnvironmentValues+FeatureOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5D78AE629F9D40A00E064F0 /* EnvironmentValues+FeatureOption.swift */; };
|
D5D78AE729F9D40A00E064F0 /* EnvironmentValues+FeatureOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5D78AE629F9D40A00E064F0 /* EnvironmentValues+FeatureOption.swift */; };
|
||||||
D5D797E6298D946200738869 /* Contributor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5D797E5298D946200738869 /* Contributor.swift */; };
|
D5D797E6298D946200738869 /* Contributor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5D797E5298D946200738869 /* Contributor.swift */; };
|
||||||
@ -274,10 +274,6 @@
|
|||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
22506DA00971C4300AF90A35 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
22506DA00971C4300AF90A35 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
7509F8232BEC7FAB00E45B9E /* AboutVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutVC.swift; sourceTree = "<group>"; };
|
|
||||||
7509F8242BEC7FAB00E45B9E /* AboutVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AboutVC.xib; sourceTree = "<group>"; };
|
|
||||||
7509F8272BEC7FBD00E45B9E /* PrivacyVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivacyVC.swift; sourceTree = "<group>"; };
|
|
||||||
7509F8282BEC7FBD00E45B9E /* PrivacyVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PrivacyVC.xib; sourceTree = "<group>"; };
|
|
||||||
7E3E5A45AB20C8A87754453B /* libPods-DeltaPreviews.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DeltaPreviews.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
7E3E5A45AB20C8A87754453B /* libPods-DeltaPreviews.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DeltaPreviews.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
8ECE6641DE30D01EA30FE7F6 /* Pods-DeltaPreviews.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeltaPreviews.release.xcconfig"; path = "Pods/Target Support Files/Pods-DeltaPreviews/Pods-DeltaPreviews.release.xcconfig"; sourceTree = "<group>"; };
|
8ECE6641DE30D01EA30FE7F6 /* Pods-DeltaPreviews.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeltaPreviews.release.xcconfig"; path = "Pods/Target Support Files/Pods-DeltaPreviews/Pods-DeltaPreviews.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
A01281C7023C0041B25963BE /* Pods-DeltaPreviews.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeltaPreviews.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DeltaPreviews/Pods-DeltaPreviews.debug.xcconfig"; sourceTree = "<group>"; };
|
A01281C7023C0041B25963BE /* Pods-DeltaPreviews.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeltaPreviews.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DeltaPreviews/Pods-DeltaPreviews.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
@ -437,7 +433,7 @@
|
|||||||
BFEF24F21F7DD4FB00454C62 /* SaveStateMigrationPolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SaveStateMigrationPolicy.swift; sourceTree = "<group>"; };
|
BFEF24F21F7DD4FB00454C62 /* SaveStateMigrationPolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SaveStateMigrationPolicy.swift; sourceTree = "<group>"; };
|
||||||
BFF0742B1E9DC17500ACDF4A /* GBCDeltaCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = GBCDeltaCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
BFF0742B1E9DC17500ACDF4A /* GBCDeltaCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = GBCDeltaCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
BFFA4C081E8A24D600D87934 /* GameTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameTableViewCell.swift; sourceTree = "<group>"; };
|
BFFA4C081E8A24D600D87934 /* GameTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameTableViewCell.swift; sourceTree = "<group>"; };
|
||||||
BFFA71D71AAC406100EE9DD1 /* Retro Game Emulator.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Retro Game Emulator.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
BFFA71D71AAC406100EE9DD1 /* Delta.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Delta.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
BFFA71DB1AAC406100EE9DD1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
BFFA71DB1AAC406100EE9DD1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
BFFA71DC1AAC406100EE9DD1 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
BFFA71DC1AAC406100EE9DD1 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||||
BFFA71E11AAC406100EE9DD1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
BFFA71E11AAC406100EE9DD1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||||
@ -468,9 +464,12 @@
|
|||||||
D54F710129E89DCB009C069A /* SettingsUserInfoKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsUserInfoKey.swift; sourceTree = "<group>"; };
|
D54F710129E89DCB009C069A /* SettingsUserInfoKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsUserInfoKey.swift; sourceTree = "<group>"; };
|
||||||
D54F710329E89DFC009C069A /* NotificationName+Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NotificationName+Settings.swift"; sourceTree = "<group>"; };
|
D54F710329E89DFC009C069A /* NotificationName+Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NotificationName+Settings.swift"; sourceTree = "<group>"; };
|
||||||
D554C3822A58D89700E93359 /* Delta 7.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Delta 7.xcdatamodel"; sourceTree = "<group>"; };
|
D554C3822A58D89700E93359 /* Delta 7.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Delta 7.xcdatamodel"; sourceTree = "<group>"; };
|
||||||
|
D55917D72B51CF7D007B7DC0 /* ProcessInfo+visionOS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ProcessInfo+visionOS.swift"; sourceTree = "<group>"; };
|
||||||
|
D55917D92B51D097007B7DC0 /* LocalDeviceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalDeviceController.swift; sourceTree = "<group>"; };
|
||||||
D55C468E29E761C000EA6DE9 /* AnyFeature.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyFeature.swift; sourceTree = "<group>"; };
|
D55C468E29E761C000EA6DE9 /* AnyFeature.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyFeature.swift; sourceTree = "<group>"; };
|
||||||
D55C469029E7631000EA6DE9 /* AnyOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyOption.swift; sourceTree = "<group>"; };
|
D55C469029E7631000EA6DE9 /* AnyOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyOption.swift; sourceTree = "<group>"; };
|
||||||
D560BD8529EDC45600289847 /* ExternalDisplaySceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExternalDisplaySceneDelegate.swift; sourceTree = "<group>"; };
|
D560BD8529EDC45600289847 /* ExternalDisplaySceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExternalDisplaySceneDelegate.swift; sourceTree = "<group>"; };
|
||||||
|
D56F7ABB2B05988700490ACB /* AttributedHeaderFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttributedHeaderFooterView.swift; sourceTree = "<group>"; };
|
||||||
D586496F297734280081477E /* CheatMetadata.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheatMetadata.swift; sourceTree = "<group>"; };
|
D586496F297734280081477E /* CheatMetadata.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheatMetadata.swift; sourceTree = "<group>"; };
|
||||||
D586497129774ABD0081477E /* CheatBase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheatBase.swift; sourceTree = "<group>"; };
|
D586497129774ABD0081477E /* CheatBase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheatBase.swift; sourceTree = "<group>"; };
|
||||||
D5864977297756CE0081477E /* CheatBaseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheatBaseView.swift; sourceTree = "<group>"; };
|
D5864977297756CE0081477E /* CheatBaseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheatBaseView.swift; sourceTree = "<group>"; };
|
||||||
@ -492,6 +491,7 @@
|
|||||||
D5CDCCC32A85765900E22131 /* OSLog+Delta.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSLog+Delta.swift"; sourceTree = "<group>"; };
|
D5CDCCC32A85765900E22131 /* OSLog+Delta.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSLog+Delta.swift"; sourceTree = "<group>"; };
|
||||||
D5CDCCEA2A8593FC00E22131 /* UserDefaults+Delta.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+Delta.swift"; sourceTree = "<group>"; };
|
D5CDCCEA2A8593FC00E22131 /* UserDefaults+Delta.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+Delta.swift"; sourceTree = "<group>"; };
|
||||||
D5CDCCEC2A859B2B00E22131 /* SyncValidationError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncValidationError.swift; sourceTree = "<group>"; };
|
D5CDCCEC2A859B2B00E22131 /* SyncValidationError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncValidationError.swift; sourceTree = "<group>"; };
|
||||||
|
D5D39E782AF2D624004BE3F7 /* GameView+AirPlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GameView+AirPlay.swift"; sourceTree = "<group>"; };
|
||||||
D5D78AE429F9BC3700E064F0 /* DSAirPlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DSAirPlay.swift; sourceTree = "<group>"; };
|
D5D78AE429F9BC3700E064F0 /* DSAirPlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DSAirPlay.swift; sourceTree = "<group>"; };
|
||||||
D5D78AE629F9D40A00E064F0 /* EnvironmentValues+FeatureOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "EnvironmentValues+FeatureOption.swift"; sourceTree = "<group>"; };
|
D5D78AE629F9D40A00E064F0 /* EnvironmentValues+FeatureOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "EnvironmentValues+FeatureOption.swift"; sourceTree = "<group>"; };
|
||||||
D5D797E5298D946200738869 /* Contributor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Contributor.swift; sourceTree = "<group>"; };
|
D5D797E5298D946200738869 /* Contributor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Contributor.swift; sourceTree = "<group>"; };
|
||||||
@ -574,6 +574,8 @@
|
|||||||
D5CDCCC32A85765900E22131 /* OSLog+Delta.swift */,
|
D5CDCCC32A85765900E22131 /* OSLog+Delta.swift */,
|
||||||
D5CDCCEA2A8593FC00E22131 /* UserDefaults+Delta.swift */,
|
D5CDCCEA2A8593FC00E22131 /* UserDefaults+Delta.swift */,
|
||||||
AC1AE30B2A6A068F00956EB9 /* Bundle+AppIconImage.swift */,
|
AC1AE30B2A6A068F00956EB9 /* Bundle+AppIconImage.swift */,
|
||||||
|
D5D39E782AF2D624004BE3F7 /* GameView+AirPlay.swift */,
|
||||||
|
D55917D72B51CF7D007B7DC0 /* ProcessInfo+visionOS.swift */,
|
||||||
);
|
);
|
||||||
path = Extensions;
|
path = Extensions;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -584,6 +586,7 @@
|
|||||||
BF11734F1DA32CF600047DF8 /* ControllersSettingsViewController.swift */,
|
BF11734F1DA32CF600047DF8 /* ControllersSettingsViewController.swift */,
|
||||||
BF616A121F08184A0077F8B2 /* ControllerInputsViewController.swift */,
|
BF616A121F08184A0077F8B2 /* ControllerInputsViewController.swift */,
|
||||||
BF8DDD231F4F6C880088A21B /* InputCalloutView.swift */,
|
BF8DDD231F4F6C880088A21B /* InputCalloutView.swift */,
|
||||||
|
D55917D92B51D097007B7DC0 /* LocalDeviceController.swift */,
|
||||||
);
|
);
|
||||||
path = Controllers;
|
path = Controllers;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -792,6 +795,7 @@
|
|||||||
BFFA4C081E8A24D600D87934 /* GameTableViewCell.swift */,
|
BFFA4C081E8A24D600D87934 /* GameTableViewCell.swift */,
|
||||||
BF71CF891FE904B1001F1613 /* GameTableViewCell.xib */,
|
BF71CF891FE904B1001F1613 /* GameTableViewCell.xib */,
|
||||||
BF8A333321A484A000A42FD4 /* BadgedTableViewCell.swift */,
|
BF8A333321A484A000A42FD4 /* BadgedTableViewCell.swift */,
|
||||||
|
D56F7ABB2B05988700490ACB /* AttributedHeaderFooterView.swift */,
|
||||||
);
|
);
|
||||||
path = "Table View";
|
path = "Table View";
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -895,10 +899,6 @@
|
|||||||
D5D78AE329F9BC0200E064F0 /* Features */,
|
D5D78AE329F9BC0200E064F0 /* Features */,
|
||||||
D5A9BFFF29DDECF500A8D610 /* Experimental Features */,
|
D5A9BFFF29DDECF500A8D610 /* Experimental Features */,
|
||||||
D5D797E4298D944C00738869 /* Contributors */,
|
D5D797E4298D944C00738869 /* Contributors */,
|
||||||
7509F8232BEC7FAB00E45B9E /* AboutVC.swift */,
|
|
||||||
7509F8242BEC7FAB00E45B9E /* AboutVC.xib */,
|
|
||||||
7509F8272BEC7FBD00E45B9E /* PrivacyVC.swift */,
|
|
||||||
7509F8282BEC7FBD00E45B9E /* PrivacyVC.xib */,
|
|
||||||
);
|
);
|
||||||
path = Settings;
|
path = Settings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -995,7 +995,7 @@
|
|||||||
BFFA71D81AAC406100EE9DD1 /* Products */ = {
|
BFFA71D81AAC406100EE9DD1 /* Products */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
BFFA71D71AAC406100EE9DD1 /* Retro Game Emulator.app */,
|
BFFA71D71AAC406100EE9DD1 /* Delta.app */,
|
||||||
D5D7C1F129E60DFF00663793 /* libDeltaFeatures.a */,
|
D5D7C1F129E60DFF00663793 /* libDeltaFeatures.a */,
|
||||||
D539102F29E88B6B0006B350 /* DeltaPreviews.framework */,
|
D539102F29E88B6B0006B350 /* DeltaPreviews.framework */,
|
||||||
);
|
);
|
||||||
@ -1270,7 +1270,7 @@
|
|||||||
D524F4A0273DE9A100D500B2 /* AltKit */,
|
D524F4A0273DE9A100D500B2 /* AltKit */,
|
||||||
);
|
);
|
||||||
productName = Delta;
|
productName = Delta;
|
||||||
productReference = BFFA71D71AAC406100EE9DD1 /* Retro Game Emulator.app */;
|
productReference = BFFA71D71AAC406100EE9DD1 /* Delta.app */;
|
||||||
productType = "com.apple.product-type.application";
|
productType = "com.apple.product-type.application";
|
||||||
};
|
};
|
||||||
D539102E29E88B6B0006B350 /* DeltaPreviews */ = {
|
D539102E29E88B6B0006B350 /* DeltaPreviews */ = {
|
||||||
@ -1382,7 +1382,6 @@
|
|||||||
files = (
|
files = (
|
||||||
D5D797E9298DCC7300738869 /* cheatbase.zip in Resources */,
|
D5D797E9298DCC7300738869 /* cheatbase.zip in Resources */,
|
||||||
BFFA71E21AAC406100EE9DD1 /* Main.storyboard in Resources */,
|
BFFA71E21AAC406100EE9DD1 /* Main.storyboard in Resources */,
|
||||||
7509F8252BEC7FAB00E45B9E /* AboutVC.xib in Resources */,
|
|
||||||
BF6BF3211EB82362008E83CD /* GamesDatabase.storyboard in Resources */,
|
BF6BF3211EB82362008E83CD /* GamesDatabase.storyboard in Resources */,
|
||||||
BFAB9F88219A4B670080EC7D /* GoogleService-Info.plist in Resources */,
|
BFAB9F88219A4B670080EC7D /* GoogleService-Info.plist in Resources */,
|
||||||
BF3540001C5DA3C500C1184C /* PausePresentationControllerContentView.xib in Resources */,
|
BF3540001C5DA3C500C1184C /* PausePresentationControllerContentView.xib in Resources */,
|
||||||
@ -1394,7 +1393,6 @@
|
|||||||
BF1F45AB21AF4B5800EF9895 /* SyncResultsViewController.storyboard in Resources */,
|
BF1F45AB21AF4B5800EF9895 /* SyncResultsViewController.storyboard in Resources */,
|
||||||
BF353FF61C5D837600C1184C /* PauseMenu.storyboard in Resources */,
|
BF353FF61C5D837600C1184C /* PauseMenu.storyboard in Resources */,
|
||||||
BF27CC8E1BC9FEA200A20D89 /* Assets.xcassets in Resources */,
|
BF27CC8E1BC9FEA200A20D89 /* Assets.xcassets in Resources */,
|
||||||
7509F8292BEC7FBD00E45B9E /* PrivacyVC.xib in Resources */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -1561,6 +1559,7 @@
|
|||||||
BF59427C1E09BC830051894B /* Cheat.swift in Sources */,
|
BF59427C1E09BC830051894B /* Cheat.swift in Sources */,
|
||||||
BFBAB2E31EB685A2004E0B0E /* DeltaCoreProtocol+Delta.swift in Sources */,
|
BFBAB2E31EB685A2004E0B0E /* DeltaCoreProtocol+Delta.swift in Sources */,
|
||||||
D5CDCCF22A859E7500E22131 /* RepairDatabaseViewController.swift in Sources */,
|
D5CDCCF22A859E7500E22131 /* RepairDatabaseViewController.swift in Sources */,
|
||||||
|
D55917D82B51CF7D007B7DC0 /* ProcessInfo+visionOS.swift in Sources */,
|
||||||
BF3540081C5DAFAD00C1184C /* PauseTransitionCoordinator.swift in Sources */,
|
BF3540081C5DAFAD00C1184C /* PauseTransitionCoordinator.swift in Sources */,
|
||||||
BF525EEA1FF6CD12004AA849 /* DeepLink.swift in Sources */,
|
BF525EEA1FF6CD12004AA849 /* DeepLink.swift in Sources */,
|
||||||
AC1C991029F8B8C30020E6E4 /* ToastNotificationOptions.swift in Sources */,
|
AC1C991029F8B8C30020E6E4 /* ToastNotificationOptions.swift in Sources */,
|
||||||
@ -1629,7 +1628,6 @@
|
|||||||
BF1F45A421AF274D00EF9895 /* SyncResultViewController.swift in Sources */,
|
BF1F45A421AF274D00EF9895 /* SyncResultViewController.swift in Sources */,
|
||||||
BF3D6C53220286750083E05A /* Delta3ToDelta4.xcmappingmodel in Sources */,
|
BF3D6C53220286750083E05A /* Delta3ToDelta4.xcmappingmodel in Sources */,
|
||||||
D5CDCCF12A859E7500E22131 /* ReviewSaveStatesViewController.swift in Sources */,
|
D5CDCCF12A859E7500E22131 /* ReviewSaveStatesViewController.swift in Sources */,
|
||||||
7509F82A2BEC7FBD00E45B9E /* PrivacyVC.swift in Sources */,
|
|
||||||
BF5942881E09BC8B0051894B /* _Game.swift in Sources */,
|
BF5942881E09BC8B0051894B /* _Game.swift in Sources */,
|
||||||
BF56450D220239B800A8EA26 /* GameControllerInputMappingMigrationPolicy.swift in Sources */,
|
BF56450D220239B800A8EA26 /* GameControllerInputMappingMigrationPolicy.swift in Sources */,
|
||||||
BF95E2771E4977BF0030E7AD /* GameMetadata.swift in Sources */,
|
BF95E2771E4977BF0030E7AD /* GameMetadata.swift in Sources */,
|
||||||
@ -1675,8 +1673,10 @@
|
|||||||
BF6866171DCAC8B900BF2D06 /* ControllerSkin+Configuring.swift in Sources */,
|
BF6866171DCAC8B900BF2D06 /* ControllerSkin+Configuring.swift in Sources */,
|
||||||
BF713C0822499ED4004A1A2B /* PreviousHarmony.xcdatamodeld in Sources */,
|
BF713C0822499ED4004A1A2B /* PreviousHarmony.xcdatamodeld in Sources */,
|
||||||
BF59427D1E09BC830051894B /* ControllerSkin.swift in Sources */,
|
BF59427D1E09BC830051894B /* ControllerSkin.swift in Sources */,
|
||||||
|
D56F7ABC2B05988700490ACB /* AttributedHeaderFooterView.swift in Sources */,
|
||||||
BFAB9F7D219A43380080EC7D /* SyncManager.swift in Sources */,
|
BFAB9F7D219A43380080EC7D /* SyncManager.swift in Sources */,
|
||||||
BFCEA67E1D56FF640061A534 /* UIViewControllerContextTransitioning+Conveniences.swift in Sources */,
|
BFCEA67E1D56FF640061A534 /* UIViewControllerContextTransitioning+Conveniences.swift in Sources */,
|
||||||
|
D55917DA2B51D097007B7DC0 /* LocalDeviceController.swift in Sources */,
|
||||||
BF1173501DA32CF600047DF8 /* ControllersSettingsViewController.swift in Sources */,
|
BF1173501DA32CF600047DF8 /* ControllersSettingsViewController.swift in Sources */,
|
||||||
BFFC461E1D59823500AF2CC6 /* GamesPresentationController.swift in Sources */,
|
BFFC461E1D59823500AF2CC6 /* GamesPresentationController.swift in Sources */,
|
||||||
BF99A5971DC2F9C400468E9E /* ControllerSkinTableViewCell.swift in Sources */,
|
BF99A5971DC2F9C400468E9E /* ControllerSkinTableViewCell.swift in Sources */,
|
||||||
@ -1684,6 +1684,7 @@
|
|||||||
BF5942861E09BC8B0051894B /* _Cheat.swift in Sources */,
|
BF5942861E09BC8B0051894B /* _Cheat.swift in Sources */,
|
||||||
BF5E7F441B9A650B00AE44F8 /* SettingsViewController.swift in Sources */,
|
BF5E7F441B9A650B00AE44F8 /* SettingsViewController.swift in Sources */,
|
||||||
BF8CA9361F5F651900499FDD /* PopoverMenuController.swift in Sources */,
|
BF8CA9361F5F651900499FDD /* PopoverMenuController.swift in Sources */,
|
||||||
|
D5D39E792AF2D624004BE3F7 /* GameView+AirPlay.swift in Sources */,
|
||||||
BFEF24F31F7DD4FD00454C62 /* SaveStateMigrationPolicy.swift in Sources */,
|
BFEF24F31F7DD4FD00454C62 /* SaveStateMigrationPolicy.swift in Sources */,
|
||||||
BF5942931E09BD1A0051894B /* NSFetchedResultsController+Conveniences.m in Sources */,
|
BF5942931E09BD1A0051894B /* NSFetchedResultsController+Conveniences.m in Sources */,
|
||||||
D5CDCCEE2A859DC200E22131 /* SyncValidationError.swift in Sources */,
|
D5CDCCEE2A859DC200E22131 /* SyncValidationError.swift in Sources */,
|
||||||
@ -1693,7 +1694,6 @@
|
|||||||
BF353FF21C5D7FB000C1184C /* PauseViewController.swift in Sources */,
|
BF353FF21C5D7FB000C1184C /* PauseViewController.swift in Sources */,
|
||||||
BF00BEA625B758AA00C8607D /* SystemBIOS.swift in Sources */,
|
BF00BEA625B758AA00C8607D /* SystemBIOS.swift in Sources */,
|
||||||
BF696B801D9B2B02009639E0 /* Theme.swift in Sources */,
|
BF696B801D9B2B02009639E0 /* Theme.swift in Sources */,
|
||||||
7509F8262BEC7FAB00E45B9E /* AboutVC.swift in Sources */,
|
|
||||||
BF7AE8081C2E858400B1B5BC /* GridMenuViewController.swift in Sources */,
|
BF7AE8081C2E858400B1B5BC /* GridMenuViewController.swift in Sources */,
|
||||||
BF6BF31A1EB82146008E83CD /* ClipboardImportOption.swift in Sources */,
|
BF6BF31A1EB82146008E83CD /* ClipboardImportOption.swift in Sources */,
|
||||||
BF59427F1E09BC830051894B /* GameCollection.swift in Sources */,
|
BF59427F1E09BC830051894B /* GameCollection.swift in Sources */,
|
||||||
@ -1878,7 +1878,7 @@
|
|||||||
OTHER_CFLAGS = "-DGLES_SILENCE_DEPRECATION";
|
OTHER_CFLAGS = "-DGLES_SILENCE_DEPRECATION";
|
||||||
OTHER_SWIFT_FLAGS = "-Xfrontend -debug-time-function-bodies";
|
OTHER_SWIFT_FLAGS = "-Xfrontend -debug-time-function-bodies";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.rileytestut.Delta;
|
PRODUCT_BUNDLE_IDENTIFIER = com.rileytestut.Delta;
|
||||||
PRODUCT_NAME = "Retro Game Emulator";
|
PRODUCT_NAME = Delta;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
};
|
};
|
||||||
@ -1930,7 +1930,7 @@
|
|||||||
OTHER_CFLAGS = "-DGLES_SILENCE_DEPRECATION";
|
OTHER_CFLAGS = "-DGLES_SILENCE_DEPRECATION";
|
||||||
OTHER_SWIFT_FLAGS = "-Xfrontend -debug-time-function-bodies";
|
OTHER_SWIFT_FLAGS = "-Xfrontend -debug-time-function-bodies";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.rileytestut.Delta;
|
PRODUCT_BUNDLE_IDENTIFIER = com.rileytestut.Delta;
|
||||||
PRODUCT_NAME = "Retro Game Emulator";
|
PRODUCT_NAME = Delta;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
SWIFT_COMPILATION_MODE = wholemodule;
|
SWIFT_COMPILATION_MODE = wholemodule;
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||||
@ -1942,7 +1942,6 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = C786AF1D2DDB6223BE2063CC /* Pods-Delta.debug.xcconfig */;
|
baseConfigurationReference = C786AF1D2DDB6223BE2063CC /* Pods-Delta.debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ARCHS = "$(ARCHS_STANDARD)";
|
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
@ -1950,23 +1949,20 @@
|
|||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 85;
|
||||||
DEVELOPMENT_TEAM = 8DQD6BV6H9;
|
DEVELOPMENT_TEAM = 6XVY5G3U44;
|
||||||
EXCLUDED_ARCHS = "";
|
|
||||||
INFOPLIST_FILE = "Delta/Supporting Files/Info.plist";
|
INFOPLIST_FILE = "Delta/Supporting Files/Info.plist";
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = "Retro Game Emulator";
|
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.5;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-ld64",
|
"-ld64",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" -DDEBUG";
|
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" -DDEBUG";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.flow.browser.safe.private;
|
PRODUCT_BUNDLE_IDENTIFIER = com.rileytestut.Delta;
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
STRIP_INSTALLED_PRODUCT = YES;
|
STRIP_INSTALLED_PRODUCT = YES;
|
||||||
@ -1984,7 +1980,6 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = A19FF50F55441BC2B2248241 /* Pods-Delta.release.xcconfig */;
|
baseConfigurationReference = A19FF50F55441BC2B2248241 /* Pods-Delta.release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ARCHS = "$(ARCHS_STANDARD)";
|
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
@ -1992,23 +1987,20 @@
|
|||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 85;
|
||||||
DEVELOPMENT_TEAM = 8DQD6BV6H9;
|
DEVELOPMENT_TEAM = 6XVY5G3U44;
|
||||||
EXCLUDED_ARCHS = "";
|
|
||||||
INFOPLIST_FILE = "Delta/Supporting Files/Info.plist";
|
INFOPLIST_FILE = "Delta/Supporting Files/Info.plist";
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = "Retro Game Emulator";
|
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.5;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-ld64",
|
"-ld64",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" -DIMPACTOR";
|
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" -DIMPACTOR";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.flow.browser.safe.private;
|
PRODUCT_BUNDLE_IDENTIFIER = com.rileytestut.Delta;
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
STRIP_INSTALLED_PRODUCT = YES;
|
STRIP_INSTALLED_PRODUCT = YES;
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "BFFA71D61AAC406100EE9DD1"
|
BlueprintIdentifier = "BFFA71D61AAC406100EE9DD1"
|
||||||
BuildableName = "Retro Game Emulator.app"
|
BuildableName = "Delta.app"
|
||||||
BlueprintName = "Delta"
|
BlueprintName = "Delta"
|
||||||
ReferencedContainer = "container:Delta.xcodeproj">
|
ReferencedContainer = "container:Delta.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
@ -45,7 +45,7 @@
|
|||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "BFFA71D61AAC406100EE9DD1"
|
BlueprintIdentifier = "BFFA71D61AAC406100EE9DD1"
|
||||||
BuildableName = "Retro Game Emulator.app"
|
BuildableName = "Delta.app"
|
||||||
BlueprintName = "Delta"
|
BlueprintName = "Delta"
|
||||||
ReferencedContainer = "container:Delta.xcodeproj">
|
ReferencedContainer = "container:Delta.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
@ -54,7 +54,7 @@
|
|||||||
</Testables>
|
</Testables>
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Debug"
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
enableASanStackUseAfterReturn = "YES"
|
enableASanStackUseAfterReturn = "YES"
|
||||||
@ -69,7 +69,7 @@
|
|||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "BFFA71D61AAC406100EE9DD1"
|
BlueprintIdentifier = "BFFA71D61AAC406100EE9DD1"
|
||||||
BuildableName = "Retro Game Emulator.app"
|
BuildableName = "Delta.app"
|
||||||
BlueprintName = "Delta"
|
BlueprintName = "Delta"
|
||||||
ReferencedContainer = "container:Delta.xcodeproj">
|
ReferencedContainer = "container:Delta.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
@ -107,7 +107,7 @@
|
|||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "BFFA71D61AAC406100EE9DD1"
|
BlueprintIdentifier = "BFFA71D61AAC406100EE9DD1"
|
||||||
BuildableName = "Retro Game Emulator.app"
|
BuildableName = "Delta.app"
|
||||||
BlueprintName = "Delta"
|
BlueprintName = "Delta"
|
||||||
ReferencedContainer = "container:Delta.xcodeproj">
|
ReferencedContainer = "container:Delta.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
"repositoryURL": "https://github.com/rileytestut/DeltaCore.git",
|
"repositoryURL": "https://github.com/rileytestut/DeltaCore.git",
|
||||||
"state": {
|
"state": {
|
||||||
"branch": "ios14",
|
"branch": "ios14",
|
||||||
"revision": "74d2a7a6e36035cb5730d0b0cf2456cbeb6faf0c",
|
"revision": "cdd384dbacd5033183bbc3697c9738e3fb0b1d07",
|
||||||
"version": null
|
"version": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -24,8 +24,8 @@
|
|||||||
"repositoryURL": "https://github.com/weichsel/ZIPFoundation.git",
|
"repositoryURL": "https://github.com/weichsel/ZIPFoundation.git",
|
||||||
"state": {
|
"state": {
|
||||||
"branch": null,
|
"branch": null,
|
||||||
"revision": "02b6abe5f6eef7e3cbd5f247c5cc24e246efcfe0",
|
"revision": "f6a22e7da26314b38bf9befce34ae8e4b2543090",
|
||||||
"version": "0.9.19"
|
"version": "0.9.15"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Binary file not shown.
@ -1,16 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>SchemeUserState</key>
|
|
||||||
<dict>
|
|
||||||
<key>Roxas (Playground).xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>42</integer>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
Binary file not shown.
@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Bucket
|
|
||||||
uuid = "A3CA9783-9DE0-4602-AB5B-7358C4FEF8F8"
|
|
||||||
type = "0"
|
|
||||||
version = "2.0">
|
|
||||||
<Breakpoints>
|
|
||||||
<BreakpointProxy
|
|
||||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
||||||
<BreakpointContent
|
|
||||||
uuid = "DC026577-E92E-4E61-86DF-F470FDE9283E"
|
|
||||||
shouldBeEnabled = "Yes"
|
|
||||||
ignoreCount = "0"
|
|
||||||
continueAfterRunningActions = "No"
|
|
||||||
filePath = "Delta/Game Selection/GamesViewController.swift"
|
|
||||||
startingColumnNumber = "9223372036854775807"
|
|
||||||
endingColumnNumber = "9223372036854775807"
|
|
||||||
startingLineNumber = "423"
|
|
||||||
endingLineNumber = "423"
|
|
||||||
landmarkName = "importFiles()"
|
|
||||||
landmarkType = "7">
|
|
||||||
</BreakpointContent>
|
|
||||||
</BreakpointProxy>
|
|
||||||
</Breakpoints>
|
|
||||||
</Bucket>
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>SchemeUserState</key>
|
|
||||||
<dict>
|
|
||||||
<key>Roxas (Playground).xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>42</integer>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@ -1,9 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="dkK-ii-Bx4">
|
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13528" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="dkK-ii-Bx4">
|
||||||
<device id="retina4_7" orientation="portrait" appearance="light"/>
|
<device id="retina4_7" orientation="portrait">
|
||||||
|
<adaptation id="fullscreen"/>
|
||||||
|
</device>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="iOS"/>
|
<deployment identifier="iOS"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13526"/>
|
||||||
|
<capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
|
||||||
|
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<scenes>
|
<scenes>
|
||||||
@ -19,32 +23,21 @@
|
|||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" insetsLayoutMarginsFromSafeArea="NO" image="LaunchViewC" translatesAutoresizingMaskIntoConstraints="NO" id="5XD-I3-tLg">
|
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Delta" translatesAutoresizingMaskIntoConstraints="NO" id="plh-tL-LY0">
|
||||||
<rect key="frame" x="0.0" y="50" width="375" height="378"/>
|
<rect key="frame" x="94" y="250" width="187.5" height="167"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="width" secondItem="plh-tL-LY0" secondAttribute="height" multiplier="64:57" id="8qM-L2-ASa"/>
|
||||||
|
</constraints>
|
||||||
</imageView>
|
</imageView>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Retro Game Emulator" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vhb-Xd-o6a">
|
|
||||||
<rect key="frame" x="55.5" y="448" width="264" height="33.5"/>
|
|
||||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="28"/>
|
|
||||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
<nil key="highlightedColor"/>
|
|
||||||
</label>
|
|
||||||
<label opaque="NO" userInteractionEnabled="NO" alpha="0.44999998807907104" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ENJOY CLASSIC MOMENT" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wWH-Lx-U9x">
|
|
||||||
<rect key="frame" x="90.5" y="513.5" width="194.5" height="19.5"/>
|
|
||||||
<fontDescription key="fontDescription" type="system" pointSize="16"/>
|
|
||||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
<nil key="highlightedColor"/>
|
|
||||||
</label>
|
|
||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" red="0.071399740870000006" green="0.082175157959999995" blue="0.10832635309999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="backgroundColor" white="0.14728124936421713" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="5XD-I3-tLg" firstAttribute="top" secondItem="qMb-3x-uIu" secondAttribute="bottom" constant="30" id="Aiv-ac-bYx"/>
|
<constraint firstItem="plh-tL-LY0" firstAttribute="width" relation="lessThanOrEqual" secondItem="8Uu-wz-ps8" secondAttribute="width" multiplier="0.5" id="8j9-39-Y2s"/>
|
||||||
<constraint firstItem="wWH-Lx-U9x" firstAttribute="centerX" secondItem="vhb-Xd-o6a" secondAttribute="centerX" id="DEu-U7-qVq"/>
|
<constraint firstItem="plh-tL-LY0" firstAttribute="centerY" secondItem="8Uu-wz-ps8" secondAttribute="centerY" id="COW-Co-NFK"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="5XD-I3-tLg" secondAttribute="trailing" id="Gc5-y0-Vsy"/>
|
<constraint firstItem="plh-tL-LY0" firstAttribute="height" secondItem="8Uu-wz-ps8" secondAttribute="height" multiplier="0.5" priority="900" id="G3L-7B-xVc"/>
|
||||||
<constraint firstItem="vhb-Xd-o6a" firstAttribute="top" secondItem="5XD-I3-tLg" secondAttribute="bottom" constant="20" id="Ncn-Yh-ecr"/>
|
<constraint firstItem="plh-tL-LY0" firstAttribute="width" secondItem="8Uu-wz-ps8" secondAttribute="width" multiplier="0.5" priority="950" id="n3i-kS-7eQ"/>
|
||||||
<constraint firstItem="5XD-I3-tLg" firstAttribute="leading" secondItem="8Uu-wz-ps8" secondAttribute="leading" id="SSl-CS-XOC"/>
|
<constraint firstItem="plh-tL-LY0" firstAttribute="centerX" secondItem="8Uu-wz-ps8" secondAttribute="centerX" id="sp5-Kf-N7G"/>
|
||||||
<constraint firstItem="5XD-I3-tLg" firstAttribute="height" secondItem="8Uu-wz-ps8" secondAttribute="height" multiplier="1.7:3" id="WGx-z3-vXf"/>
|
<constraint firstItem="plh-tL-LY0" firstAttribute="height" relation="lessThanOrEqual" secondItem="8Uu-wz-ps8" secondAttribute="height" multiplier="0.5" id="ubN-Qh-I5H"/>
|
||||||
<constraint firstItem="wWH-Lx-U9x" firstAttribute="top" secondItem="vhb-Xd-o6a" secondAttribute="bottom" constant="32" id="lVY-5z-fz7"/>
|
|
||||||
<constraint firstItem="vhb-Xd-o6a" firstAttribute="centerX" secondItem="8Uu-wz-ps8" secondAttribute="centerX" id="oCf-dA-bJX"/>
|
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
</viewController>
|
</viewController>
|
||||||
@ -54,6 +47,6 @@
|
|||||||
</scene>
|
</scene>
|
||||||
</scenes>
|
</scenes>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="LaunchViewC" width="375" height="472.5"/>
|
<image name="Delta" width="1342" height="1196"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="SPq-Bk-fQl">
|
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16096" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="SPq-Bk-fQl">
|
||||||
<device id="retina4_7" orientation="portrait" appearance="light"/>
|
<device id="retina4_7" orientation="portrait" appearance="light"/>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="iOS"/>
|
<deployment identifier="iOS"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16086"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<scenes>
|
<scenes>
|
||||||
<!--Games View Controller-->
|
<!--Games-->
|
||||||
<scene sceneID="Cd2-Pf-cua">
|
<scene sceneID="Cd2-Pf-cua">
|
||||||
<objects>
|
<objects>
|
||||||
<viewController id="jeE-WD-wXO" customClass="GamesViewController" customModule="Retro_Game_Emulator" customModuleProvider="target" sceneMemberID="viewController">
|
<viewController id="jeE-WD-wXO" customClass="GamesViewController" customModule="Delta" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<layoutGuides>
|
<layoutGuides>
|
||||||
<viewControllerLayoutGuide type="top" id="WoX-O4-qy5"/>
|
<viewControllerLayoutGuide type="top" id="WoX-O4-qy5"/>
|
||||||
<viewControllerLayoutGuide type="bottom" id="0om-QB-N5a"/>
|
<viewControllerLayoutGuide type="bottom" id="0om-QB-N5a"/>
|
||||||
@ -25,51 +25,22 @@
|
|||||||
<segue destination="tpK-ou-yEA" kind="embed" identifier="embedPageViewController" id="cjU-nW-cHY"/>
|
<segue destination="tpK-ou-yEA" kind="embed" identifier="embedPageViewController" id="cjU-nW-cHY"/>
|
||||||
</connections>
|
</connections>
|
||||||
</containerView>
|
</containerView>
|
||||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg" translatesAutoresizingMaskIntoConstraints="NO" id="J8K-ZI-4X1">
|
|
||||||
<rect key="frame" x="0.0" y="56" width="375" height="591"/>
|
|
||||||
</imageView>
|
|
||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CxB-GP-B6S">
|
|
||||||
<rect key="frame" x="0.0" y="538" width="375" height="109"/>
|
|
||||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
|
||||||
<state key="normal" image="home_tab"/>
|
|
||||||
<connections>
|
|
||||||
<segue destination="xMK-Cs-fAS" kind="presentation" modalPresentationStyle="fullScreen" id="bxS-9X-3vh"/>
|
|
||||||
</connections>
|
|
||||||
</button>
|
|
||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="n4H-Kw-HPj">
|
|
||||||
<rect key="frame" x="143.5" y="517" width="100" height="100"/>
|
|
||||||
<constraints>
|
|
||||||
<constraint firstAttribute="height" constant="100" id="SLR-9h-t9y"/>
|
|
||||||
<constraint firstAttribute="width" constant="100" id="Tdv-6u-nlA"/>
|
|
||||||
</constraints>
|
|
||||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
|
||||||
<state key="normal" image="addtwo"/>
|
|
||||||
<connections>
|
|
||||||
<action selector="importfilesBtn:" destination="jeE-WD-wXO" eventType="touchUpInside" id="T2w-zr-j8V"/>
|
|
||||||
</connections>
|
|
||||||
</button>
|
|
||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="trailing" secondItem="CxB-GP-B6S" secondAttribute="trailing" id="5sO-AB-YB5"/>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="J8K-ZI-4X1" secondAttribute="trailing" id="7MY-qA-ANn"/>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="tmn-gd-5UN" secondAttribute="trailing" id="9Rq-HM-vqk"/>
|
<constraint firstAttribute="trailing" secondItem="tmn-gd-5UN" secondAttribute="trailing" id="9Rq-HM-vqk"/>
|
||||||
<constraint firstItem="J8K-ZI-4X1" firstAttribute="leading" secondItem="3Bk-k3-7J9" secondAttribute="leading" id="9kW-o9-BMv"/>
|
|
||||||
<constraint firstItem="CxB-GP-B6S" firstAttribute="centerX" secondItem="3Bk-k3-7J9" secondAttribute="centerX" id="Dbp-v1-mUp"/>
|
|
||||||
<constraint firstItem="n4H-Kw-HPj" firstAttribute="centerX" secondItem="3Bk-k3-7J9" secondAttribute="centerX" constant="6" id="H9T-X7-RK8"/>
|
|
||||||
<constraint firstItem="0om-QB-N5a" firstAttribute="top" secondItem="n4H-Kw-HPj" secondAttribute="bottom" constant="30" id="QHB-jA-R0s"/>
|
|
||||||
<constraint firstItem="0om-QB-N5a" firstAttribute="top" secondItem="CxB-GP-B6S" secondAttribute="bottom" id="QzJ-Kr-VZk"/>
|
|
||||||
<constraint firstItem="CxB-GP-B6S" firstAttribute="leading" secondItem="3Bk-k3-7J9" secondAttribute="leading" id="axc-ed-3zE"/>
|
|
||||||
<constraint firstItem="tmn-gd-5UN" firstAttribute="leading" secondItem="3Bk-k3-7J9" secondAttribute="leading" id="f1f-sa-dBA"/>
|
<constraint firstItem="tmn-gd-5UN" firstAttribute="leading" secondItem="3Bk-k3-7J9" secondAttribute="leading" id="f1f-sa-dBA"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="tmn-gd-5UN" secondAttribute="bottom" id="ifM-Wa-u9y"/>
|
<constraint firstAttribute="bottom" secondItem="tmn-gd-5UN" secondAttribute="bottom" id="ifM-Wa-u9y"/>
|
||||||
<constraint firstItem="J8K-ZI-4X1" firstAttribute="top" secondItem="WoX-O4-qy5" secondAttribute="bottom" id="jaI-AF-tpn"/>
|
|
||||||
<constraint firstItem="tmn-gd-5UN" firstAttribute="top" secondItem="3Bk-k3-7J9" secondAttribute="top" id="nhS-aC-rUR"/>
|
<constraint firstItem="tmn-gd-5UN" firstAttribute="top" secondItem="3Bk-k3-7J9" secondAttribute="top" id="nhS-aC-rUR"/>
|
||||||
<constraint firstItem="0om-QB-N5a" firstAttribute="top" secondItem="J8K-ZI-4X1" secondAttribute="bottom" id="tvh-Sd-zA1"/>
|
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
<navigationItem key="navigationItem" id="pFk-as-3k4">
|
<navigationItem key="navigationItem" title="Games" id="pFk-as-3k4">
|
||||||
<barButtonItem key="leftBarButtonItem" image="home" id="2gg-lC-FhX"/>
|
<barButtonItem key="leftBarButtonItem" image="SettingsButton" id="2gg-lC-FhX">
|
||||||
<barButtonItem key="rightBarButtonItem" style="plain" id="FeA-O5-xd2">
|
<connections>
|
||||||
|
<segue destination="xMK-Cs-fAS" kind="presentation" identifier="showSettings" id="uN5-PN-7FK"/>
|
||||||
|
</connections>
|
||||||
|
</barButtonItem>
|
||||||
|
<barButtonItem key="rightBarButtonItem" systemItem="add" id="FeA-O5-xd2">
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="importFiles" destination="jeE-WD-wXO" id="A1s-kE-NkM"/>
|
<action selector="importFiles" destination="jeE-WD-wXO" id="A1s-kE-NkM"/>
|
||||||
</connections>
|
</connections>
|
||||||
@ -81,24 +52,24 @@
|
|||||||
</viewController>
|
</viewController>
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="JYx-xE-nis" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
<placeholder placeholderIdentifier="IBFirstResponder" id="JYx-xE-nis" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||||
</objects>
|
</objects>
|
||||||
<point key="canvasLocation" x="1036" y="1001.649175412294"/>
|
<point key="canvasLocation" x="1036" y="1002"/>
|
||||||
</scene>
|
</scene>
|
||||||
<!--Game Collection View Controller-->
|
<!--Game Collection View Controller-->
|
||||||
<scene sceneID="qNA-NP-TiF">
|
<scene sceneID="qNA-NP-TiF">
|
||||||
<objects>
|
<objects>
|
||||||
<collectionViewController storyboardIdentifier="gameCollectionViewController" clearsSelectionOnViewWillAppear="NO" id="kqu-75-owz" customClass="GameCollectionViewController" customModule="Retro_Game_Emulator" customModuleProvider="target" sceneMemberID="viewController">
|
<collectionViewController storyboardIdentifier="gameCollectionViewController" clearsSelectionOnViewWillAppear="NO" id="kqu-75-owz" customClass="GameCollectionViewController" customModule="Delta" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<collectionView key="view" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" indicatorStyle="white" dataMode="prototypes" id="OIq-Z8-kxO">
|
<collectionView key="view" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" indicatorStyle="white" dataMode="prototypes" id="OIq-Z8-kxO">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="20" minimumInteritemSpacing="10" id="NKN-dd-bTh" customClass="GridCollectionViewLayout" customModule="Retro_Game_Emulator" customModuleProvider="target">
|
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="20" minimumInteritemSpacing="10" id="NKN-dd-bTh" customClass="GridCollectionViewLayout" customModule="Delta" customModuleProvider="target">
|
||||||
<size key="itemSize" width="100" height="100"/>
|
<size key="itemSize" width="100" height="100"/>
|
||||||
<size key="headerReferenceSize" width="0.0" height="0.0"/>
|
<size key="headerReferenceSize" width="0.0" height="0.0"/>
|
||||||
<size key="footerReferenceSize" width="0.0" height="0.0"/>
|
<size key="footerReferenceSize" width="0.0" height="0.0"/>
|
||||||
<inset key="sectionInset" minX="0.0" minY="20" maxX="0.0" maxY="20"/>
|
<inset key="sectionInset" minX="0.0" minY="20" maxX="0.0" maxY="20"/>
|
||||||
</collectionViewFlowLayout>
|
</collectionViewFlowLayout>
|
||||||
<cells>
|
<cells>
|
||||||
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="Cell" id="ioT-sh-j8y" customClass="GridCollectionViewCell" customModule="Retro_Game_Emulator" customModuleProvider="target">
|
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="Cell" id="ioT-sh-j8y" customClass="GridCollectionViewCell" customModule="Delta" customModuleProvider="target">
|
||||||
<rect key="frame" x="0.0" y="20" width="100" height="100"/>
|
<rect key="frame" x="0.0" y="20" width="100" height="100"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
||||||
@ -114,7 +85,7 @@
|
|||||||
</collectionView>
|
</collectionView>
|
||||||
<connections>
|
<connections>
|
||||||
<segue destination="X2o-q6-XD5" kind="unwind" identifier="unwindFromGames" unwindAction="unwindFromGamesViewControllerWith:" id="k8C-Xn-maU"/>
|
<segue destination="X2o-q6-XD5" kind="unwind" identifier="unwindFromGames" unwindAction="unwindFromGamesViewControllerWith:" id="k8C-Xn-maU"/>
|
||||||
<segue destination="MPk-bF-nkj" kind="presentation" identifier="saveStates" customClass="SaveStatesStoryboardSegue" customModule="Retro_Game_Emulator" customModuleProvider="target" id="1Xp-2J-0cq"/>
|
<segue destination="MPk-bF-nkj" kind="presentation" identifier="saveStates" customClass="SaveStatesStoryboardSegue" customModule="Delta" customModuleProvider="target" id="1Xp-2J-0cq"/>
|
||||||
<segue destination="qdE-gb-V2e" kind="presentation" identifier="preferredControllerSkins" id="i6y-cP-3WM"/>
|
<segue destination="qdE-gb-V2e" kind="presentation" identifier="preferredControllerSkins" id="i6y-cP-3WM"/>
|
||||||
<segue destination="V2x-v0-jWm" kind="presentation" identifier="showDSSettings" id="kuV-tY-Y0B"/>
|
<segue destination="V2x-v0-jWm" kind="presentation" identifier="showDSSettings" id="kuV-tY-Y0B"/>
|
||||||
</connections>
|
</connections>
|
||||||
@ -127,7 +98,7 @@
|
|||||||
<!--Launch View Controller-->
|
<!--Launch View Controller-->
|
||||||
<scene sceneID="p7y-IT-nlb">
|
<scene sceneID="p7y-IT-nlb">
|
||||||
<objects>
|
<objects>
|
||||||
<viewController id="SPq-Bk-fQl" customClass="LaunchViewController" customModule="Retro_Game_Emulator" customModuleProvider="target" sceneMemberID="viewController">
|
<viewController id="SPq-Bk-fQl" customClass="LaunchViewController" customModule="Delta" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<layoutGuides>
|
<layoutGuides>
|
||||||
<viewControllerLayoutGuide type="top" id="Qap-U8-zpQ"/>
|
<viewControllerLayoutGuide type="top" id="Qap-U8-zpQ"/>
|
||||||
<viewControllerLayoutGuide type="bottom" id="dca-QO-wba"/>
|
<viewControllerLayoutGuide type="bottom" id="dca-QO-wba"/>
|
||||||
@ -146,38 +117,12 @@
|
|||||||
<containerView opaque="NO" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vf5-Iy-lAb" userLabel="Launch Screen">
|
<containerView opaque="NO" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vf5-Iy-lAb" userLabel="Launch Screen">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<color key="backgroundColor" red="0.071399740870000006" green="0.082175157959999995" blue="0.10832635309999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
|
||||||
<connections>
|
<connections>
|
||||||
<segue destination="ibA-aC-X3M" kind="embed" id="fsv-uf-AOE"/>
|
<segue destination="ibA-aC-X3M" kind="embed" id="fsv-uf-AOE"/>
|
||||||
</connections>
|
</connections>
|
||||||
</containerView>
|
</containerView>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Mgn-IF-ax7">
|
|
||||||
<rect key="frame" x="187.5" y="448" width="0.0" height="0.0"/>
|
|
||||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="28"/>
|
|
||||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
<nil key="highlightedColor"/>
|
|
||||||
</label>
|
|
||||||
<label opaque="NO" userInteractionEnabled="NO" alpha="0.44999998807907104" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wnW-MB-udh">
|
|
||||||
<rect key="frame" x="187.5" y="480" width="0.0" height="0.0"/>
|
|
||||||
<fontDescription key="fontDescription" type="system" pointSize="16"/>
|
|
||||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
<nil key="highlightedColor"/>
|
|
||||||
</label>
|
|
||||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="50O-wR-1hq">
|
|
||||||
<rect key="frame" x="0.0" y="50" width="375" height="378"/>
|
|
||||||
</imageView>
|
|
||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" red="0.071399740870000006" green="0.082175157959999995" blue="0.10832635309999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
<constraints>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="50O-wR-1hq" secondAttribute="trailing" id="2Xh-ZZ-Dbc"/>
|
|
||||||
<constraint firstItem="50O-wR-1hq" firstAttribute="leading" secondItem="8jv-0a-ItC" secondAttribute="leading" id="6rJ-Cz-C3Z"/>
|
|
||||||
<constraint firstItem="Mgn-IF-ax7" firstAttribute="centerX" secondItem="8jv-0a-ItC" secondAttribute="centerX" id="8kV-gZ-4TW"/>
|
|
||||||
<constraint firstItem="50O-wR-1hq" firstAttribute="height" secondItem="8jv-0a-ItC" secondAttribute="height" multiplier="1.7:3" id="FTt-Ru-HhA"/>
|
|
||||||
<constraint firstItem="wnW-MB-udh" firstAttribute="top" secondItem="Mgn-IF-ax7" secondAttribute="bottom" constant="32" id="IAR-im-kU7"/>
|
|
||||||
<constraint firstItem="50O-wR-1hq" firstAttribute="top" secondItem="Qap-U8-zpQ" secondAttribute="bottom" constant="30" id="bo1-Am-BdP"/>
|
|
||||||
<constraint firstItem="wnW-MB-udh" firstAttribute="centerX" secondItem="8jv-0a-ItC" secondAttribute="centerX" id="djF-KX-NgM"/>
|
|
||||||
<constraint firstItem="Mgn-IF-ax7" firstAttribute="top" secondItem="50O-wR-1hq" secondAttribute="bottom" constant="20" id="igk-jf-lgM"/>
|
|
||||||
</constraints>
|
|
||||||
</view>
|
</view>
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="gameViewContainerView" destination="oBZ-xU-jeC" id="jMI-iF-JlU"/>
|
<outlet property="gameViewContainerView" destination="oBZ-xU-jeC" id="jMI-iF-JlU"/>
|
||||||
@ -198,7 +143,7 @@
|
|||||||
<!--Game View Controller-->
|
<!--Game View Controller-->
|
||||||
<scene sceneID="ASV-Uk-0aP">
|
<scene sceneID="ASV-Uk-0aP">
|
||||||
<objects>
|
<objects>
|
||||||
<viewController id="yhz-fF-D91" customClass="GameViewController" customModule="Retro_Game_Emulator" customModuleProvider="target" sceneMemberID="viewController">
|
<viewController id="yhz-fF-D91" customClass="GameViewController" customModule="Delta" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<layoutGuides>
|
<layoutGuides>
|
||||||
<viewControllerLayoutGuide type="top" id="ItC-Bu-WRI"/>
|
<viewControllerLayoutGuide type="top" id="ItC-Bu-WRI"/>
|
||||||
<viewControllerLayoutGuide type="bottom" id="g58-HO-6L5"/>
|
<viewControllerLayoutGuide type="bottom" id="g58-HO-6L5"/>
|
||||||
@ -206,23 +151,12 @@
|
|||||||
<view key="view" contentMode="scaleToFill" id="skW-1S-YD4">
|
<view key="view" contentMode="scaleToFill" id="skW-1S-YD4">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg" translatesAutoresizingMaskIntoConstraints="NO" id="0b6-zE-QS0">
|
|
||||||
<rect key="frame" x="0.0" y="20" width="375" height="647"/>
|
|
||||||
</imageView>
|
|
||||||
</subviews>
|
|
||||||
<color key="backgroundColor" red="0.02214059979" green="0.092763282360000004" blue="0.18196243049999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
|
||||||
<constraints>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="0b6-zE-QS0" secondAttribute="trailing" id="5n6-uA-WLa"/>
|
|
||||||
<constraint firstItem="0b6-zE-QS0" firstAttribute="top" secondItem="ItC-Bu-WRI" secondAttribute="bottom" id="DTE-cg-9BW"/>
|
|
||||||
<constraint firstItem="0b6-zE-QS0" firstAttribute="leading" secondItem="skW-1S-YD4" secondAttribute="leading" id="Ej3-6D-wcR"/>
|
|
||||||
<constraint firstItem="g58-HO-6L5" firstAttribute="top" secondItem="0b6-zE-QS0" secondAttribute="bottom" id="ozO-Ni-qpr"/>
|
|
||||||
</constraints>
|
|
||||||
</view>
|
</view>
|
||||||
<connections>
|
<connections>
|
||||||
<segue destination="Yrw-9v-Pcr" kind="presentation" identifier="pause" customClass="PauseStoryboardSegue" customModule="Retro_Game_Emulator" customModuleProvider="target" id="FLq-Zt-HDv"/>
|
<segue destination="Yrw-9v-Pcr" kind="presentation" identifier="pause" customClass="PauseStoryboardSegue" customModule="Delta" customModuleProvider="target" id="FLq-Zt-HDv"/>
|
||||||
<segue destination="wKV-3d-NIY" kind="presentation" identifier="showGamesViewController" customClass="GamesStoryboardSegue" customModule="Retro_Game_Emulator" customModuleProvider="target" id="Tey-6Z-UHp"/>
|
<segue destination="wKV-3d-NIY" kind="presentation" identifier="showGamesViewController" customClass="GamesStoryboardSegue" customModule="Delta" customModuleProvider="target" id="Tey-6Z-UHp"/>
|
||||||
<segue destination="wKV-3d-NIY" kind="presentation" identifier="showInitialGamesViewController" customClass="InitialGamesStoryboardSegue" customModule="Retro_Game_Emulator" customModuleProvider="target" id="eR2-0c-0Rv"/>
|
<segue destination="wKV-3d-NIY" kind="presentation" identifier="showInitialGamesViewController" customClass="InitialGamesStoryboardSegue" customModule="Delta" customModuleProvider="target" id="eR2-0c-0Rv"/>
|
||||||
</connections>
|
</connections>
|
||||||
</viewController>
|
</viewController>
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="gxI-00-NlJ" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
<placeholder placeholderIdentifier="IBFirstResponder" id="gxI-00-NlJ" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||||
@ -240,12 +174,10 @@
|
|||||||
<!--Settings-->
|
<!--Settings-->
|
||||||
<scene sceneID="L3X-MM-hJL">
|
<scene sceneID="L3X-MM-hJL">
|
||||||
<objects>
|
<objects>
|
||||||
<viewControllerPlaceholder storyboardName="Settings" id="xMK-Cs-fAS" sceneMemberID="viewController">
|
<viewControllerPlaceholder storyboardName="Settings" id="xMK-Cs-fAS" sceneMemberID="viewController"/>
|
||||||
<navigationItem key="navigationItem" id="7yR-QM-2bX"/>
|
|
||||||
</viewControllerPlaceholder>
|
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="2N5-3k-beA" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
<placeholder placeholderIdentifier="IBFirstResponder" id="2N5-3k-beA" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||||
</objects>
|
</objects>
|
||||||
<point key="canvasLocation" x="1578" y="774"/>
|
<point key="canvasLocation" x="1036" y="605"/>
|
||||||
</scene>
|
</scene>
|
||||||
<!--Navigation Controller-->
|
<!--Navigation Controller-->
|
||||||
<scene sceneID="zJI-sC-1sm">
|
<scene sceneID="zJI-sC-1sm">
|
||||||
@ -256,8 +188,6 @@
|
|||||||
<navigationBar key="navigationBar" contentMode="scaleToFill" id="wj9-1e-eev">
|
<navigationBar key="navigationBar" contentMode="scaleToFill" id="wj9-1e-eev">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="56"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="56"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
<color key="barTintColor" red="0.032843004910000001" green="0.076728828250000006" blue="0.13726195690000001" alpha="1" colorSpace="custom" customColorSpace="displayP3"/>
|
|
||||||
</navigationBar>
|
</navigationBar>
|
||||||
<nil name="viewControllers"/>
|
<nil name="viewControllers"/>
|
||||||
<toolbar key="toolbar" opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="M4r-sO-G4H">
|
<toolbar key="toolbar" opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="M4r-sO-G4H">
|
||||||
@ -292,7 +222,7 @@
|
|||||||
<nil name="viewControllers"/>
|
<nil name="viewControllers"/>
|
||||||
<connections>
|
<connections>
|
||||||
<segue destination="Eae-Qk-9MI" kind="relationship" relationship="rootViewController" id="1Jh-Zf-ntp"/>
|
<segue destination="Eae-Qk-9MI" kind="relationship" relationship="rootViewController" id="1Jh-Zf-ntp"/>
|
||||||
<segue destination="WQV-Du-4IA" kind="unwind" identifier="unwindFromSaveStates" customClass="SaveStatesStoryboardUnwindSegue" customModule="Retro_Game_Emulator" customModuleProvider="target" unwindAction="unwindToGameCollectionViewController:" id="dwO-iv-XDr"/>
|
<segue destination="WQV-Du-4IA" kind="unwind" identifier="unwindFromSaveStates" customClass="SaveStatesStoryboardUnwindSegue" customModule="Delta" customModuleProvider="target" unwindAction="unwindToGameCollectionViewController:" id="dwO-iv-XDr"/>
|
||||||
</connections>
|
</connections>
|
||||||
</navigationController>
|
</navigationController>
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="htj-tq-2KP" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
<placeholder placeholderIdentifier="IBFirstResponder" id="htj-tq-2KP" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||||
@ -370,9 +300,6 @@
|
|||||||
<segue reference="Tey-6Z-UHp"/>
|
<segue reference="Tey-6Z-UHp"/>
|
||||||
</inferredMetricsTieBreakers>
|
</inferredMetricsTieBreakers>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="addtwo" width="519" height="519"/>
|
<image name="SettingsButton" width="22" height="22"/>
|
||||||
<image name="bg" width="375" height="812"/>
|
|
||||||
<image name="home" width="92" height="37"/>
|
|
||||||
<image name="home_tab" width="384.5" height="109"/>
|
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -39,7 +39,7 @@ class GridCollectionViewCell: UICollectionViewCell
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var maximumImageSize: CGSize = CGSize(width: 150, height: 120) {
|
var maximumImageSize: CGSize = CGSize(width: 100, height: 100) {
|
||||||
didSet {
|
didSet {
|
||||||
self.updateMaximumImageSize()
|
self.updateMaximumImageSize()
|
||||||
}
|
}
|
||||||
@ -109,14 +109,13 @@ class GridCollectionViewCell: UICollectionViewCell
|
|||||||
// Image View
|
// Image View
|
||||||
self.imageView.translatesAutoresizingMaskIntoConstraints = false
|
self.imageView.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
|
||||||
self.imageView.topAnchor.constraint(equalTo: self.vibrancyView.topAnchor).isActive = true
|
self.imageView.topAnchor.constraint(equalTo: self.contentView.topAnchor).isActive = true
|
||||||
self.imageView.centerXAnchor.constraint(equalTo: self.vibrancyView.centerXAnchor).isActive = true
|
self.imageView.centerXAnchor.constraint(equalTo: self.contentView.centerXAnchor).isActive = true
|
||||||
|
|
||||||
self.imageViewWidthConstraint = self.imageView.widthAnchor.constraint(equalToConstant: 150)
|
self.imageViewWidthConstraint = self.imageView.widthAnchor.constraint(equalToConstant: self.maximumImageSize.width)
|
||||||
self.imageViewWidthConstraint.isActive = true
|
self.imageViewWidthConstraint.isActive = true
|
||||||
|
|
||||||
self.imageViewHeightConstraint = self.imageView.heightAnchor.constraint(equalToConstant: 120)
|
self.imageViewHeightConstraint = self.imageView.heightAnchor.constraint(equalToConstant: self.maximumImageSize.height)
|
||||||
|
|
||||||
self.imageViewHeightConstraint.priority = UILayoutPriority(999) // Fixes "Unable to simultaneously satisfy constraints" runtime error when inserting new grid row.
|
self.imageViewHeightConstraint.priority = UILayoutPriority(999) // Fixes "Unable to simultaneously satisfy constraints" runtime error when inserting new grid row.
|
||||||
self.imageViewHeightConstraint.isActive = true
|
self.imageViewHeightConstraint.isActive = true
|
||||||
|
|
||||||
@ -183,15 +182,10 @@ private extension GridCollectionViewCell
|
|||||||
{
|
{
|
||||||
func updateMaximumImageSize()
|
func updateMaximumImageSize()
|
||||||
{
|
{
|
||||||
self.imageViewWidthConstraint.constant = 150
|
self.imageViewWidthConstraint.constant = self.maximumImageSize.width
|
||||||
self.imageViewHeightConstraint.constant = 120
|
self.imageViewHeightConstraint.constant = self.maximumImageSize.height
|
||||||
|
|
||||||
self.textLabelVerticalSpacingConstraint.constant = 8
|
self.textLabelVerticalSpacingConstraint.constant = 8
|
||||||
self.textLabelFocusedVerticalSpacingConstraint?.constant = self.maximumImageSize.height / 10.0
|
self.textLabelFocusedVerticalSpacingConstraint?.constant = self.maximumImageSize.height / 10.0
|
||||||
// 修改 textLabel 的固定高度为 30
|
|
||||||
// let textLabelFixedHeight: CGFloat = 30
|
|
||||||
//
|
|
||||||
// self.textLabelVerticalSpacingConstraint.constant = textLabelFixedHeight
|
|
||||||
// self.textLabelFocusedVerticalSpacingConstraint?.constant = textLabelFixedHeight / 50
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
75
Delta/Components/Table View/AttributedHeaderFooterView.swift
Normal file
75
Delta/Components/Table View/AttributedHeaderFooterView.swift
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
//
|
||||||
|
// AttributedHeaderFooterView.swift
|
||||||
|
// Delta
|
||||||
|
//
|
||||||
|
// Created by Riley Testut on 11/15/23.
|
||||||
|
// Copyright © 2023 Riley Testut. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import UIKit
|
||||||
|
|
||||||
|
@available(iOS 15, *)
|
||||||
|
final class AttributedHeaderFooterView: UITableViewHeaderFooterView
|
||||||
|
{
|
||||||
|
static let reuseIdentifier: String = "TextViewHeaderFooterView"
|
||||||
|
|
||||||
|
var attributedText: AttributedString? {
|
||||||
|
get {
|
||||||
|
guard let attributedText = self.textView.attributedText else { return nil }
|
||||||
|
return AttributedString(attributedText)
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
guard var attributedText = newValue else {
|
||||||
|
self.textView.attributedText = nil
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var attributes = AttributeContainer()
|
||||||
|
attributes.foregroundColor = UIColor.secondaryLabel
|
||||||
|
attributes.font = self.textLabel?.font ?? UIFont.preferredFont(forTextStyle: .footnote)
|
||||||
|
|
||||||
|
attributedText.mergeAttributes(attributes, mergePolicy: .keepCurrent)
|
||||||
|
self.textView.attributedText = NSAttributedString(attributedText)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private let textView: UITextView
|
||||||
|
|
||||||
|
override init(reuseIdentifier: String?)
|
||||||
|
{
|
||||||
|
self.textView = UITextView(frame: .zero)
|
||||||
|
self.textView.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
self.textView.textContainer.lineFragmentPadding = 0
|
||||||
|
self.textView.textContainerInset = .zero
|
||||||
|
self.textView.isSelectable = true // Must be true to open links
|
||||||
|
self.textView.isEditable = false
|
||||||
|
self.textView.isScrollEnabled = false
|
||||||
|
self.textView.backgroundColor = nil
|
||||||
|
self.textView.textContainer.lineBreakMode = .byWordWrapping
|
||||||
|
|
||||||
|
super.init(reuseIdentifier: reuseIdentifier)
|
||||||
|
|
||||||
|
self.textView.delegate = self
|
||||||
|
self.contentView.addSubview(self.textView)
|
||||||
|
|
||||||
|
NSLayoutConstraint.activate([
|
||||||
|
self.textView.topAnchor.constraint(equalTo: self.contentView.layoutMarginsGuide.topAnchor),
|
||||||
|
self.textView.bottomAnchor.constraint(equalTo: self.contentView.layoutMarginsGuide.bottomAnchor),
|
||||||
|
self.textView.leadingAnchor.constraint(equalTo: self.contentView.layoutMarginsGuide.leadingAnchor),
|
||||||
|
self.textView.trailingAnchor.constraint(equalTo: self.contentView.layoutMarginsGuide.trailingAnchor),
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
|
required init?(coder: NSCoder) {
|
||||||
|
fatalError("init(coder:) has not been implemented")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@available(iOS 15, *)
|
||||||
|
extension AttributedHeaderFooterView: UITextViewDelegate
|
||||||
|
{
|
||||||
|
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool
|
||||||
|
{
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -24,7 +24,7 @@ public class Game: _Game, GameProtocol
|
|||||||
{
|
{
|
||||||
public var fileURL: URL {
|
public var fileURL: URL {
|
||||||
var fileURL: URL!
|
var fileURL: URL!
|
||||||
//通过将指定的路径组件附加到 self 来返回 URL
|
|
||||||
self.managedObjectContext?.performAndWait {
|
self.managedObjectContext?.performAndWait {
|
||||||
fileURL = DatabaseManager.gamesDirectoryURL.appendingPathComponent(self.filename)
|
fileURL = DatabaseManager.gamesDirectoryURL.appendingPathComponent(self.filename)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import Foundation
|
|||||||
import GBCDeltaCore
|
import GBCDeltaCore
|
||||||
|
|
||||||
import Harmony
|
import Harmony
|
||||||
|
import Roxas
|
||||||
|
|
||||||
@objc(GameSave)
|
@objc(GameSave)
|
||||||
public class GameSave: _GameSave
|
public class GameSave: _GameSave
|
||||||
@ -113,4 +114,33 @@ extension GameSave: Syncable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public func resolveConflict(_ record: AnyRecord) -> ConflictResolution
|
||||||
|
{
|
||||||
|
// Only attempt to resolve conflicts for older GameSaves without SHA1 hash (i.e. pre-Delta 1.5)
|
||||||
|
guard let game = self.game, self.sha1 == nil else { return .conflict }
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
let sha1Hash = try RSTHasher.sha1HashOfFile(at: game.gameSaveURL)
|
||||||
|
|
||||||
|
// resolveConflict() is called from self.managedObjectContext, so we can update `self` directly
|
||||||
|
// and it will be automatically saved once finished conflicting records.
|
||||||
|
self.sha1 = sha1Hash
|
||||||
|
|
||||||
|
// Don't update localRecord's hash here or else GameSave won't be repaired during initial sync.
|
||||||
|
// try localRecord.updateSHA1Hash()
|
||||||
|
}
|
||||||
|
catch CocoaError.fileNoSuchFile
|
||||||
|
{
|
||||||
|
// Ignore
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Logger.sync.error("Failed to update GameSave SHA1 hash when resolving conflict. \(error.localizedDescription, privacy: .public)")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Conflict for now, but we'll "repair" this record to hopefully resolve conflict.
|
||||||
|
return .conflict
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,7 +62,6 @@ private extension GameViewController
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Only intercept controller skin inputs.
|
// Only intercept controller skin inputs.
|
||||||
// 只拦截控制器皮肤输入。
|
|
||||||
guard controllerInput.type == .controller(.controllerSkin) else { return nil }
|
guard controllerInput.type == .controller(.controllerSkin) else { return nil }
|
||||||
|
|
||||||
let actionInput = ActionInput(stringValue: controllerInput.stringValue)
|
let actionInput = ActionInput(stringValue: controllerInput.stringValue)
|
||||||
@ -93,7 +92,6 @@ private extension GameViewController
|
|||||||
class GameViewController: DeltaCore.GameViewController
|
class GameViewController: DeltaCore.GameViewController
|
||||||
{
|
{
|
||||||
/// Assumed to be Delta.Game instance
|
/// Assumed to be Delta.Game instance
|
||||||
/// /// 假设为 Delta.Game 实例
|
|
||||||
override var game: GameProtocol? {
|
override var game: GameProtocol? {
|
||||||
willSet {
|
willSet {
|
||||||
self.emulatorCore?.removeObserver(self, forKeyPath: #keyPath(EmulatorCore.state), context: &kvoContext)
|
self.emulatorCore?.removeObserver(self, forKeyPath: #keyPath(EmulatorCore.state), context: &kvoContext)
|
||||||
@ -713,12 +711,24 @@ private extension GameViewController
|
|||||||
{
|
{
|
||||||
// AirPlaying, hide all (non-touch) screens.
|
// AirPlaying, hide all (non-touch) screens.
|
||||||
|
|
||||||
if let traits = self.controllerView.controllerSkinTraits, let screens = self.controllerView.controllerSkin?.screens(for: traits)
|
if let traits = self.controllerView.controllerSkinTraits,
|
||||||
|
let supportedTraits = self.controllerView.controllerSkin?.supportedTraits(for: traits),
|
||||||
|
let screens = self.controllerView.controllerSkin?.screens(for: supportedTraits)
|
||||||
{
|
{
|
||||||
for (screen, gameView) in zip(screens, self.gameViews)
|
for (screen, gameView) in zip(screens, self.gameViews)
|
||||||
{
|
{
|
||||||
gameView.isEnabled = screen.isTouchScreen
|
gameView.isEnabled = screen.isTouchScreen
|
||||||
gameView.isHidden = !screen.isTouchScreen
|
|
||||||
|
if gameView == self.gameView
|
||||||
|
{
|
||||||
|
// Always show AirPlay indicator on self.gameView
|
||||||
|
gameView.isAirPlaying = true
|
||||||
|
gameView.isHidden = false
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gameView.isHidden = !screen.isTouchScreen
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -727,7 +737,8 @@ private extension GameViewController
|
|||||||
// Most likely this system only has 1 screen, so just hide self.gameView.
|
// Most likely this system only has 1 screen, so just hide self.gameView.
|
||||||
|
|
||||||
self.gameView.isEnabled = false
|
self.gameView.isEnabled = false
|
||||||
self.gameView.isHidden = true
|
self.gameView.isHidden = false
|
||||||
|
self.gameView.isAirPlaying = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -738,6 +749,7 @@ private extension GameViewController
|
|||||||
{
|
{
|
||||||
gameView.isEnabled = true
|
gameView.isEnabled = true
|
||||||
gameView.isHidden = false
|
gameView.isHidden = false
|
||||||
|
gameView.isAirPlaying = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1254,6 +1266,8 @@ private extension GameViewController
|
|||||||
|
|
||||||
// Implicitly called from updateControllerSkin()
|
// Implicitly called from updateControllerSkin()
|
||||||
// self.updateExternalDisplay()
|
// self.updateExternalDisplay()
|
||||||
|
|
||||||
|
self.gameView?.isAirPlaying = true
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateExternalDisplay()
|
func updateExternalDisplay()
|
||||||
@ -1324,6 +1338,8 @@ private extension GameViewController
|
|||||||
}
|
}
|
||||||
|
|
||||||
self.updateControllerSkin() // Reset TouchControllerSkin + GameViews
|
self.updateControllerSkin() // Reset TouchControllerSkin + GameViews
|
||||||
|
|
||||||
|
self.gameView?.isAirPlaying = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -15,15 +15,12 @@ private var kvoContext = 0
|
|||||||
class PreviewGameViewController: DeltaCore.GameViewController
|
class PreviewGameViewController: DeltaCore.GameViewController
|
||||||
{
|
{
|
||||||
// If non-nil, will override the default preview action items returned in previewActionItems()
|
// If non-nil, will override the default preview action items returned in previewActionItems()
|
||||||
// 如果非nil,将覆盖previewActionItems()中返回的默认预览操作项
|
|
||||||
var overridePreviewActionItems: [UIPreviewActionItem]?
|
var overridePreviewActionItems: [UIPreviewActionItem]?
|
||||||
|
|
||||||
// Save state to be loaded upon preview
|
// Save state to be loaded upon preview
|
||||||
// 保存预览时加载的状态
|
|
||||||
var previewSaveState: SaveStateProtocol?
|
var previewSaveState: SaveStateProtocol?
|
||||||
|
|
||||||
// Initial image to be shown while loading
|
// Initial image to be shown while loading
|
||||||
// 加载时显示的初始图像
|
|
||||||
var previewImage: UIImage? {
|
var previewImage: UIImage? {
|
||||||
didSet {
|
didSet {
|
||||||
self.updatePreviewImage()
|
self.updatePreviewImage()
|
||||||
@ -81,8 +78,6 @@ class PreviewGameViewController: DeltaCore.GameViewController
|
|||||||
{
|
{
|
||||||
// Explicitly stop emulatorCore _before_ we remove ourselves as observer
|
// Explicitly stop emulatorCore _before_ we remove ourselves as observer
|
||||||
// so we can wait until stopped before restoring save files (again).
|
// so we can wait until stopped before restoring save files (again).
|
||||||
// 在我们删除自己作为观察者之前显式停止 emulatorCore
|
|
||||||
// 所以我们可以等到停止后再恢复保存文件(再次)。
|
|
||||||
self.emulatorCore?.stop()
|
self.emulatorCore?.stop()
|
||||||
|
|
||||||
self.emulatorCore?.removeObserver(self, forKeyPath: #keyPath(EmulatorCore.state), context: &kvoContext)
|
self.emulatorCore?.removeObserver(self, forKeyPath: #keyPath(EmulatorCore.state), context: &kvoContext)
|
||||||
@ -98,10 +93,9 @@ extension PreviewGameViewController
|
|||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
self.controllerView.isHidden = true
|
self.controllerView.isHidden = true
|
||||||
self.controllerView.controllerSkin = nil // Skip loading controller skin from disk, which may be slow.跳过从磁盘加载控制器皮肤,这可能会很慢。
|
self.controllerView.controllerSkin = nil // Skip loading controller skin from disk, which may be slow.
|
||||||
|
|
||||||
// Temporarily prevent emulatorCore from updating gameView to prevent flicker of black, or other visual glitches
|
// Temporarily prevent emulatorCore from updating gameView to prevent flicker of black, or other visual glitches
|
||||||
// 暂时阻止 emulatorCore 更新 gameView 以防止黑色闪烁或其他视觉故障
|
|
||||||
self.emulatorCore?.remove(self.gameView)
|
self.emulatorCore?.remove(self.gameView)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,7 +120,6 @@ extension PreviewGameViewController
|
|||||||
super.viewWillDisappear(animated)
|
super.viewWillDisappear(animated)
|
||||||
|
|
||||||
// Pause in viewWillDisappear and not viewDidDisappear like DeltaCore.GameViewController so the audio cuts off earlier if being dismissed
|
// Pause in viewWillDisappear and not viewDidDisappear like DeltaCore.GameViewController so the audio cuts off earlier if being dismissed
|
||||||
// 在 viewWillDisappear 中暂停,而不是像 DeltaCore.GameViewController 那样在 viewDidDisappear 中暂停,因此如果被关闭,音频会更早切断
|
|
||||||
self.emulatorCore?.pause()
|
self.emulatorCore?.pause()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,13 +128,10 @@ extension PreviewGameViewController
|
|||||||
super.viewDidDisappear(animated)
|
super.viewDidDisappear(animated)
|
||||||
|
|
||||||
// Already stopped = we've already restored save files and removed directory.
|
// Already stopped = we've already restored save files and removed directory.
|
||||||
// 已经停止 = 我们已经恢复了保存文件并删除了目录。
|
|
||||||
if self.emulatorCore?.state != .stopped
|
if self.emulatorCore?.state != .stopped
|
||||||
{
|
{
|
||||||
// Pre-emptively restore save files in case something goes wrong while stopping emulation.
|
// Pre-emptively restore save files in case something goes wrong while stopping emulation.
|
||||||
// This also ensures if the core is never stopped (for some reason), saves are still restored.
|
// This also ensures if the core is never stopped (for some reason), saves are still restored.
|
||||||
// 抢先恢复保存文件,以防在停止仿真时出现问题。
|
|
||||||
// 这也确保如果核心从未停止(由于某种原因),保存仍然可以恢复。
|
|
||||||
self.restoreSaveFiles(removeCopyDirectory: false)
|
self.restoreSaveFiles(removeCopyDirectory: false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -151,8 +141,6 @@ extension PreviewGameViewController
|
|||||||
super.viewDidLayoutSubviews()
|
super.viewDidLayoutSubviews()
|
||||||
|
|
||||||
// Need to update in viewDidLayoutSubviews() to ensure bounds of gameView are not CGRect.zero
|
// Need to update in viewDidLayoutSubviews() to ensure bounds of gameView are not CGRect.zero
|
||||||
|
|
||||||
// 需要在 viewDidLayoutSubviews() 中进行更新以确保 gameView 的边界不是 CGRect.zero
|
|
||||||
self.updatePreviewImage()
|
self.updatePreviewImage()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,7 +148,6 @@ extension PreviewGameViewController
|
|||||||
{
|
{
|
||||||
super.didReceiveMemoryWarning()
|
super.didReceiveMemoryWarning()
|
||||||
// Dispose of any resources that can be recreated.
|
// Dispose of any resources that can be recreated.
|
||||||
// 处理掉所有可以重新创建的资源。
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?)
|
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?)
|
||||||
@ -178,7 +165,6 @@ extension PreviewGameViewController
|
|||||||
case .running where previousState == .stopped:
|
case .running where previousState == .stopped:
|
||||||
self.emulatorCoreQueue.async {
|
self.emulatorCoreQueue.async {
|
||||||
// Pause to prevent it from starting before visible (in case user peeked slowly)
|
// Pause to prevent it from starting before visible (in case user peeked slowly)
|
||||||
// 暂停以防止它在可见之前启动(以防用户缓慢地偷看)
|
|
||||||
self.emulatorCore?.pause()
|
self.emulatorCore?.pause()
|
||||||
self.preparePreview()
|
self.preparePreview()
|
||||||
}
|
}
|
||||||
@ -186,8 +172,6 @@ extension PreviewGameViewController
|
|||||||
case .stopped:
|
case .stopped:
|
||||||
// Emulation has stopped, so we can safely restore save files,
|
// Emulation has stopped, so we can safely restore save files,
|
||||||
// and also remove the directory they were copied to.
|
// and also remove the directory they were copied to.
|
||||||
// 模拟已停止,因此我们可以安全地恢复保存文件,
|
|
||||||
// 并删除它们复制到的目录。
|
|
||||||
self.restoreSaveFiles(removeCopyDirectory: true)
|
self.restoreSaveFiles(removeCopyDirectory: true)
|
||||||
|
|
||||||
default: break
|
default: break
|
||||||
@ -240,7 +224,6 @@ private extension PreviewGameViewController
|
|||||||
self.emulatorCore?.updateCheats()
|
self.emulatorCore?.updateCheats()
|
||||||
|
|
||||||
// Re-enable emulatorCore to update gameView again
|
// Re-enable emulatorCore to update gameView again
|
||||||
// 重新启用emulatorCore以再次更新gameView
|
|
||||||
self.emulatorCore?.add(self.gameView)
|
self.emulatorCore?.add(self.gameView)
|
||||||
|
|
||||||
self.emulatorCore?.resume()
|
self.emulatorCore?.resume()
|
||||||
|
|||||||
@ -41,6 +41,10 @@ struct ExperimentalFeatures: FeatureContainer
|
|||||||
options: ReviewSaveStatesOptions())
|
options: ReviewSaveStatesOptions())
|
||||||
var reviewSaveStates
|
var reviewSaveStates
|
||||||
|
|
||||||
|
@Feature(name: "Repair Database",
|
||||||
|
description: "Repair invalid relationships in Delta's game database on next app launch.")
|
||||||
|
var repairDatabase
|
||||||
|
|
||||||
@Feature(name: "Alternate App Icon",
|
@Feature(name: "Alternate App Icon",
|
||||||
description: "Change the app icon.",
|
description: "Change the app icon.",
|
||||||
options: AlternateAppIconOptions())
|
options: AlternateAppIconOptions())
|
||||||
|
|||||||
77
Delta/Extensions/GameView+AirPlay.swift
Normal file
77
Delta/Extensions/GameView+AirPlay.swift
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
//
|
||||||
|
// GameView+AirPlay.swift
|
||||||
|
// Delta
|
||||||
|
//
|
||||||
|
// Created by Riley Testut on 11/1/23.
|
||||||
|
// Copyright © 2023 Riley Testut. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
import ObjectiveC.runtime
|
||||||
|
|
||||||
|
import DeltaCore
|
||||||
|
import Roxas
|
||||||
|
|
||||||
|
private var airPlayViewKey = 0
|
||||||
|
|
||||||
|
extension GameView
|
||||||
|
{
|
||||||
|
var isAirPlaying: Bool {
|
||||||
|
get { self.airPlayView != nil }
|
||||||
|
set {
|
||||||
|
guard newValue != self.isAirPlaying else { return }
|
||||||
|
|
||||||
|
if newValue
|
||||||
|
{
|
||||||
|
self.showAirPlayView()
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
self.hideAirPlayView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private extension GameView
|
||||||
|
{
|
||||||
|
weak var airPlayView: UIView? {
|
||||||
|
get { objc_getAssociatedObject(self, &airPlayViewKey) as? UIView }
|
||||||
|
set { objc_setAssociatedObject(self, &airPlayViewKey, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_ASSIGN) }
|
||||||
|
}
|
||||||
|
|
||||||
|
func showAirPlayView()
|
||||||
|
{
|
||||||
|
guard self.airPlayView == nil else { return }
|
||||||
|
|
||||||
|
let placeholderView = RSTPlaceholderView(frame: .zero)
|
||||||
|
placeholderView.backgroundColor = .black
|
||||||
|
|
||||||
|
placeholderView.textLabel.font = UIFont.preferredFont(forTextStyle: .headline)
|
||||||
|
placeholderView.textLabel.text = NSLocalizedString("AirPlay", comment: "")
|
||||||
|
placeholderView.textLabel.textColor = .systemGray
|
||||||
|
|
||||||
|
placeholderView.detailTextLabel.font = UIFont.preferredFont(forTextStyle: .subheadline)
|
||||||
|
placeholderView.detailTextLabel.text = NSLocalizedString("This game is playing on a second screen.", comment: "")
|
||||||
|
placeholderView.detailTextLabel.textColor = .systemGray
|
||||||
|
|
||||||
|
let config = UIImage.SymbolConfiguration(pointSize: 100)
|
||||||
|
let airPlayIcon = UIImage(systemName: "tv", withConfiguration: config)
|
||||||
|
placeholderView.imageView.image = airPlayIcon
|
||||||
|
placeholderView.imageView.isHidden = false
|
||||||
|
placeholderView.imageView.tintColor = .systemGray
|
||||||
|
|
||||||
|
self.addSubview(placeholderView, pinningEdgesWith: .zero)
|
||||||
|
|
||||||
|
self.airPlayView = placeholderView
|
||||||
|
}
|
||||||
|
|
||||||
|
func hideAirPlayView()
|
||||||
|
{
|
||||||
|
guard let airPlayView else { return }
|
||||||
|
|
||||||
|
airPlayView.removeFromSuperview()
|
||||||
|
|
||||||
|
self.airPlayView = nil
|
||||||
|
}
|
||||||
|
}
|
||||||
25
Delta/Extensions/ProcessInfo+visionOS.swift
Normal file
25
Delta/Extensions/ProcessInfo+visionOS.swift
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
//
|
||||||
|
// ProcessInfo+visionOS.swift
|
||||||
|
// Delta
|
||||||
|
//
|
||||||
|
// Created by Riley Testut on 1/12/24.
|
||||||
|
// Copyright © 2024 Riley Testut. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
import LocalAuthentication
|
||||||
|
|
||||||
|
extension ProcessInfo
|
||||||
|
{
|
||||||
|
var isRunningOnVisionPro: Bool {
|
||||||
|
// Returns true even when running on iOS :/
|
||||||
|
// guard #available(visionOS 1, *) else { return false }
|
||||||
|
// return true
|
||||||
|
|
||||||
|
let context = LAContext()
|
||||||
|
_ = context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil) // Sets .biometryType when called.
|
||||||
|
|
||||||
|
// Can't reference `.opticID` due to bug with #available, so check if .biometryType isn't one of the other types instead.
|
||||||
|
return context.biometryType != .faceID && context.biometryType != .touchID && context.biometryType != .none
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -10,6 +10,6 @@ import UIKit
|
|||||||
|
|
||||||
extension UIColor
|
extension UIColor
|
||||||
{
|
{
|
||||||
static let deltaPurple = UIColor.purple
|
static let deltaPurple = UIColor(named: "Purple")!
|
||||||
static let deltaDarkGray = #colorLiteral(red: 0.07139974087, green: 0.08217515796, blue: 0.1083263531, alpha: 1)
|
static let deltaDarkGray = UIColor(named: "DarkGray")!
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,8 +43,6 @@ class GameCollectionViewController: UICollectionViewController
|
|||||||
|
|
||||||
// Calling reloadData sometimes will not update the cells correctly if an insertion/deletion animation is in progress
|
// Calling reloadData sometimes will not update the cells correctly if an insertion/deletion animation is in progress
|
||||||
// As a workaround, we manually iterate over and configure each cell ourselves
|
// As a workaround, we manually iterate over and configure each cell ourselves
|
||||||
// 如果正在进行插入/删除动画,调用 reloadData 有时不会正确更新单元格
|
|
||||||
// 作为解决方法,我们自己手动迭代并配置每个单元
|
|
||||||
for cell in self.collectionView?.visibleCells ?? []
|
for cell in self.collectionView?.visibleCells ?? []
|
||||||
{
|
{
|
||||||
if let indexPath = self.collectionView?.indexPath(for: cell)
|
if let indexPath = self.collectionView?.indexPath(for: cell)
|
||||||
@ -179,7 +177,6 @@ extension GameCollectionViewController
|
|||||||
if let emulatorBridge = destinationViewController.emulatorCore?.deltaCore.emulatorBridge as? MelonDSEmulatorBridge
|
if let emulatorBridge = destinationViewController.emulatorCore?.deltaCore.emulatorBridge as? MelonDSEmulatorBridge
|
||||||
{
|
{
|
||||||
//TODO: Update this to work with multiple processes by retrieving emulatorBridge directly from emulatorCore.
|
//TODO: Update this to work with multiple processes by retrieving emulatorBridge directly from emulatorCore.
|
||||||
//TODO:通过直接从 emulatorCore 检索 emulatorBridge 来更新它以与多个进程一起使用。
|
|
||||||
|
|
||||||
if game.identifier == Game.melonDSDSiBIOSIdentifier
|
if game.identifier == Game.melonDSDSiBIOSIdentifier
|
||||||
{
|
{
|
||||||
@ -196,8 +193,6 @@ extension GameCollectionViewController
|
|||||||
if let saveState = self.activeSaveState
|
if let saveState = self.activeSaveState
|
||||||
{
|
{
|
||||||
// Must be synchronous or else there will be a flash of black
|
// Must be synchronous or else there will be a flash of black
|
||||||
|
|
||||||
// 必须同步否则会有黑闪
|
|
||||||
destinationViewController.emulatorCore?.start()
|
destinationViewController.emulatorCore?.start()
|
||||||
destinationViewController.emulatorCore?.pause()
|
destinationViewController.emulatorCore?.pause()
|
||||||
|
|
||||||
@ -245,7 +240,6 @@ private extension GameCollectionViewController
|
|||||||
case .regular:
|
case .regular:
|
||||||
layout.itemWidth = 150
|
layout.itemWidth = 150
|
||||||
layout.minimumInteritemSpacing = 25 // 30 == only 3 games per line for iPad mini 6 in portrait
|
layout.minimumInteritemSpacing = 25 // 30 == only 3 games per line for iPad mini 6 in portrait
|
||||||
// 30 == 对于纵向 iPad mini 6,每行仅 3 场游戏
|
|
||||||
|
|
||||||
case .unspecified, .compact:
|
case .unspecified, .compact:
|
||||||
layout.itemWidth = 90
|
layout.itemWidth = 90
|
||||||
@ -315,7 +309,7 @@ private extension GameCollectionViewController
|
|||||||
cell.isImageViewVibrancyEnabled = true
|
cell.isImageViewVibrancyEnabled = true
|
||||||
}
|
}
|
||||||
|
|
||||||
cell.imageView.image = #imageLiteral(resourceName: "zw")
|
cell.imageView.image = #imageLiteral(resourceName: "BoxArt")
|
||||||
|
|
||||||
if self.traitCollection.horizontalSizeClass == .regular
|
if self.traitCollection.horizontalSizeClass == .regular
|
||||||
{
|
{
|
||||||
@ -375,13 +369,11 @@ private extension GameCollectionViewController
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Disable videoManager to prevent flash of black
|
// Disable videoManager to prevent flash of black
|
||||||
// 禁用videoManager以防止黑屏闪烁
|
|
||||||
self.activeEmulatorCore?.videoManager.isEnabled = false
|
self.activeEmulatorCore?.videoManager.isEnabled = false
|
||||||
|
|
||||||
launchGame(ignoringErrors: [LaunchError.alreadyRunning])
|
launchGame(ignoringErrors: [LaunchError.alreadyRunning])
|
||||||
|
|
||||||
// The game hasn't changed, so the activeEmulatorCore is the same as before, so we need to enable videoManager it again
|
// The game hasn't changed, so the activeEmulatorCore is the same as before, so we need to enable videoManager it again
|
||||||
// 游戏没有改变,所以activeEmulatorCore和之前一样,所以我们需要再次启用videoManager
|
|
||||||
self.activeEmulatorCore?.videoManager.isEnabled = true
|
self.activeEmulatorCore?.videoManager.isEnabled = true
|
||||||
}))
|
}))
|
||||||
alertController.addAction(UIAlertAction(title: NSLocalizedString("Restart", comment: ""), style: .destructive, handler: { (action) in
|
alertController.addAction(UIAlertAction(title: NSLocalizedString("Restart", comment: ""), style: .destructive, handler: { (action) in
|
||||||
@ -421,7 +413,7 @@ private extension GameCollectionViewController
|
|||||||
launchGame(ignoringErrors: [])
|
launchGame(ignoringErrors: [])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//验证启动游戏
|
|
||||||
func validateLaunchingGame(_ game: Game, ignoringErrors ignoredErrors: [Error]) throws
|
func validateLaunchingGame(_ game: Game, ignoringErrors ignoredErrors: [Error]) throws
|
||||||
{
|
{
|
||||||
let ignoredErrors = ignoredErrors.map { $0 as NSError }
|
let ignoredErrors = ignoredErrors.map { $0 as NSError }
|
||||||
@ -679,8 +671,6 @@ private extension GameCollectionViewController
|
|||||||
{
|
{
|
||||||
// Manually reload item because collection view may not be in window hierarchy,
|
// Manually reload item because collection view may not be in window hierarchy,
|
||||||
// which means it won't automatically update when we save the context.
|
// which means it won't automatically update when we save the context.
|
||||||
// 手动重新加载项目,因为集合视图可能不在窗口层次结构中,
|
|
||||||
// 这意味着当我们保存上下文时它不会自动更新。
|
|
||||||
self.collectionView.reloadItems(at: [indexPath])
|
self.collectionView.reloadItems(at: [indexPath])
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1018,7 +1008,6 @@ extension GameCollectionViewController: UICollectionViewDelegateFlowLayout
|
|||||||
{
|
{
|
||||||
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
|
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
|
||||||
{
|
{
|
||||||
|
|
||||||
let collectionViewLayout = collectionView.collectionViewLayout as! GridCollectionViewLayout
|
let collectionViewLayout = collectionView.collectionViewLayout as! GridCollectionViewLayout
|
||||||
|
|
||||||
let widthConstraint = self.prototypeCell.contentView.widthAnchor.constraint(equalToConstant: collectionViewLayout.itemWidth)
|
let widthConstraint = self.prototypeCell.contentView.widthAnchor.constraint(equalToConstant: collectionViewLayout.itemWidth)
|
||||||
@ -1028,9 +1017,7 @@ extension GameCollectionViewController: UICollectionViewDelegateFlowLayout
|
|||||||
self.configure(self.prototypeCell, for: indexPath)
|
self.configure(self.prototypeCell, for: indexPath)
|
||||||
|
|
||||||
let size = self.prototypeCell.contentView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
|
let size = self.prototypeCell.contentView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
|
||||||
// return size
|
return size
|
||||||
return CGSize(width: 150, height: 150)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -81,13 +81,6 @@ class GamesViewController: UIViewController
|
|||||||
NotificationCenter.default.addObserver(self, selector: #selector(GamesViewController.settingsDidChange(_:)), name: Settings.didChangeNotification, object: nil)
|
NotificationCenter.default.addObserver(self, selector: #selector(GamesViewController.settingsDidChange(_:)), name: Settings.didChangeNotification, object: nil)
|
||||||
NotificationCenter.default.addObserver(self, selector: #selector(GamesViewController.emulationDidQuit(_:)), name: EmulatorCore.emulationDidQuitNotification, object: nil)
|
NotificationCenter.default.addObserver(self, selector: #selector(GamesViewController.emulationDidQuit(_:)), name: EmulatorCore.emulationDidQuitNotification, object: nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
@IBAction func importfilesBtn(_ sender: UIButton) {
|
|
||||||
|
|
||||||
self.present(self.importController, animated: true, completion: nil)
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//MARK: - UIViewController -
|
//MARK: - UIViewController -
|
||||||
@ -98,18 +91,18 @@ extension GamesViewController
|
|||||||
{
|
{
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
|
let faqButton = UIButton(type: .system)
|
||||||
|
faqButton.addTarget(self, action: #selector(GamesViewController.openFAQ), for: .primaryActionTriggered)
|
||||||
|
faqButton.setTitle(NSLocalizedString("Learn More…", comment: ""), for: .normal)
|
||||||
|
faqButton.titleLabel?.font = UIFont.preferredFont(forTextStyle: .title3)
|
||||||
|
|
||||||
self.placeholderView = RSTPlaceholderView(frame: self.view.bounds)
|
self.placeholderView = RSTPlaceholderView(frame: self.view.bounds)
|
||||||
self.placeholderView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
|
self.placeholderView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
|
||||||
self.placeholderView.textLabel.text = NSLocalizedString("", comment: "")
|
self.placeholderView.textLabel.text = NSLocalizedString("No Games", comment: "")
|
||||||
self.placeholderView.detailTextLabel.text = NSLocalizedString("You have not added any games", comment: "")
|
self.placeholderView.detailTextLabel.text = NSLocalizedString("You can import games by pressing the + button in the top right.", comment: "")
|
||||||
|
self.placeholderView.stackView.addArrangedSubview(faqButton)
|
||||||
let placeholderImagV = UIImageView(image: UIImage(named: "nogame"))
|
self.placeholderView.stackView.setCustomSpacing(20.0, after: self.placeholderView.detailTextLabel)
|
||||||
placeholderImagV.frame = CGRect(x: (self.view.bounds.width - 87) / 2, y: (self.view.bounds.height - (placeholderImagV.bounds.height + 80)) / 2, width: 87, height: 64)
|
|
||||||
placeholderImagV.contentMode = .center
|
|
||||||
|
|
||||||
|
|
||||||
self.view.insertSubview(self.placeholderView, at: 0)
|
self.view.insertSubview(self.placeholderView, at: 0)
|
||||||
self.placeholderView.addSubview(placeholderImagV)
|
|
||||||
|
|
||||||
self.pageControl = UIPageControl()
|
self.pageControl = UIPageControl()
|
||||||
self.pageControl.translatesAutoresizingMaskIntoConstraints = false
|
self.pageControl.translatesAutoresizingMaskIntoConstraints = false
|
||||||
@ -122,32 +115,32 @@ extension GamesViewController
|
|||||||
self.pageControl.centerXAnchor.constraint(equalTo: (self.navigationController?.toolbar.centerXAnchor)!, constant: 0).isActive = true
|
self.pageControl.centerXAnchor.constraint(equalTo: (self.navigationController?.toolbar.centerXAnchor)!, constant: 0).isActive = true
|
||||||
self.pageControl.centerYAnchor.constraint(equalTo: (self.navigationController?.toolbar.centerYAnchor)!, constant: 0).isActive = true
|
self.pageControl.centerYAnchor.constraint(equalTo: (self.navigationController?.toolbar.centerYAnchor)!, constant: 0).isActive = true
|
||||||
|
|
||||||
// if let navigationController = self.navigationController
|
if let navigationController = self.navigationController
|
||||||
// {
|
{
|
||||||
// if #available(iOS 13.0, *)
|
if #available(iOS 13.0, *)
|
||||||
// {
|
{
|
||||||
// navigationController.overrideUserInterfaceStyle = .dark
|
navigationController.overrideUserInterfaceStyle = .dark
|
||||||
//
|
|
||||||
// let navigationBarAppearance = navigationController.navigationBar.standardAppearance.copy()
|
let navigationBarAppearance = navigationController.navigationBar.standardAppearance.copy()
|
||||||
// navigationBarAppearance.backgroundEffect = UIBlurEffect(style: .dark)
|
navigationBarAppearance.backgroundEffect = UIBlurEffect(style: .dark)
|
||||||
// navigationController.navigationBar.standardAppearance = navigationBarAppearance
|
navigationController.navigationBar.standardAppearance = navigationBarAppearance
|
||||||
// navigationController.navigationBar.scrollEdgeAppearance = navigationBarAppearance
|
navigationController.navigationBar.scrollEdgeAppearance = navigationBarAppearance
|
||||||
//
|
|
||||||
// let toolbarAppearance = navigationController.toolbar.standardAppearance.copy()
|
let toolbarAppearance = navigationController.toolbar.standardAppearance.copy()
|
||||||
// toolbarAppearance.backgroundEffect = UIBlurEffect(style: .dark)
|
toolbarAppearance.backgroundEffect = UIBlurEffect(style: .dark)
|
||||||
// navigationController.toolbar.standardAppearance = toolbarAppearance
|
navigationController.toolbar.standardAppearance = toolbarAppearance
|
||||||
//
|
|
||||||
// if #available(iOS 15, *)
|
if #available(iOS 15, *)
|
||||||
// {
|
{
|
||||||
// navigationController.toolbar.scrollEdgeAppearance = toolbarAppearance
|
navigationController.toolbar.scrollEdgeAppearance = toolbarAppearance
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// else
|
else
|
||||||
// {
|
{
|
||||||
// navigationController.navigationBar.barStyle = .blackTranslucent
|
navigationController.navigationBar.barStyle = .blackTranslucent
|
||||||
// navigationController.toolbar.barStyle = .blackTranslucent
|
navigationController.toolbar.barStyle = .blackTranslucent
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
|
||||||
if #available(iOS 14, *)
|
if #available(iOS 14, *)
|
||||||
{
|
{
|
||||||
@ -266,7 +259,6 @@ private extension GamesViewController
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
self.searchController?.searchBar.barStyle = .black
|
self.searchController?.searchBar.barStyle = .black
|
||||||
self.searchController?.searchBar.placeholder = "Game here"
|
|
||||||
|
|
||||||
self.navigationItem.searchController = self.searchController
|
self.navigationItem.searchController = self.searchController
|
||||||
self.navigationItem.hidesSearchBarWhenScrolling = false
|
self.navigationItem.hidesSearchBarWhenScrolling = false
|
||||||
@ -365,12 +357,12 @@ private extension GamesViewController
|
|||||||
if let viewController = self.viewControllerForIndex(index)
|
if let viewController = self.viewControllerForIndex(index)
|
||||||
{
|
{
|
||||||
self.pageViewController.view.setHidden(false, animated: animated)
|
self.pageViewController.view.setHidden(false, animated: animated)
|
||||||
|
self.pageViewController.view.superview?.setHidden(false, animated: animated)
|
||||||
self.placeholderView.setHidden(true, animated: animated)
|
self.placeholderView.setHidden(true, animated: animated)
|
||||||
|
|
||||||
self.pageViewController.setViewControllers([viewController], direction: .forward, animated: false, completion: nil)
|
self.pageViewController.setViewControllers([viewController], direction: .forward, animated: false, completion: nil)
|
||||||
|
|
||||||
// self.title = viewController.title
|
self.title = viewController.title
|
||||||
self.title = ""
|
|
||||||
self.pageControl.currentPage = index
|
self.pageControl.currentPage = index
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -384,9 +376,16 @@ private extension GamesViewController
|
|||||||
self.title = NSLocalizedString("Games", comment: "")
|
self.title = NSLocalizedString("Games", comment: "")
|
||||||
|
|
||||||
self.pageViewController.view.setHidden(true, animated: animated)
|
self.pageViewController.view.setHidden(true, animated: animated)
|
||||||
|
self.pageViewController.view.superview?.setHidden(true, animated: animated)
|
||||||
self.placeholderView.setHidden(false, animated: animated)
|
self.placeholderView.setHidden(false, animated: animated)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@objc func openFAQ()
|
||||||
|
{
|
||||||
|
let faqURL = URL(string: "https://faq.deltaemulator.com/getting-started/importing-games")!
|
||||||
|
UIApplication.shared.open(faqURL)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//MARK: - Importing -
|
//MARK: - Importing -
|
||||||
@ -409,11 +408,11 @@ extension GamesViewController: ImportControllerDelegate
|
|||||||
documentTypes.insert("com.rileytestut.gbc")
|
documentTypes.insert("com.rileytestut.gbc")
|
||||||
documentTypes.insert("com.rileytestut.gb")
|
documentTypes.insert("com.rileytestut.gb")
|
||||||
|
|
||||||
// let itunesImportOption = iTunesImportOption(presentingViewController: self)
|
let itunesImportOption = iTunesImportOption(presentingViewController: self)
|
||||||
|
|
||||||
let importController = ImportController(documentTypes: documentTypes)
|
let importController = ImportController(documentTypes: documentTypes)
|
||||||
importController.delegate = self
|
importController.delegate = self
|
||||||
// importController.importOptions = [itunesImportOption]
|
importController.importOptions = [itunesImportOption]
|
||||||
|
|
||||||
return importController
|
return importController
|
||||||
}
|
}
|
||||||
@ -423,10 +422,6 @@ extension GamesViewController: ImportControllerDelegate
|
|||||||
self.present(self.importController, animated: true, completion: nil)
|
self.present(self.importController, animated: true, completion: nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func importController(_ importController: ImportController, didImportItemsAt urls: Set<URL>, errors: [Error])
|
func importController(_ importController: ImportController, didImportItemsAt urls: Set<URL>, errors: [Error])
|
||||||
{
|
{
|
||||||
for error in errors
|
for error in errors
|
||||||
@ -476,8 +471,6 @@ private extension GamesViewController
|
|||||||
SyncManager.shared.sync()
|
SyncManager.shared.sync()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func showSyncingToastViewIfNeeded()
|
func showSyncingToastViewIfNeeded()
|
||||||
{
|
{
|
||||||
guard let coordinator = SyncManager.shared.coordinator, let syncProgress = SyncManager.shared.syncProgress, coordinator.isSyncing && self.syncingToastView == nil else { return }
|
guard let coordinator = SyncManager.shared.coordinator, let syncProgress = SyncManager.shared.syncProgress, coordinator.isSyncing && self.syncingToastView == nil else { return }
|
||||||
|
|||||||
@ -13,9 +13,7 @@ import Harmony
|
|||||||
|
|
||||||
class LaunchViewController: RSTLaunchViewController
|
class LaunchViewController: RSTLaunchViewController
|
||||||
{
|
{
|
||||||
|
|
||||||
@IBOutlet private var gameViewContainerView: UIView!
|
@IBOutlet private var gameViewContainerView: UIView!
|
||||||
|
|
||||||
private var gameViewController: GameViewController!
|
private var gameViewController: GameViewController!
|
||||||
|
|
||||||
private var presentedGameViewController: Bool = false
|
private var presentedGameViewController: Bool = false
|
||||||
@ -80,33 +78,12 @@ extension LaunchViewController
|
|||||||
|
|
||||||
// Repair database _after_ starting SyncManager so we can access RecordController.
|
// Repair database _after_ starting SyncManager so we can access RecordController.
|
||||||
let isDatabaseRepaired = RSTLaunchCondition(condition: { !UserDefaults.standard.shouldRepairDatabase }) { completionHandler in
|
let isDatabaseRepaired = RSTLaunchCondition(condition: { !UserDefaults.standard.shouldRepairDatabase }) { completionHandler in
|
||||||
func finish()
|
|
||||||
{
|
|
||||||
UserDefaults.standard.shouldRepairDatabase = false
|
|
||||||
completionHandler(nil)
|
|
||||||
}
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
let fetchRequest = Game.fetchRequest()
|
|
||||||
fetchRequest.fetchLimit = 1
|
|
||||||
|
|
||||||
let isDatabaseEmpty = try DatabaseManager.shared.viewContext.count(for: fetchRequest) == 0
|
|
||||||
guard !isDatabaseEmpty else {
|
|
||||||
// Database has no games, so no need to repair database.
|
|
||||||
finish()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
print("Failed to fetch games at launch, repairing database just to be safe.", error)
|
|
||||||
}
|
|
||||||
|
|
||||||
let repairViewController = RepairDatabaseViewController()
|
let repairViewController = RepairDatabaseViewController()
|
||||||
repairViewController.completionHandler = { [weak repairViewController] in
|
repairViewController.completionHandler = { [weak repairViewController] in
|
||||||
repairViewController?.dismiss(animated: true)
|
repairViewController?.dismiss(animated: true)
|
||||||
finish()
|
|
||||||
|
UserDefaults.standard.shouldRepairDatabase = false
|
||||||
|
completionHandler(nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
let navigationController = UINavigationController(rootViewController: repairViewController)
|
let navigationController = UINavigationController(rootViewController: repairViewController)
|
||||||
|
|||||||
@ -70,7 +70,7 @@ extension GridMenuViewController
|
|||||||
collectionViewLayout.usesEqualHorizontalSpacingDistributionForSingleRow = true
|
collectionViewLayout.usesEqualHorizontalSpacingDistributionForSingleRow = true
|
||||||
|
|
||||||
// Manually update prototype cell properties
|
// Manually update prototype cell properties
|
||||||
self.prototypeCell.contentView.widthAnchor.constraint(equalToConstant: 150).isActive = true
|
self.prototypeCell.contentView.widthAnchor.constraint(equalToConstant: collectionViewLayout.itemWidth).isActive = true
|
||||||
}
|
}
|
||||||
|
|
||||||
override func viewDidAppear(_ animated: Bool)
|
override func viewDidAppear(_ animated: Bool)
|
||||||
|
|||||||
@ -1,34 +0,0 @@
|
|||||||
//
|
|
||||||
// AboutVC.swift
|
|
||||||
// Delta
|
|
||||||
//
|
|
||||||
// Created by 忆海16 on 2024/5/9.
|
|
||||||
// Copyright © 2024 Riley Testut. All rights reserved.
|
|
||||||
//
|
|
||||||
|
|
||||||
import UIKit
|
|
||||||
|
|
||||||
class AboutVC: UIViewController {
|
|
||||||
|
|
||||||
@IBOutlet weak var logoimageV: UIImageView!
|
|
||||||
override func viewDidLoad() {
|
|
||||||
super.viewDidLoad()
|
|
||||||
|
|
||||||
logoimageV.layer.cornerRadius = 10
|
|
||||||
}
|
|
||||||
|
|
||||||
@IBAction func done(_ sender: Any) {
|
|
||||||
dismiss(animated: true)
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
// MARK: - Navigation
|
|
||||||
|
|
||||||
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
|
||||||
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
|
|
||||||
// Get the new view controller using segue.destination.
|
|
||||||
// Pass the selected object to the new view controller.
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,68 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
|
||||||
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
|
||||||
<dependencies>
|
|
||||||
<deployment identifier="iOS"/>
|
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
|
|
||||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
|
||||||
</dependencies>
|
|
||||||
<objects>
|
|
||||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="AboutVC" customModule="Retro_Game_Emulator" customModuleProvider="target">
|
|
||||||
<connections>
|
|
||||||
<outlet property="logoimageV" destination="ziO-Do-7xL" id="LQE-1P-2mg"/>
|
|
||||||
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
|
|
||||||
</connections>
|
|
||||||
</placeholder>
|
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
|
||||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
|
|
||||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
||||||
<subviews>
|
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="About" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rKh-5S-VFi">
|
|
||||||
<rect key="frame" x="178" y="68" width="58" height="27"/>
|
|
||||||
<fontDescription key="fontDescription" type="system" pointSize="22"/>
|
|
||||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
<nil key="highlightedColor"/>
|
|
||||||
</label>
|
|
||||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="logo" translatesAutoresizingMaskIntoConstraints="NO" id="ziO-Do-7xL">
|
|
||||||
<rect key="frame" x="137" y="125" width="140" height="140"/>
|
|
||||||
<constraints>
|
|
||||||
<constraint firstAttribute="height" constant="140" id="1uH-on-wZs"/>
|
|
||||||
<constraint firstAttribute="width" constant="140" id="W0c-de-bK4"/>
|
|
||||||
</constraints>
|
|
||||||
</imageView>
|
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Version:1.0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5zF-2q-6sp">
|
|
||||||
<rect key="frame" x="165.5" y="275" width="83" height="21"/>
|
|
||||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
|
||||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
<nil key="highlightedColor"/>
|
|
||||||
</label>
|
|
||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nXc-vQ-hCt">
|
|
||||||
<rect key="frame" x="357" y="66.5" width="37" height="30"/>
|
|
||||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
|
||||||
<state key="normal" title="Done"/>
|
|
||||||
<connections>
|
|
||||||
<action selector="done:" destination="-1" eventType="touchUpInside" id="ZLY-fU-FB3"/>
|
|
||||||
</connections>
|
|
||||||
</button>
|
|
||||||
</subviews>
|
|
||||||
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
|
|
||||||
<color key="backgroundColor" red="0.071399740870000006" green="0.082175157959999995" blue="0.10832635309999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
|
||||||
<constraints>
|
|
||||||
<constraint firstItem="nXc-vQ-hCt" firstAttribute="centerY" secondItem="rKh-5S-VFi" secondAttribute="centerY" id="2cR-wN-cus"/>
|
|
||||||
<constraint firstItem="5zF-2q-6sp" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="574-uc-3Ic"/>
|
|
||||||
<constraint firstItem="rKh-5S-VFi" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="20" id="98V-2P-ZdQ"/>
|
|
||||||
<constraint firstItem="5zF-2q-6sp" firstAttribute="top" secondItem="ziO-Do-7xL" secondAttribute="bottom" constant="10" id="KlD-4y-BYr"/>
|
|
||||||
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="nXc-vQ-hCt" secondAttribute="trailing" constant="20" id="PZs-sE-MjT"/>
|
|
||||||
<constraint firstItem="ziO-Do-7xL" firstAttribute="top" secondItem="rKh-5S-VFi" secondAttribute="bottom" constant="30" id="jZu-I1-dgp"/>
|
|
||||||
<constraint firstItem="rKh-5S-VFi" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="qWc-Y0-H2U"/>
|
|
||||||
<constraint firstItem="ziO-Do-7xL" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="zny-8Z-VNI"/>
|
|
||||||
</constraints>
|
|
||||||
<point key="canvasLocation" x="18" y="-12"/>
|
|
||||||
</view>
|
|
||||||
</objects>
|
|
||||||
<resources>
|
|
||||||
<image name="logo" width="1024" height="1024"/>
|
|
||||||
</resources>
|
|
||||||
</document>
|
|
||||||
@ -22,22 +22,6 @@ extension ControllersSettingsViewController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class LocalDeviceController: NSObject, GameController
|
|
||||||
{
|
|
||||||
var name: String {
|
|
||||||
return UIDevice.current.name
|
|
||||||
}
|
|
||||||
|
|
||||||
var playerIndex: Int? {
|
|
||||||
set { Settings.localControllerPlayerIndex = newValue }
|
|
||||||
get { return Settings.localControllerPlayerIndex }
|
|
||||||
}
|
|
||||||
|
|
||||||
let inputType: GameControllerInputType = .standard
|
|
||||||
|
|
||||||
var defaultInputMapping: GameControllerInputMappingProtocol?
|
|
||||||
}
|
|
||||||
|
|
||||||
class ControllersSettingsViewController: UITableViewController
|
class ControllersSettingsViewController: UITableViewController
|
||||||
{
|
{
|
||||||
var playerIndex: Int! {
|
var playerIndex: Int! {
|
||||||
|
|||||||
32
Delta/Settings/Controllers/LocalDeviceController.swift
Normal file
32
Delta/Settings/Controllers/LocalDeviceController.swift
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
//
|
||||||
|
// LocalDeviceController.swift
|
||||||
|
// Delta
|
||||||
|
//
|
||||||
|
// Created by Riley Testut on 1/12/24.
|
||||||
|
// Copyright © 2024 Riley Testut. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import DeltaCore
|
||||||
|
|
||||||
|
class LocalDeviceController: NSObject, GameController
|
||||||
|
{
|
||||||
|
var name: String {
|
||||||
|
if ProcessInfo.processInfo.isRunningOnVisionPro
|
||||||
|
{
|
||||||
|
return NSLocalizedString("Touch", comment: "")
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return NSLocalizedString("Touch Screen", comment: "")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var playerIndex: Int? {
|
||||||
|
set { Settings.localControllerPlayerIndex = newValue }
|
||||||
|
get { return Settings.localControllerPlayerIndex }
|
||||||
|
}
|
||||||
|
|
||||||
|
let inputType: GameControllerInputType = .standard
|
||||||
|
|
||||||
|
var defaultInputMapping: GameControllerInputMappingProtocol?
|
||||||
|
}
|
||||||
@ -120,6 +120,11 @@ class MelonDSCoreSettingsViewController: UITableViewController
|
|||||||
self.navigationItem.rightBarButtonItem = nil
|
self.navigationItem.rightBarButtonItem = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if #available(iOS 15, *)
|
||||||
|
{
|
||||||
|
self.tableView.register(AttributedHeaderFooterView.self, forHeaderFooterViewReuseIdentifier: AttributedHeaderFooterView.reuseIdentifier)
|
||||||
|
}
|
||||||
|
|
||||||
NotificationCenter.default.addObserver(self, selector: #selector(MelonDSCoreSettingsViewController.willEnterForeground(_:)), name: UIApplication.willEnterForegroundNotification, object: nil)
|
NotificationCenter.default.addObserver(self, selector: #selector(MelonDSCoreSettingsViewController.willEnterForeground(_:)), name: UIApplication.willEnterForegroundNotification, object: nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -235,7 +240,8 @@ private extension MelonDSCoreSettingsViewController
|
|||||||
|
|
||||||
func changeCore()
|
func changeCore()
|
||||||
{
|
{
|
||||||
let alertController = UIAlertController(title: NSLocalizedString("Change Emulator Core", comment: ""), message: NSLocalizedString("Save states are not compatible between different emulator cores. Make sure to use in-game saves in order to keep using your save data.\n\nYour existing save states will not be deleted and will be available whenever you switch cores again.", comment: ""), preferredStyle: .actionSheet)
|
let preferredStyle: UIAlertController.Style = (self.traitCollection.horizontalSizeClass == .compact) ? .actionSheet : .alert
|
||||||
|
let alertController = UIAlertController(title: NSLocalizedString("Change Emulator Core", comment: ""), message: NSLocalizedString("Save states are not compatible between different emulator cores. Make sure to use in-game saves in order to keep using your save data.\n\nYour existing save states will not be deleted and will be available whenever you switch cores again.", comment: ""), preferredStyle: preferredStyle)
|
||||||
|
|
||||||
var desmumeActionTitle = DS.core.metadata?.name.value ?? DS.core.name
|
var desmumeActionTitle = DS.core.metadata?.name.value ?? DS.core.name
|
||||||
var melonDSActionTitle = MelonDS.core.metadata?.name.value ?? MelonDS.core.name
|
var melonDSActionTitle = MelonDS.core.metadata?.name.value ?? MelonDS.core.name
|
||||||
@ -313,9 +319,17 @@ extension MelonDSCoreSettingsViewController
|
|||||||
switch section
|
switch section
|
||||||
{
|
{
|
||||||
case _ where isSectionHidden(section): return 0
|
case _ where isSectionHidden(section): return 0
|
||||||
|
case .general:
|
||||||
|
guard let core = Settings.preferredCore(for: .ds) else { break }
|
||||||
|
|
||||||
|
let validKeys = DeltaCoreMetadata.Key.allCases.filter { core.metadata?[$0] != nil }
|
||||||
|
return validKeys.count
|
||||||
|
|
||||||
case .airPlay where Settings.features.dsAirPlay.topScreenOnly: return 1 // Layout axis is irrelevant if only AirPlaying top screen.
|
case .airPlay where Settings.features.dsAirPlay.topScreenOnly: return 1 // Layout axis is irrelevant if only AirPlaying top screen.
|
||||||
default: return super.tableView(tableView, numberOfRowsInSection: sectionIndex)
|
default: break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return super.tableView(tableView, numberOfRowsInSection: sectionIndex)
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
|
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
|
||||||
@ -400,24 +414,6 @@ extension MelonDSCoreSettingsViewController
|
|||||||
return cell
|
return cell
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)
|
|
||||||
{
|
|
||||||
guard let core = Settings.preferredCore(for: .ds) else { return }
|
|
||||||
|
|
||||||
let key = DeltaCoreMetadata.Key.allCases[indexPath.row]
|
|
||||||
let lastKey = DeltaCoreMetadata.Key.allCases.reversed().first { core.metadata?[$0] != nil }
|
|
||||||
|
|
||||||
if key == lastKey
|
|
||||||
{
|
|
||||||
// Hide separator for last visible row in case we've hidden additional rows.
|
|
||||||
cell.separatorInset.left = 0
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cell.separatorInset.left = self.view.layoutMargins.left
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
|
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
|
||||||
{
|
{
|
||||||
switch Section(rawValue: indexPath.section)!
|
switch Section(rawValue: indexPath.section)!
|
||||||
@ -469,22 +465,43 @@ extension MelonDSCoreSettingsViewController
|
|||||||
case (false, .horizontal): return NSLocalizedString("When AirPlaying DS games, both screens will be placed side-by-side on the external display.", comment: "")
|
case (false, .horizontal): return NSLocalizedString("When AirPlaying DS games, both screens will be placed side-by-side on the external display.", comment: "")
|
||||||
}
|
}
|
||||||
|
|
||||||
default: return super.tableView(tableView, titleForFooterInSection: section.rawValue)
|
case .dsBIOS, .dsiBIOS:
|
||||||
}
|
guard #available(iOS 15, *) else { break }
|
||||||
}
|
return nil
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
|
|
||||||
{
|
|
||||||
switch Section(rawValue: indexPath.section)!
|
|
||||||
{
|
|
||||||
case .general:
|
|
||||||
let key = DeltaCoreMetadata.Key.allCases[indexPath.row]
|
|
||||||
guard Settings.preferredCore(for: .ds)?.metadata?[key] != nil else { return 0 }
|
|
||||||
|
|
||||||
default: break
|
default: break
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.tableView(tableView, heightForRowAt: indexPath)
|
return super.tableView(tableView, titleForFooterInSection: section.rawValue)
|
||||||
|
}
|
||||||
|
|
||||||
|
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView?
|
||||||
|
{
|
||||||
|
let section = Section(rawValue: section)!
|
||||||
|
guard !isSectionHidden(section) else { return nil }
|
||||||
|
|
||||||
|
switch section
|
||||||
|
{
|
||||||
|
case .dsBIOS, .dsiBIOS:
|
||||||
|
guard #available(iOS 15, *), let footerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: AttributedHeaderFooterView.reuseIdentifier) as? AttributedHeaderFooterView else { break }
|
||||||
|
|
||||||
|
let systemName = (section == .dsiBIOS) ? String(localized: "DSi") : String(localized: "DS")
|
||||||
|
|
||||||
|
var attributedText = AttributedString(localized: "Delta requires these BIOS files in order to play Nintendo \(systemName) games.")
|
||||||
|
attributedText += " "
|
||||||
|
|
||||||
|
var learnMore = AttributedString(localized: "Learn more…")
|
||||||
|
learnMore.link = URL(string: "https://faq.deltaemulator.com/getting-started/nintendo-ds-bios-files")
|
||||||
|
attributedText += learnMore
|
||||||
|
|
||||||
|
footerView.attributedText = attributedText
|
||||||
|
|
||||||
|
return footerView
|
||||||
|
|
||||||
|
default: break
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.tableView(tableView, viewForFooterInSection: section.rawValue)
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
|
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
|
||||||
@ -504,14 +521,24 @@ extension MelonDSCoreSettingsViewController
|
|||||||
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat
|
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat
|
||||||
{
|
{
|
||||||
let section = Section(rawValue: section)!
|
let section = Section(rawValue: section)!
|
||||||
|
guard !isSectionHidden(section) else { return 1 }
|
||||||
|
|
||||||
if isSectionHidden(section)
|
switch section
|
||||||
{
|
{
|
||||||
return 1
|
case .dsBIOS, .dsiBIOS: return UITableView.automaticDimension
|
||||||
|
default: return super.tableView(tableView, heightForFooterInSection: section.rawValue)
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
|
|
||||||
|
override func tableView(_ tableView: UITableView, estimatedHeightForFooterInSection section: Int) -> CGFloat
|
||||||
|
{
|
||||||
|
let section = Section(rawValue: section)!
|
||||||
|
guard !isSectionHidden(section) else { return 1 }
|
||||||
|
|
||||||
|
switch section
|
||||||
{
|
{
|
||||||
return super.tableView(tableView, heightForFooterInSection: section.rawValue)
|
case .dsBIOS, .dsiBIOS: return 30
|
||||||
|
default: return UITableView.automaticDimension
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,34 +0,0 @@
|
|||||||
//
|
|
||||||
// PrivacyVC.swift
|
|
||||||
// Delta
|
|
||||||
//
|
|
||||||
// Created by 忆海16 on 2024/5/9.
|
|
||||||
// Copyright © 2024 Riley Testut. All rights reserved.
|
|
||||||
//
|
|
||||||
|
|
||||||
import UIKit
|
|
||||||
import WebKit
|
|
||||||
class PrivacyVC: UIViewController {
|
|
||||||
var webView: WKWebView!
|
|
||||||
var type:Int = 0
|
|
||||||
override func viewDidLoad() {
|
|
||||||
super.viewDidLoad()
|
|
||||||
|
|
||||||
webView = WKWebView()
|
|
||||||
view = webView
|
|
||||||
|
|
||||||
if self.type == 0 {
|
|
||||||
if let url = URL(string: "https://retrogameemulator.mystrikingly.com/privacy") {
|
|
||||||
let request = URLRequest(url: url)
|
|
||||||
webView.load(request)
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
if let url = URL(string: "https://retrogameemulator.mystrikingly.com/terms") {
|
|
||||||
let request = URLRequest(url: url)
|
|
||||||
webView.load(request)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
|
||||||
<dependencies>
|
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
|
|
||||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
|
||||||
</dependencies>
|
|
||||||
<objects>
|
|
||||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="PrivacyVC" customModuleProvider="target">
|
|
||||||
<connections>
|
|
||||||
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
|
|
||||||
</connections>
|
|
||||||
</placeholder>
|
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
|
||||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
|
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
||||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
|
||||||
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
|
|
||||||
</view>
|
|
||||||
</objects>
|
|
||||||
</document>
|
|
||||||
@ -53,7 +53,7 @@ struct Settings
|
|||||||
|
|
||||||
static func registerDefaults()
|
static func registerDefaults()
|
||||||
{
|
{
|
||||||
var defaults = [#keyPath(UserDefaults.translucentControllerSkinOpacity): 0.7,
|
let defaults = [#keyPath(UserDefaults.translucentControllerSkinOpacity): 0.7,
|
||||||
#keyPath(UserDefaults.gameShortcutsMode): GameShortcutsMode.recent.rawValue,
|
#keyPath(UserDefaults.gameShortcutsMode): GameShortcutsMode.recent.rawValue,
|
||||||
#keyPath(UserDefaults.isButtonHapticFeedbackEnabled): true,
|
#keyPath(UserDefaults.isButtonHapticFeedbackEnabled): true,
|
||||||
#keyPath(UserDefaults.isThumbstickHapticFeedbackEnabled): true,
|
#keyPath(UserDefaults.isThumbstickHapticFeedbackEnabled): true,
|
||||||
@ -63,12 +63,7 @@ struct Settings
|
|||||||
#keyPath(UserDefaults.respectSilentMode): true,
|
#keyPath(UserDefaults.respectSilentMode): true,
|
||||||
Settings.preferredCoreSettingsKey(for: .ds): MelonDS.core.identifier] as [String : Any]
|
Settings.preferredCoreSettingsKey(for: .ds): MelonDS.core.identifier] as [String : Any]
|
||||||
|
|
||||||
#if BETA
|
#if !BETA
|
||||||
|
|
||||||
// Assume we need to repair database relationships until explicitly set to false.
|
|
||||||
defaults[#keyPath(UserDefaults.shouldRepairDatabase)] = true
|
|
||||||
|
|
||||||
#else
|
|
||||||
// Manually set MelonDS as preferred DS core in case DeSmuME is cached from a previous version.
|
// Manually set MelonDS as preferred DS core in case DeSmuME is cached from a previous version.
|
||||||
UserDefaults.standard.set(MelonDS.core.identifier, forKey: Settings.preferredCoreSettingsKey(for: .ds))
|
UserDefaults.standard.set(MelonDS.core.identifier, forKey: Settings.preferredCoreSettingsKey(for: .ds))
|
||||||
|
|
||||||
@ -77,6 +72,12 @@ struct Settings
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
UserDefaults.standard.register(defaults: defaults)
|
UserDefaults.standard.register(defaults: defaults)
|
||||||
|
|
||||||
|
if ExperimentalFeatures.shared.repairDatabase.isEnabled
|
||||||
|
{
|
||||||
|
UserDefaults.standard.shouldRepairDatabase = true
|
||||||
|
ExperimentalFeatures.shared.repairDatabase.isEnabled = false // Disable so we only repair database once.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,8 +8,10 @@
|
|||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
import SafariServices
|
import SafariServices
|
||||||
|
import QuickLook
|
||||||
|
|
||||||
import DeltaCore
|
import DeltaCore
|
||||||
|
import Harmony
|
||||||
|
|
||||||
import Roxas
|
import Roxas
|
||||||
|
|
||||||
@ -43,6 +45,12 @@ private extension SettingsViewController
|
|||||||
case status
|
case status
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum AdvancedRow: Int, CaseIterable
|
||||||
|
{
|
||||||
|
case exportLog
|
||||||
|
case experimentalFeatures
|
||||||
|
}
|
||||||
|
|
||||||
enum CreditsRow: Int, CaseIterable
|
enum CreditsRow: Int, CaseIterable
|
||||||
{
|
{
|
||||||
case riley
|
case riley
|
||||||
@ -57,9 +65,6 @@ private extension SettingsViewController
|
|||||||
|
|
||||||
class SettingsViewController: UITableViewController
|
class SettingsViewController: UITableViewController
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@IBOutlet private var controllerOpacityLabel: UILabel!
|
@IBOutlet private var controllerOpacityLabel: UILabel!
|
||||||
@IBOutlet private var controllerOpacitySlider: UISlider!
|
@IBOutlet private var controllerOpacitySlider: UISlider!
|
||||||
|
|
||||||
@ -70,10 +75,8 @@ class SettingsViewController: UITableViewController
|
|||||||
|
|
||||||
@IBOutlet private var versionLabel: UILabel!
|
@IBOutlet private var versionLabel: UILabel!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@IBOutlet private var syncingServiceLabel: UILabel!
|
@IBOutlet private var syncingServiceLabel: UILabel!
|
||||||
|
@IBOutlet private var exportLogActivityIndicatorView: UIActivityIndicatorView!
|
||||||
|
|
||||||
private var selectionFeedbackGenerator: UISelectionFeedbackGenerator?
|
private var selectionFeedbackGenerator: UISelectionFeedbackGenerator?
|
||||||
|
|
||||||
@ -81,6 +84,8 @@ class SettingsViewController: UITableViewController
|
|||||||
|
|
||||||
private var syncingConflictsCount = 0
|
private var syncingConflictsCount = 0
|
||||||
|
|
||||||
|
private var _exportedLogURL: URL?
|
||||||
|
|
||||||
required init?(coder aDecoder: NSCoder)
|
required init?(coder aDecoder: NSCoder)
|
||||||
{
|
{
|
||||||
super.init(coder: aDecoder)
|
super.init(coder: aDecoder)
|
||||||
@ -93,24 +98,28 @@ class SettingsViewController: UITableViewController
|
|||||||
override func viewDidLoad()
|
override func viewDidLoad()
|
||||||
{
|
{
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
|
|
||||||
// if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String
|
if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String
|
||||||
// {
|
{
|
||||||
// #if LITE
|
#if LITE
|
||||||
// self.versionLabel.text = NSLocalizedString(String(format: "Delta Lite %@", version), comment: "Delta Version")
|
self.versionLabel.text = NSLocalizedString(String(format: "Delta Lite %@", version), comment: "Delta Version")
|
||||||
// #else
|
#else
|
||||||
// self.versionLabel.text = NSLocalizedString(String(format: "Delta %@", version), comment: "Delta Version")
|
self.versionLabel.text = NSLocalizedString(String(format: "Delta %@", version), comment: "Delta Version")
|
||||||
// #endif
|
#endif
|
||||||
// }
|
}
|
||||||
// else
|
else
|
||||||
// {
|
{
|
||||||
// #if LITE
|
#if LITE
|
||||||
// self.versionLabel.text = NSLocalizedString("Delta Lite", comment: "")
|
self.versionLabel.text = NSLocalizedString("Delta Lite", comment: "")
|
||||||
// #else
|
#else
|
||||||
// self.versionLabel.text = NSLocalizedString("Delta", comment: "")
|
self.versionLabel.text = NSLocalizedString("Delta", comment: "")
|
||||||
// #endif
|
#endif
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
if #available(iOS 15, *)
|
||||||
|
{
|
||||||
|
self.tableView.register(AttributedHeaderFooterView.self, forHeaderFooterViewReuseIdentifier: AttributedHeaderFooterView.reuseIdentifier)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override func viewWillAppear(_ animated: Bool)
|
override func viewWillAppear(_ animated: Bool)
|
||||||
@ -131,32 +140,6 @@ class SettingsViewController: UITableViewController
|
|||||||
|
|
||||||
self.update()
|
self.update()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@IBAction func didmisiigame(_ sender: Any) {
|
|
||||||
dismiss(animated: true)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@IBAction func aboutbtn(_ sender: Any) {
|
|
||||||
let vc = AboutVC()
|
|
||||||
self.present(vc, animated: true)
|
|
||||||
}
|
|
||||||
|
|
||||||
@IBAction func privacybtn(_ sender: Any) {
|
|
||||||
let vc = PrivacyVC()
|
|
||||||
vc.type = 0
|
|
||||||
self.present(vc, animated: true)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@IBAction func useragreemBtn(_ sender: Any) {
|
|
||||||
let vc = PrivacyVC()
|
|
||||||
vc.type = 1
|
|
||||||
self.present(vc, animated: true)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
override func didReceiveMemoryWarning()
|
override func didReceiveMemoryWarning()
|
||||||
{
|
{
|
||||||
@ -193,31 +176,29 @@ class SettingsViewController: UITableViewController
|
|||||||
|
|
||||||
private extension SettingsViewController
|
private extension SettingsViewController
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
func update()
|
func update()
|
||||||
{
|
{
|
||||||
// self.controllerOpacitySlider.value = Float(Settings.translucentControllerSkinOpacity)
|
self.controllerOpacitySlider.value = Float(Settings.translucentControllerSkinOpacity)
|
||||||
// self.updateControllerOpacityLabel()
|
self.updateControllerOpacityLabel()
|
||||||
//
|
|
||||||
// self.respectSilentModeSwitch.isOn = Settings.respectSilentMode
|
self.respectSilentModeSwitch.isOn = Settings.respectSilentMode
|
||||||
//
|
|
||||||
// self.syncingServiceLabel.text = Settings.syncingService?.localizedName
|
self.syncingServiceLabel.text = Settings.syncingService?.localizedName
|
||||||
//
|
|
||||||
// do
|
do
|
||||||
// {
|
{
|
||||||
// let records = try SyncManager.shared.recordController?.fetchConflictedRecords() ?? []
|
let records = try SyncManager.shared.recordController?.fetchConflictedRecords() ?? []
|
||||||
// self.syncingConflictsCount = records.count
|
self.syncingConflictsCount = records.count
|
||||||
// }
|
}
|
||||||
// catch
|
catch
|
||||||
// {
|
{
|
||||||
// print(error)
|
print(error)
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
self.buttonHapticFeedbackEnabledSwitch.isOn = Settings.isButtonHapticFeedbackEnabled
|
||||||
|
self.thumbstickHapticFeedbackEnabledSwitch.isOn = Settings.isThumbstickHapticFeedbackEnabled
|
||||||
|
self.previewsEnabledSwitch.isOn = Settings.isPreviewsEnabled
|
||||||
|
|
||||||
// self.buttonHapticFeedbackEnabledSwitch.isOn = Settings.isButtonHapticFeedbackEnabled
|
|
||||||
// self.thumbstickHapticFeedbackEnabledSwitch.isOn = Settings.isThumbstickHapticFeedbackEnabled
|
|
||||||
// self.previewsEnabledSwitch.isOn = Settings.isPreviewsEnabled
|
|
||||||
//
|
|
||||||
self.tableView.reloadData()
|
self.tableView.reloadData()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -231,6 +212,17 @@ private extension SettingsViewController
|
|||||||
{
|
{
|
||||||
switch section
|
switch section
|
||||||
{
|
{
|
||||||
|
case .hapticFeedback where !UIDevice.current.isVibrationSupported: return true
|
||||||
|
|
||||||
|
case .advanced:
|
||||||
|
guard #unavailable(iOS 15) else { return false }
|
||||||
|
|
||||||
|
#if BETA
|
||||||
|
return false
|
||||||
|
#else
|
||||||
|
return true
|
||||||
|
#endif
|
||||||
|
|
||||||
case .hapticTouch:
|
case .hapticTouch:
|
||||||
if #available(iOS 13, *)
|
if #available(iOS 13, *)
|
||||||
{
|
{
|
||||||
@ -249,9 +241,6 @@ private extension SettingsViewController
|
|||||||
|
|
||||||
private extension SettingsViewController
|
private extension SettingsViewController
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@IBAction func beginChangingControllerOpacity(with sender: UISlider)
|
@IBAction func beginChangingControllerOpacity(with sender: UISlider)
|
||||||
{
|
{
|
||||||
self.selectionFeedbackGenerator = UISelectionFeedbackGenerator()
|
self.selectionFeedbackGenerator = UISelectionFeedbackGenerator()
|
||||||
@ -298,8 +287,6 @@ private extension SettingsViewController
|
|||||||
Settings.respectSilentMode = sender.isOn
|
Settings.respectSilentMode = sender.isOn
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func openTwitter(username: String)
|
func openTwitter(username: String)
|
||||||
{
|
{
|
||||||
let twitterAppURL = URL(string: "twitter://user?screen_name=" + username)!
|
let twitterAppURL = URL(string: "twitter://user?screen_name=" + username)!
|
||||||
@ -334,6 +321,55 @@ private extension SettingsViewController
|
|||||||
let hostingController = ExperimentalFeaturesView.makeViewController()
|
let hostingController = ExperimentalFeaturesView.makeViewController()
|
||||||
self.navigationController?.pushViewController(hostingController, animated: true)
|
self.navigationController?.pushViewController(hostingController, animated: true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOS 15, *)
|
||||||
|
func exportErrorLog()
|
||||||
|
{
|
||||||
|
self.exportLogActivityIndicatorView.startAnimating()
|
||||||
|
|
||||||
|
if let indexPath = self.tableView.indexPathForSelectedRow
|
||||||
|
{
|
||||||
|
self.tableView.deselectRow(at: indexPath, animated: true)
|
||||||
|
}
|
||||||
|
|
||||||
|
Task<Void, Never>.detached(priority: .userInitiated) {
|
||||||
|
do
|
||||||
|
{
|
||||||
|
let store = try OSLogStore(scope: .currentProcessIdentifier)
|
||||||
|
|
||||||
|
// All logs since the app launched.
|
||||||
|
let position = store.position(timeIntervalSinceLatestBoot: 0)
|
||||||
|
let predicate = NSPredicate(format: "subsystem IN %@", [Logger.deltaSubsystem, Logger.harmonySubsystem])
|
||||||
|
|
||||||
|
let entries = try store.getEntries(at: position, matching: predicate)
|
||||||
|
.compactMap { $0 as? OSLogEntryLog }
|
||||||
|
.map { "[\($0.date.formatted())] [\($0.category)] [\($0.level.localizedName)] \($0.composedMessage)" }
|
||||||
|
|
||||||
|
let outputText = entries.joined(separator: "\n")
|
||||||
|
|
||||||
|
let outputDirectory = FileManager.default.uniqueTemporaryURL()
|
||||||
|
try FileManager.default.createDirectory(at: outputDirectory, withIntermediateDirectories: true)
|
||||||
|
|
||||||
|
let outputURL = outputDirectory.appendingPathComponent("delta.log")
|
||||||
|
try outputText.write(to: outputURL, atomically: true, encoding: .utf8)
|
||||||
|
|
||||||
|
await MainActor.run {
|
||||||
|
self._exportedLogURL = outputURL
|
||||||
|
|
||||||
|
let previewController = QLPreviewController()
|
||||||
|
previewController.delegate = self
|
||||||
|
previewController.dataSource = self
|
||||||
|
self.present(previewController, animated: true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
print("Failed to export Harmony logs.", error)
|
||||||
|
}
|
||||||
|
|
||||||
|
await self.exportLogActivityIndicatorView.stopAnimating()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private extension SettingsViewController
|
private extension SettingsViewController
|
||||||
@ -373,17 +409,17 @@ private extension SettingsViewController
|
|||||||
|
|
||||||
extension SettingsViewController
|
extension SettingsViewController
|
||||||
{
|
{
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, numberOfRowsInSection sectionIndex: Int) -> Int
|
override func tableView(_ tableView: UITableView, numberOfRowsInSection sectionIndex: Int) -> Int
|
||||||
{
|
{
|
||||||
let section = Section(rawValue: sectionIndex)!
|
let section = Section(rawValue: sectionIndex)!
|
||||||
switch section
|
switch section
|
||||||
{
|
{
|
||||||
case .controllers: return 1
|
case .controllers: return 4
|
||||||
case .controllerSkins: return 1 /*System.registeredSystems.count*/
|
case .controllerSkins: return System.registeredSystems.count
|
||||||
case .syncing: return 0 /*SyncManager.shared.coordinator?.account == nil ? 1 : super.tableView(tableView, numberOfRowsInSection: sectionIndex)*/
|
case .syncing: return SyncManager.shared.coordinator?.account == nil ? 1 : super.tableView(tableView, numberOfRowsInSection: sectionIndex)
|
||||||
case .controllerOpacity: return 3
|
#if !BETA
|
||||||
case .gameAudio: return 1
|
case .advanced: return 1
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
if isSectionHidden(section)
|
if isSectionHidden(section)
|
||||||
{
|
{
|
||||||
@ -391,8 +427,7 @@ extension SettingsViewController
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// return super.tableView(tableView, numberOfRowsInSection: sectionIndex)
|
return super.tableView(tableView, numberOfRowsInSection: sectionIndex)
|
||||||
return 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -407,7 +442,7 @@ extension SettingsViewController
|
|||||||
case .controllers:
|
case .controllers:
|
||||||
if indexPath.row == Settings.localControllerPlayerIndex
|
if indexPath.row == Settings.localControllerPlayerIndex
|
||||||
{
|
{
|
||||||
cell.detailTextLabel?.text = UIDevice.current.name
|
cell.detailTextLabel?.text = LocalDeviceController().name
|
||||||
}
|
}
|
||||||
else if let index = ExternalGameControllerManager.shared.connectedControllers.firstIndex(where: { $0.playerIndex == indexPath.row })
|
else if let index = ExternalGameControllerManager.shared.connectedControllers.firstIndex(where: { $0.playerIndex == indexPath.row })
|
||||||
{
|
{
|
||||||
@ -454,7 +489,17 @@ extension SettingsViewController
|
|||||||
case .controllerSkins: self.performSegue(withIdentifier: Segue.controllerSkins.rawValue, sender: cell)
|
case .controllerSkins: self.performSegue(withIdentifier: Segue.controllerSkins.rawValue, sender: cell)
|
||||||
case .cores: self.performSegue(withIdentifier: Segue.dsSettings.rawValue, sender: cell)
|
case .cores: self.performSegue(withIdentifier: Segue.dsSettings.rawValue, sender: cell)
|
||||||
case .controllerOpacity, .gameAudio, .hapticFeedback, .hapticTouch, .syncing: break
|
case .controllerOpacity, .gameAudio, .hapticFeedback, .hapticTouch, .syncing: break
|
||||||
case .advanced: self.showExperimentalFeatures()
|
case .advanced:
|
||||||
|
let row = AdvancedRow(rawValue: indexPath.row)!
|
||||||
|
switch row
|
||||||
|
{
|
||||||
|
case .exportLog:
|
||||||
|
guard #available(iOS 15, *) else { return }
|
||||||
|
self.exportErrorLog()
|
||||||
|
|
||||||
|
case .experimentalFeatures: self.showExperimentalFeatures()
|
||||||
|
}
|
||||||
|
|
||||||
case .patreon:
|
case .patreon:
|
||||||
let patreonURL = URL(string: "altstore://patreon")!
|
let patreonURL = URL(string: "altstore://patreon")!
|
||||||
|
|
||||||
@ -493,6 +538,17 @@ extension SettingsViewController
|
|||||||
primary:
|
primary:
|
||||||
switch Section(rawValue: indexPath.section)!
|
switch Section(rawValue: indexPath.section)!
|
||||||
{
|
{
|
||||||
|
case .advanced:
|
||||||
|
let row = AdvancedRow(rawValue: indexPath.row)!
|
||||||
|
switch row
|
||||||
|
{
|
||||||
|
case .exportLog:
|
||||||
|
guard #unavailable(iOS 15) else { break }
|
||||||
|
return 0.0
|
||||||
|
|
||||||
|
default: break
|
||||||
|
}
|
||||||
|
|
||||||
case .credits:
|
case .credits:
|
||||||
let row = CreditsRow(rawValue: indexPath.row)!
|
let row = CreditsRow(rawValue: indexPath.row)!
|
||||||
switch row
|
switch row
|
||||||
@ -533,17 +589,45 @@ extension SettingsViewController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView?
|
||||||
|
{
|
||||||
|
let section = Section(rawValue: section)!
|
||||||
|
guard !isSectionHidden(section) else { return nil }
|
||||||
|
|
||||||
|
switch section
|
||||||
|
{
|
||||||
|
case .controllerSkins:
|
||||||
|
guard #available(iOS 15, *), let footerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: AttributedHeaderFooterView.reuseIdentifier) as? AttributedHeaderFooterView else { break }
|
||||||
|
|
||||||
|
var attributedText = AttributedString(localized: "Customize the appearance of each system.")
|
||||||
|
attributedText += " "
|
||||||
|
|
||||||
|
var learnMore = AttributedString(localized: "Learn more…")
|
||||||
|
learnMore.link = URL(string: "https://faq.deltaemulator.com/using-delta/controller-skins")
|
||||||
|
attributedText += learnMore
|
||||||
|
|
||||||
|
footerView.attributedText = attributedText
|
||||||
|
|
||||||
|
return footerView
|
||||||
|
|
||||||
|
default: break
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.tableView(tableView, viewForFooterInSection: section.rawValue)
|
||||||
|
}
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String?
|
override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String?
|
||||||
{
|
{
|
||||||
let section = Section(rawValue: section)!
|
let section = Section(rawValue: section)!
|
||||||
|
guard !isSectionHidden(section) else { return nil }
|
||||||
|
|
||||||
if isSectionHidden(section)
|
switch section
|
||||||
{
|
{
|
||||||
return nil
|
#if !BETA
|
||||||
}
|
case .advanced: return nil
|
||||||
else
|
#endif
|
||||||
{
|
case .controllerSkins: return nil
|
||||||
return super.tableView(tableView, titleForFooterInSection: section.rawValue)
|
default: return super.tableView(tableView, titleForFooterInSection: section.rawValue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -564,16 +648,47 @@ extension SettingsViewController
|
|||||||
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat
|
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat
|
||||||
{
|
{
|
||||||
let section = Section(rawValue: section)!
|
let section = Section(rawValue: section)!
|
||||||
|
guard !isSectionHidden(section) else { return 1 }
|
||||||
|
|
||||||
if isSectionHidden(section)
|
switch section
|
||||||
{
|
{
|
||||||
return 1
|
case .controllerSkins: return UITableView.automaticDimension
|
||||||
}
|
default: return super.tableView(tableView, heightForFooterInSection: section.rawValue)
|
||||||
else
|
}
|
||||||
{
|
}
|
||||||
return super.tableView(tableView, heightForFooterInSection: section.rawValue)
|
|
||||||
|
override func tableView(_ tableView: UITableView, estimatedHeightForFooterInSection section: Int) -> CGFloat
|
||||||
|
{
|
||||||
|
let section = Section(rawValue: section)!
|
||||||
|
guard !isSectionHidden(section) else { return 1 }
|
||||||
|
|
||||||
|
switch section
|
||||||
|
{
|
||||||
|
case .controllerSkins: return 30
|
||||||
|
default: return UITableView.automaticDimension
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension SettingsViewController: QLPreviewControllerDataSource, QLPreviewControllerDelegate
|
||||||
|
{
|
||||||
|
func numberOfPreviewItems(in controller: QLPreviewController) -> Int
|
||||||
|
{
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem
|
||||||
|
{
|
||||||
|
return (_exportedLogURL as? NSURL) ?? NSURL()
|
||||||
|
}
|
||||||
|
|
||||||
|
func previewControllerDidDismiss(_ controller: QLPreviewController)
|
||||||
|
{
|
||||||
|
guard let exportedLogURL = _exportedLogURL else { return }
|
||||||
|
|
||||||
|
let parentDirectory = exportedLogURL.deletingLastPathComponent()
|
||||||
|
try? FileManager.default.removeItem(at: parentDirectory)
|
||||||
|
|
||||||
|
_exportedLogURL = nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -90,8 +90,17 @@ private extension SyncingServicesViewController
|
|||||||
let previousService = self.selectedSyncingService
|
let previousService = self.selectedSyncingService
|
||||||
self.selectedSyncingService = service
|
self.selectedSyncingService = service
|
||||||
|
|
||||||
// Set to non-nil if we later authenticate.
|
// Same check as below when showing Sign In or Sign Out.
|
||||||
Settings.syncingService = nil
|
if let coordinator = SyncManager.shared.coordinator, coordinator.account != nil
|
||||||
|
{
|
||||||
|
// Authenticated, so assign syncingService.
|
||||||
|
Settings.syncingService = service
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set to non-nil if we later authenticate.
|
||||||
|
Settings.syncingService = nil
|
||||||
|
}
|
||||||
|
|
||||||
if (previousService == nil && service != nil) || (previousService != nil && service == nil)
|
if (previousService == nil && service != nil) || (previousService != nil && service == nil)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -192,9 +192,27 @@
|
|||||||
<string>_altserver._tcp</string>
|
<string>_altserver._tcp</string>
|
||||||
</array>
|
</array>
|
||||||
<key>NSLocalNetworkUsageDescription</key>
|
<key>NSLocalNetworkUsageDescription</key>
|
||||||
<string>Retro Game Emulator uses the local network to communicate with AltServer and enable JIT.</string>
|
<string>Delta uses the local network to communicate with AltServer and enable JIT.</string>
|
||||||
|
<key>NSMicrophoneUsageDescription</key>
|
||||||
|
<string>Delta uses your microphone to emulate the Nintendo DS microphone.</string>
|
||||||
<key>NSPhotoLibraryUsageDescription</key>
|
<key>NSPhotoLibraryUsageDescription</key>
|
||||||
<string>Press "OK" to allow Retro Game Emulator to use images from your Photo Library as game artwork.</string>
|
<string>Press "OK" to allow Delta to use images from your Photo Library as game artwork.</string>
|
||||||
|
<key>OSLogPreferences</key>
|
||||||
|
<dict>
|
||||||
|
<key>com.rileytestut.Harmony</key>
|
||||||
|
<dict>
|
||||||
|
<key>Sync</key>
|
||||||
|
<dict>
|
||||||
|
<key>Level</key>
|
||||||
|
<dict>
|
||||||
|
<key>Enable</key>
|
||||||
|
<string>Info</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<string>Info</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
<key>UIApplicationSceneManifest</key>
|
<key>UIApplicationSceneManifest</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>UIApplicationSupportsMultipleScenes</key>
|
<key>UIApplicationSupportsMultipleScenes</key>
|
||||||
|
|||||||
@ -140,7 +140,7 @@ extension SyncManager
|
|||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
print("Failed to remove Harmony database.", error)
|
Logger.sync.error("Failed to remove Harmony database. \(error.localizedDescription, privacy: .public)")
|
||||||
}
|
}
|
||||||
|
|
||||||
self.start(service: service, completionHandler: completionHandler)
|
self.start(service: service, completionHandler: completionHandler)
|
||||||
@ -166,11 +166,12 @@ extension SyncManager
|
|||||||
{
|
{
|
||||||
case .other(ServiceError.connectionFailed):
|
case .other(ServiceError.connectionFailed):
|
||||||
// Authentication failed due to network connection, but otherwise started successfully so we ignore this error.
|
// Authentication failed due to network connection, but otherwise started successfully so we ignore this error.
|
||||||
|
Logger.sync.error("Failed to authenticate SyncManager due to network connection (ignoring). \(authError.localizedDescription, privacy: .public)")
|
||||||
completionHandler(.success)
|
completionHandler(.success)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
// Another authentication error occured, so we'll deauthenticate ourselves.
|
// Another authentication error occured, so we'll deauthenticate ourselves.
|
||||||
print("SyncManager.start auth error:", authError)
|
Logger.sync.error("Failed to authenticate SyncManager. \(authError.localizedDescription, privacy: .public)")
|
||||||
|
|
||||||
self.deauthenticate() { (result) in
|
self.deauthenticate() { (result) in
|
||||||
switch result
|
switch result
|
||||||
@ -187,7 +188,7 @@ extension SyncManager
|
|||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
print("SyncManager.start error:", error)
|
Logger.sync.error("Failed to start SyncManager. \(error.localizedDescription, privacy: .public)")
|
||||||
completionHandler(.failure(error))
|
completionHandler(.failure(error))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,7 +44,7 @@ extension System
|
|||||||
var localizedName: String {
|
var localizedName: String {
|
||||||
switch self
|
switch self
|
||||||
{
|
{
|
||||||
case .nes: return NSLocalizedString("", comment: "")
|
case .nes: return NSLocalizedString("Nintendo", comment: "")
|
||||||
case .snes: return NSLocalizedString("Super Nintendo", comment: "")
|
case .snes: return NSLocalizedString("Super Nintendo", comment: "")
|
||||||
case .n64: return NSLocalizedString("Nintendo 64", comment: "")
|
case .n64: return NSLocalizedString("Nintendo 64", comment: "")
|
||||||
case .gbc: return NSLocalizedString("Game Boy Color", comment: "")
|
case .gbc: return NSLocalizedString("Game Boy Color", comment: "")
|
||||||
|
|||||||
256
Docs/ExperimentalFeatures.md
Normal file
256
Docs/ExperimentalFeatures.md
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
# Overview
|
||||||
|
|
||||||
|
Features contributed to Delta by third-party developers are considered "experimental", and are available for testing in the beta version of Delta. Once a feature has been sufficiently tested, we may choose to "graduate" it into an official Delta feature, at which point it will become available to all users.
|
||||||
|
|
||||||
|
Every Experimental Feature can be thought of as a binary flag: it's either enabled or disabled. When disabled, a feature should have no impact on the rest of the app. This allows us to accept contributions freely without affecting the overall stability of Delta.
|
||||||
|
|
||||||
|
If a feature requires more state than binary On/Off, you can define as many "options" as needed. Options store additional data required by your feature's implementation. Options can be "hidden" (the default), but can also be automatically exposed in Delta's settings where they can be changed directly by users.
|
||||||
|
|
||||||
|
# Guidelines For Experimental Features
|
||||||
|
|
||||||
|
Keep the following in mind when contributing new Experimental Features:
|
||||||
|
|
||||||
|
* When a feature is disabled, it should have *no* noticeable impact on the rest of the app.
|
||||||
|
* Avoid touching the core emulation logic.
|
||||||
|
* Isolate your changes as much as possible from the rest of the app, preferably in separate files. We recommend using Swift extensions to add functionality to existing types (e.g. `GameViewController+ExperimentalFastForward.swift`)
|
||||||
|
* If your change requires modifying `DeltaCore` or specific cores, make sure the naming and "shape" of any public API follows existing conventions as much as possible. In general, Experimental Features that require modifying cores have a higher bar for acceptance.
|
||||||
|
|
||||||
|
# Adding a New Experimental Feature
|
||||||
|
|
||||||
|
1. Open `Delta/Experimental Features/ExperimentalFeatures.swift`
|
||||||
|
2. Add a new property to the `ExperimentalFeatures` struct, annotated with the `@Feature` property wrapper. You do not need to define the property's type as it will be inferred by @Feature.
|
||||||
|
|
||||||
|
> The property name (e.g. `variableFastForward`) will be used internally as the `UserDefaults` key for persisting data.
|
||||||
|
|
||||||
|
3. Pass in the name of your feature to `@Feature`'s initializer, and optionally a description.
|
||||||
|
|
||||||
|
Once you've defined your feature, you can check whether or not it's enabled at runtime via `ExperimentalFeatures.shared.[feature].isEnabled`.
|
||||||
|
|
||||||
|
Here's a complete implementation for a new Experimental Feature called "Show Status Bar":
|
||||||
|
|
||||||
|
```swift
|
||||||
|
// ExperimentalFeatures.swift
|
||||||
|
struct ExperimentalFeatures
|
||||||
|
{
|
||||||
|
@Feature(name: "Show Status Bar", description: "Show the Status Bar during gameplay.")
|
||||||
|
var showStatusBar
|
||||||
|
}
|
||||||
|
|
||||||
|
// GameViewController+ShowStatusBar.swift
|
||||||
|
extension GameViewController
|
||||||
|
{
|
||||||
|
override var prefersStatusBarHidden: Bool {
|
||||||
|
return !ExperimentalFeatures.shared.showStatusBar.isEnabled
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
# Adding Options to a Feature
|
||||||
|
Some features require additional configuration beyond being enabled or disabled. These are referred to as "options", and you can define as many options for a feature as necessary. Whenever an option's value changes, it is automatically persisted to `UserDefaults`.
|
||||||
|
|
||||||
|
The option’s underlying type must conform to `OptionValue`. Automatic conformance is provided for all standard property list types, but if you want to use your own type, it must either:
|
||||||
|
* Conform to `RawRepresentable`, where its raw type is a valid property list type (e.g. enums with string backing), or
|
||||||
|
* Conform to `Codable`
|
||||||
|
|
||||||
|
To declare a feature with options:
|
||||||
|
|
||||||
|
1. Create a new Swift file in `Delta/Experimental Features/Features` and name it after your feature (e.g. `VariableFastForward.swift`)
|
||||||
|
2. Define a new struct named `[FeatureName]Options` (e.g. `VariableFastForwardOptions`)
|
||||||
|
3. For each configurable value, define a new property on your Options struct with `@Options` property wrapper.
|
||||||
|
> The property name (e.g. `speed`) will be combined with the feature's property name and used internally as the `UserDefaults` key for persisting data.
|
||||||
|
4. **If the option represents a non-optional value, you must provide an initial value**. This will be used as the default value if the option has not been configured by user.
|
||||||
|
5. Follow the above instructions for declaring a feature, but pass in an instance of your `Options` struct to the `options:` parameter in the `@Feature` initializer.
|
||||||
|
|
||||||
|
Heres's an example feature "Game Gestures" that shows an instruction alert the first time it is enabled. It uses an `@Option` to store whether the alert has already been shown or not.
|
||||||
|
|
||||||
|
```swift
|
||||||
|
// GameGestures.swift
|
||||||
|
struct GameGesturesOptions
|
||||||
|
{
|
||||||
|
@Option // No parameters = "Hidden" option
|
||||||
|
var didShowGestureAlert: Bool = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExperimentalFeatures.swift
|
||||||
|
struct ExperimentalFeatures
|
||||||
|
{
|
||||||
|
@Feature(name: "Game Gestures", options: GameGesturesOptions())
|
||||||
|
var gameGestures
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
# User-Facing Options
|
||||||
|
By default, Options are hidden, which means their values can only be changed programmatically.
|
||||||
|
|
||||||
|
However, options can also be user-facing, which we generally recommend. User-facing options will automatically appear in the `Experimental Features` section of Delta's settings, where they can be configured manually by users. To define a user-facing option, pass in a value for `name` in the `@Option` initializer, and optionally a `description`.
|
||||||
|
|
||||||
|
Because user-facing options are meant to be seen by users, the underlying type must conform to `LocalizedOptionValue`. This protocol refines `OptionValue` with two new methods:
|
||||||
|
* `localizedDescription`, used to display the value in a human-readable manner.
|
||||||
|
* `localizedNilDescription`, used to represent the `nil` value in a human-readable manner. The default implementation returns "None".
|
||||||
|
|
||||||
|
Heres's an example feature "Game Screenshots" that defines options so users can choose whether to save screenshots to the Photo Library, the Files app, or both. Unlike the above "Game Gestures" example, "Save to Files" and "Save to Photos" will be exposed in the `Experimental Features` section of Delta's settings, where they will appear as switches that the user can toggle.
|
||||||
|
|
||||||
|
```swift
|
||||||
|
// GameScreenshots.swift
|
||||||
|
struct GameScreenshotsOptions
|
||||||
|
{
|
||||||
|
@Option(name: "Save to Files", description: "Save the screenshot to the app's directory in Files.")
|
||||||
|
var saveToFiles: Bool = true
|
||||||
|
|
||||||
|
@Option(name: "Save to Photos", description: "Save the screenshot to the Photo Library.")
|
||||||
|
var saveToPhotos: Bool = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExperimentalFeatures.swift
|
||||||
|
struct ExperimentalFeatures
|
||||||
|
{
|
||||||
|
@Feature(name: "Game Screenshots", options: GameScreenshotsOptions())
|
||||||
|
var gameScreenshots
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Types of User-Facing Options
|
||||||
|
|
||||||
|
Delta supports 3 types of user-facing options:
|
||||||
|
* Bool options
|
||||||
|
* "Picker" options (e.g. array of values)
|
||||||
|
* Custom options (any other type)
|
||||||
|
|
||||||
|
Here's an example feature "VariableFastForward" that uses all 3 types of user-facing options:
|
||||||
|
|
||||||
|
```swift
|
||||||
|
// VariableFastForward.swift
|
||||||
|
enum FastForwardSpeed: Double, CaseIterable, CustomStringConvertible
|
||||||
|
{
|
||||||
|
case x2 = 2
|
||||||
|
case x3 = 3
|
||||||
|
case x4 = 4
|
||||||
|
case x8 = 8
|
||||||
|
|
||||||
|
var description: String {
|
||||||
|
return "\(self.rawValue)x"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension FastForwardSpeed: LocalizedOptionValue
|
||||||
|
{
|
||||||
|
var localizedDescription: Text {
|
||||||
|
Text(self.description)
|
||||||
|
}
|
||||||
|
|
||||||
|
static var localizedNilDescription: Text {
|
||||||
|
Text("Maximum")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
struct VariableFastForwardOptions
|
||||||
|
{
|
||||||
|
// Bool option (will appear as inline UISwitch)
|
||||||
|
@Option(name: "Allow Unrestricted Speeds", description: "Allow speeds that exceed the maximum speed of a system.")
|
||||||
|
var allowUnrestrictedSpeeds: Bool = false
|
||||||
|
|
||||||
|
// "Custom" option (will appear as full-screen view with text field)
|
||||||
|
@Option(name: "Maximum Speed", description: "Change the maximum fast forward speed across all systems.", detailView: {
|
||||||
|
TextField("", value: $0, formatter: NumberFormatter())
|
||||||
|
.keyboardType(.numberPad)
|
||||||
|
})
|
||||||
|
var maxSpeed: Int?
|
||||||
|
|
||||||
|
// "Picker" options (will appear as standard UIMenu picker)
|
||||||
|
@Option(name: "Nintendo Entertainment System", values: FastForwardSpeed.allCases)
|
||||||
|
var nes: FastForwardSpeed?
|
||||||
|
|
||||||
|
@Option(name: "Super Nintendo", values: FastForwardSpeed.allCases)
|
||||||
|
var snes: FastForwardSpeed?
|
||||||
|
|
||||||
|
@Option(name: "Nintendo 64", values: FastForwardSpeed.allCases)
|
||||||
|
var n64: FastForwardSpeed?
|
||||||
|
|
||||||
|
// Etc.
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Each type of user-facing option has slightly different requirements, which are detailed below:
|
||||||
|
|
||||||
|
### Bool Option
|
||||||
|
If the property annotated with @Option is a `Bool`, there is nothing more you need to do. Delta will automatically show a toggle on the feature's detail page that can be used by user to update this value.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
```swift
|
||||||
|
@Option(name: "showStatusBar")
|
||||||
|
var showStatusBar: Bool = false
|
||||||
|
```
|
||||||
|
|
||||||
|
### "Picker" Option
|
||||||
|
If there is a known, finite number of supported values for your option, you can pass a `Collection` of them to the `values:` parameter in the `@Option` initializer. Delta will automatically show an inline picker on the feature's detail page that will allow users to select from the preset values.
|
||||||
|
|
||||||
|
>
|
||||||
|
> If the option is an optional type, the picker will automatically include a `nil` option in the picker. You can customize the name used to represent the `nil` option by overriding `LocalizedOptionValue.localizedNilDescription`.
|
||||||
|
>
|
||||||
|
|
||||||
|
Example:
|
||||||
|
```swift
|
||||||
|
enum Planet: String { mercury, venus, earth, ... }
|
||||||
|
|
||||||
|
extension Planet: LocalizedOptionValue
|
||||||
|
{
|
||||||
|
static var localizedNilDescription: Text {
|
||||||
|
Text("No Favorite Planet")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Option(name: "Current Planet", values: Planet.allCases)
|
||||||
|
var currentPlanet: Planet = .earth
|
||||||
|
|
||||||
|
@Option(name: "Favorite Planet", values: Planet.allCases)
|
||||||
|
var favoritePlanet: Planet? // Optional, so Delta will include `nil` option in picker, displayed as "No Favorite Planet".
|
||||||
|
```
|
||||||
|
|
||||||
|
### "Custom" Option
|
||||||
|
Every user-facing `@Option` requires some UI in order to be configured by users in Delta's settings. If your option is not one of the ones listed above, you'll need to provide your own `SwiftUI` view. This can be as simple as just an inline `TextField` (e.g. for `String` options), or a completely custom full screen SwiftUI view with access to the entire SwiftUI API (e.g. a full color picker for `Color` options).
|
||||||
|
|
||||||
|
To provide your own SwiftUI view, pass in a closure that returns your custom `View` to the `detailView:` parameter in `@Option`'s initializer. The closure passes in a `Binding` to the option's underlying value, which can then be passed into any SwiftUI control that takes a `Binding` (e.g. `Picker`, `Toggle`, `TextField`, etc.) to automatically update the option's value. However this is just a convenience, and you are welcome to update your `@Option` value from your custom view however works best.
|
||||||
|
|
||||||
|
By default, custom options will present their SwiftUI views full-screen when tapped. However, if you want your custom view to appear inline (like Bool and "picker" options), you can apply the `displayInline()` modifier to your view.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
```swift
|
||||||
|
// Inline text field
|
||||||
|
@Option(name: "Custom Nickname", detailView: {
|
||||||
|
TextField("", text: $0)
|
||||||
|
.displayInline()
|
||||||
|
})
|
||||||
|
var nickname: String
|
||||||
|
```
|
||||||
|
|
||||||
|
## Using Features
|
||||||
|
|
||||||
|
All Experimental Features can be selectively enabled or disabled by the user in the "Experimental Features" section of Delta's settings. To check whether a feature is enabled at runtime, call `ExperimentalFeatures.shared.[feature].isEnabled`. **Your feature implementation must respect this flag and have no noticeable effect on the rest of the app when disabled.**
|
||||||
|
|
||||||
|
You can access individual feature options via `ExperimentalFeatures.shared.[feature].[option]`. To access `@Option`-specific properties, such as its `settingsKey`, use the `@Option`'s projected value by prepending the property with a `$` (e.g. `ExperimentalFeatures.shared.[feature].$[option].settingsName`).
|
||||||
|
|
||||||
|
Delta will automatically post a `Settings.didChangeNotification` notification whenever a feature is enabled, disabled, or one of its options changes. The `userInfo` dictionary will contain either `Feature.settingsName` or `Option.settingsName` under the `SettingsUserInfoKey.name` key, as well as the new value under the `SettingsUserInfoKey.value` key.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```swift
|
||||||
|
// Handler for Settings.didChangeNotification
|
||||||
|
func settingsDidChange(_ notification: Notification)
|
||||||
|
{
|
||||||
|
guard let name = notification.userInfo?[SettingsUserInfoKey.name] as? Settings.Name else { return }
|
||||||
|
|
||||||
|
switch name
|
||||||
|
{
|
||||||
|
case ExperimentalFeatures.shared.showStatusBar.settingsKey:
|
||||||
|
// Update status bar
|
||||||
|
self.setNeedsStatusBarAppearanceUpdate()
|
||||||
|
|
||||||
|
case ExperimentalFeatures.shared.customTintColor.settingsKey: fallthrough
|
||||||
|
case ExperimentalFeatures.shared.customTintColor.$color.settingsKey:
|
||||||
|
// Update tint color if feature itself is enabled/disabled OR tint color changes.
|
||||||
|
self.updateTintColor()
|
||||||
|
|
||||||
|
default: break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
34
Docs/pull_request_template.md
Normal file
34
Docs/pull_request_template.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
Mark the type contribution you are making:
|
||||||
|
|
||||||
|
- [ ] Experimental feature (new functionality that can be selectively enabled/disabled)
|
||||||
|
- [ ] Bug fix (non-breaking change which fixes an issue)
|
||||||
|
|
||||||
|
# Description
|
||||||
|
|
||||||
|
Summary of your changes, including:
|
||||||
|
|
||||||
|
* Why is this change necessary?
|
||||||
|
* Why did you decide on this solution?
|
||||||
|
|
||||||
|
# Testing
|
||||||
|
|
||||||
|
List all iOS versions and devices you've tested this change on.
|
||||||
|
|
||||||
|
**Example Configurations**:
|
||||||
|
|
||||||
|
- iPhone 14, iOS 16.3.1
|
||||||
|
- iPhone X, iOS 15.7.4
|
||||||
|
|
||||||
|
# Checklist
|
||||||
|
**General (All PRs)**
|
||||||
|
- [ ] My code follows the style guidelines of this project
|
||||||
|
- [ ] I have performed a self-review of my code
|
||||||
|
- [ ] I have commented my code, particularly in hard-to-understand areas
|
||||||
|
- [ ] My changes generate no new warnings
|
||||||
|
- [ ] I've tested my changes with different device + OS version configurations
|
||||||
|
|
||||||
|
**Experimental Feature-specific**
|
||||||
|
- [ ] Added property to `ExperimentalFeatures` struct annotated with `@Feature`
|
||||||
|
- [ ] Uses `@Option`'s to persist all feature-related data
|
||||||
|
- [ ] Locked *all* behavior changes behind `ExperimentalFeatures.shared.[feature].isEnabled` runtime check
|
||||||
|
- [ ] Isolates changes to separate files as much as possible (e.g. via Swift extensions)
|
||||||
2
External/Harmony
vendored
2
External/Harmony
vendored
@ -1 +1 @@
|
|||||||
Subproject commit d348fc7440198fd91183d2236e3816dee8cc24ee
|
Subproject commit e1901297408ad220aa3c05e4c4fd9660c3420679
|
||||||
@ -130,7 +130,7 @@ SPEC CHECKSUMS:
|
|||||||
GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213
|
GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213
|
||||||
GTMAppAuth: 0ff230db599948a9ad7470ca667337803b3fc4dd
|
GTMAppAuth: 0ff230db599948a9ad7470ca667337803b3fc4dd
|
||||||
GTMSessionFetcher: 5595ec75acf5be50814f81e9189490412bad82ba
|
GTMSessionFetcher: 5595ec75acf5be50814f81e9189490412bad82ba
|
||||||
Harmony: 5fdc51d0a4f2ce7dcd4439becbbdda1fac4c9e3f
|
Harmony: 1d8166b6168eec8cce046c4366765d15f7e3b9fc
|
||||||
MelonDSDeltaCore: 46193f4fd88e4e18e4a5c841b1ae02dc46d1daa6
|
MelonDSDeltaCore: 46193f4fd88e4e18e4a5c841b1ae02dc46d1daa6
|
||||||
N64DeltaCore: 4eeb468746722952bcd5467ecb9ebe7df070f53a
|
N64DeltaCore: 4eeb468746722952bcd5467ecb9ebe7df070f53a
|
||||||
NESDeltaCore: ffae3bba878fc505bac0914150a695ede7bc9550
|
NESDeltaCore: ffae3bba878fc505bac0914150a695ede7bc9550
|
||||||
@ -142,6 +142,6 @@ SPEC CHECKSUMS:
|
|||||||
SwiftyDropbox: 378b4425a2e8d0cb24c7b0f2e3af72bfbaaf1e73
|
SwiftyDropbox: 378b4425a2e8d0cb24c7b0f2e3af72bfbaaf1e73
|
||||||
ZIPFoundation: b1f0de4eed33e74a676f76e12559ab6b75990197
|
ZIPFoundation: b1f0de4eed33e74a676f76e12559ab6b75990197
|
||||||
|
|
||||||
PODFILE CHECKSUM: a31757011149a440658366b5a3a7c5e75a723297
|
PODFILE CHECKSUM: b33e8da65952bdb2b77ee1fca9bd0104d3da1713
|
||||||
|
|
||||||
COCOAPODS: 1.15.2
|
COCOAPODS: 1.12.1
|
||||||
|
|||||||
2
Pods/Local Podspecs/Harmony.podspec.json
generated
2
Pods/Local Podspecs/Harmony.podspec.json
generated
@ -5,7 +5,7 @@
|
|||||||
"description": "iOS framework that automatically syncs Core Data databases across different backends.",
|
"description": "iOS framework that automatically syncs Core Data databases across different backends.",
|
||||||
"homepage": "https://github.com/rileytestut/Harmony",
|
"homepage": "https://github.com/rileytestut/Harmony",
|
||||||
"platforms": {
|
"platforms": {
|
||||||
"ios": "12.0"
|
"ios": "14.0"
|
||||||
},
|
},
|
||||||
"source": {
|
"source": {
|
||||||
"git": "https://github.com/rileytestut/Harmony.git"
|
"git": "https://github.com/rileytestut/Harmony.git"
|
||||||
|
|||||||
6
Pods/Manifest.lock
generated
6
Pods/Manifest.lock
generated
@ -130,7 +130,7 @@ SPEC CHECKSUMS:
|
|||||||
GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213
|
GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213
|
||||||
GTMAppAuth: 0ff230db599948a9ad7470ca667337803b3fc4dd
|
GTMAppAuth: 0ff230db599948a9ad7470ca667337803b3fc4dd
|
||||||
GTMSessionFetcher: 5595ec75acf5be50814f81e9189490412bad82ba
|
GTMSessionFetcher: 5595ec75acf5be50814f81e9189490412bad82ba
|
||||||
Harmony: 5fdc51d0a4f2ce7dcd4439becbbdda1fac4c9e3f
|
Harmony: 1d8166b6168eec8cce046c4366765d15f7e3b9fc
|
||||||
MelonDSDeltaCore: 46193f4fd88e4e18e4a5c841b1ae02dc46d1daa6
|
MelonDSDeltaCore: 46193f4fd88e4e18e4a5c841b1ae02dc46d1daa6
|
||||||
N64DeltaCore: 4eeb468746722952bcd5467ecb9ebe7df070f53a
|
N64DeltaCore: 4eeb468746722952bcd5467ecb9ebe7df070f53a
|
||||||
NESDeltaCore: ffae3bba878fc505bac0914150a695ede7bc9550
|
NESDeltaCore: ffae3bba878fc505bac0914150a695ede7bc9550
|
||||||
@ -142,6 +142,6 @@ SPEC CHECKSUMS:
|
|||||||
SwiftyDropbox: 378b4425a2e8d0cb24c7b0f2e3af72bfbaaf1e73
|
SwiftyDropbox: 378b4425a2e8d0cb24c7b0f2e3af72bfbaaf1e73
|
||||||
ZIPFoundation: b1f0de4eed33e74a676f76e12559ab6b75990197
|
ZIPFoundation: b1f0de4eed33e74a676f76e12559ab6b75990197
|
||||||
|
|
||||||
PODFILE CHECKSUM: a31757011149a440658366b5a3a7c5e75a723297
|
PODFILE CHECKSUM: b33e8da65952bdb2b77ee1fca9bd0104d3da1713
|
||||||
|
|
||||||
COCOAPODS: 1.15.2
|
COCOAPODS: 1.12.1
|
||||||
|
|||||||
493
Pods/Pods.xcodeproj/project.pbxproj
generated
493
Pods/Pods.xcodeproj/project.pbxproj
generated
File diff suppressed because it is too large
Load Diff
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "EAAA1AD3A8A1B59AB91319EE40752C6D"
|
|
||||||
BuildableName = "libAlamofire.a"
|
|
||||||
BlueprintName = "Alamofire"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "5C642AA10FB29936669CC269F42079C6"
|
|
||||||
BuildableName = "libAppAuth.a"
|
|
||||||
BlueprintName = "AppAuth"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "E5449403CBE67599315B4D26019FA175"
|
|
||||||
BuildableName = "DSDeltaCore.bundle"
|
|
||||||
BlueprintName = "DSDeltaCore-DSDeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "DCBC8D45C727B1472F26E79661AF11B0"
|
|
||||||
BuildableName = "libDSDeltaCore.a"
|
|
||||||
BlueprintName = "DSDeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "1B47E46598F87113B00B3B25BBF51B32"
|
|
||||||
BuildableName = "DeltaCore.bundle"
|
|
||||||
BlueprintName = "DeltaCore-DeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "530F469AED058B94728C278CCA514500"
|
|
||||||
BuildableName = "libDeltaCore.a"
|
|
||||||
BlueprintName = "DeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "890229DC8DCC9C43917568A0C4502FCA"
|
|
||||||
BuildableName = "GBADeltaCore.bundle"
|
|
||||||
BlueprintName = "GBADeltaCore-GBADeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "7056A67459B0B8B62FACACCE167546B8"
|
|
||||||
BuildableName = "libGBADeltaCore.a"
|
|
||||||
BlueprintName = "GBADeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "5C36E65AEF44273E4AF0CBFADD00C090"
|
|
||||||
BuildableName = "GBCDeltaCore.bundle"
|
|
||||||
BlueprintName = "GBCDeltaCore-GBCDeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "DB59C68809324297BEDAF0CC3F931B27"
|
|
||||||
BuildableName = "libGBCDeltaCore.a"
|
|
||||||
BlueprintName = "GBCDeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "8627999EF1D5E93E13DAFF580DA8CDCF"
|
|
||||||
BuildableName = "libGTMAppAuth.a"
|
|
||||||
BlueprintName = "GTMAppAuth"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "D676E21115185671D7258A56944ABE98"
|
|
||||||
BuildableName = "libGTMSessionFetcher.a"
|
|
||||||
BlueprintName = "GTMSessionFetcher"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "D7958E869B6C0073DB3025514393D7A3"
|
|
||||||
BuildableName = "libGoogleAPIClientForREST.a"
|
|
||||||
BlueprintName = "GoogleAPIClientForREST"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "CAD3534FC55B0333104E5117C0A9A324"
|
|
||||||
BuildableName = "GoogleSignIn"
|
|
||||||
BlueprintName = "GoogleSignIn"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "5CB4163F0A6D4BDE0A490758A78BA43D"
|
|
||||||
BuildableName = "libHarmony.a"
|
|
||||||
BlueprintName = "Harmony"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "5B32FEE5AD13CB944235C9158BECB929"
|
|
||||||
BuildableName = "melonDS.bundle"
|
|
||||||
BlueprintName = "MelonDSDeltaCore-melonDS"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "38A7AA32705A9662332E76FA75B50858"
|
|
||||||
BuildableName = "libMelonDSDeltaCore.a"
|
|
||||||
BlueprintName = "MelonDSDeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "280620EDC57ABB510508698A7233E414"
|
|
||||||
BuildableName = "Mupen64Plus.bundle"
|
|
||||||
BlueprintName = "N64DeltaCore-Mupen64Plus"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "126073BF5D2BF3A4BDD22FE9062C9D20"
|
|
||||||
BuildableName = "libN64DeltaCore.a"
|
|
||||||
BlueprintName = "N64DeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "7F839870ECBE0065B4BCC02E5F98F48A"
|
|
||||||
BuildableName = "NESDeltaCore.bundle"
|
|
||||||
BlueprintName = "NESDeltaCore-NESDeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "0FAC8C4777DBD31221FE57848CB5F759"
|
|
||||||
BuildableName = "libNESDeltaCore.a"
|
|
||||||
BlueprintName = "NESDeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "33C94426DAF58519DC6806AF4C44C9E7"
|
|
||||||
BuildableName = "libPods-Delta.a"
|
|
||||||
BlueprintName = "Pods-Delta"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "672646F0FFBE4A064673BBA527FFB5DD"
|
|
||||||
BuildableName = "libPods-DeltaPreviews.a"
|
|
||||||
BlueprintName = "Pods-DeltaPreviews"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "B5D1BA64AC676FF46408FCDE19A05767"
|
|
||||||
BuildableName = "libRoxas.a"
|
|
||||||
BlueprintName = "Roxas"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "3847153A6E5EEFB86565BA840768F429"
|
|
||||||
BuildableName = "libSDWebImage.a"
|
|
||||||
BlueprintName = "SDWebImage"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "D20492B6476142DCA0C455340876BB98"
|
|
||||||
BuildableName = "libSMCalloutView.a"
|
|
||||||
BlueprintName = "SMCalloutView"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "6538136F848A07F507372CCFB40CEB88"
|
|
||||||
BuildableName = "SNESDeltaCore.bundle"
|
|
||||||
BlueprintName = "SNESDeltaCore-SNESDeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "141E2D29C29A1BC1ABA3483321DF3C88"
|
|
||||||
BuildableName = "libSNESDeltaCore.a"
|
|
||||||
BlueprintName = "SNESDeltaCore"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "3F2C1776D90B62B156DB52C41A5C419C"
|
|
||||||
BuildableName = "libSQLite.swift.a"
|
|
||||||
BlueprintName = "SQLite.swift"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "FF39B7A1D9F00620D9F56635ABBB2C03"
|
|
||||||
BuildableName = "libSwiftyDropbox.a"
|
|
||||||
BlueprintName = "SwiftyDropbox"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1500"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "AA15C8469D67684160CC2A7098EB841C"
|
|
||||||
BuildableName = "libZIPFoundation.a"
|
|
||||||
BlueprintName = "ZIPFoundation"
|
|
||||||
ReferencedContainer = "container:Pods.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@ -1,166 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>SchemeUserState</key>
|
|
||||||
<dict>
|
|
||||||
<key>Alamofire.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>AppAuth.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>DSDeltaCore-DSDeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>DSDeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>DeltaCore-DeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>DeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>GBADeltaCore-GBADeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>GBADeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>GBCDeltaCore-GBCDeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>GBCDeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>GTMAppAuth.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>GTMSessionFetcher.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>GoogleAPIClientForREST.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>GoogleSignIn.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>Harmony.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>MelonDSDeltaCore-melonDS.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>MelonDSDeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>N64DeltaCore-Mupen64Plus.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>N64DeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>NESDeltaCore-NESDeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>NESDeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>Pods-Delta.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>Pods-DeltaPreviews.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>Roxas.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>SDWebImage.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>SMCalloutView.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>SNESDeltaCore-SNESDeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>SNESDeltaCore.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>SQLite.swift.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>SwiftyDropbox.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>ZIPFoundation.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
<key>SuppressBuildableAutocreation</key>
|
|
||||||
<dict/>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
15
Pods/Target Support Files/MelonDSDeltaCore/MelonDSDeltaCore.xcconfig
generated
Normal file
15
Pods/Target Support Files/MelonDSDeltaCore/MelonDSDeltaCore.xcconfig
generated
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore
|
||||||
|
GCC_OPTIMIZATION_LEVEL = fast
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 STATIC_LIBRARY=1 JIT_ENABLED=1
|
||||||
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/MelonDSDeltaCore" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/MelonDSDeltaCore/melonDS/src"
|
||||||
|
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap"
|
||||||
|
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -suppress-warnings -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}"
|
||||||
|
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
PODS_ROOT = ${SRCROOT}
|
||||||
|
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../Cores/MelonDSDeltaCore
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||||
|
SKIP_INSTALL = YES
|
||||||
|
SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation"
|
||||||
|
USER_HEADER_SEARCH_PATHS = "${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/Swift Compatibility Header"
|
||||||
|
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>${PRODUCT_NAME}</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>BNDL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>0.1.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>NSPrincipalClass</key>
|
||||||
|
<string></string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@ -4,7 +4,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
|||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/GoogleSignIn/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/GoogleSignIn/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 STATIC_LIBRARY=1 STATIC_LIBRARY=1 JIT_ENABLED=1 STATIC_LIBRARY=1 MUPENPLUSAPI TXFILTER_LIB OS_IOS GLESX GL_ERROR_DEBUG GL_DEBUG GLESX PNG_ARM_NEON_OPT=0
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 STATIC_LIBRARY=1 STATIC_LIBRARY=1 JIT_ENABLED=1 STATIC_LIBRARY=1 MUPENPLUSAPI TXFILTER_LIB OS_IOS GLESX GL_ERROR_DEBUG GL_DEBUG GLESX PNG_ARM_NEON_OPT=0
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AppAuth" "${PODS_ROOT}/Headers/Public/DSDeltaCore" "${PODS_ROOT}/Headers/Public/DeltaCore" "${PODS_ROOT}/Headers/Public/GBADeltaCore" "${PODS_ROOT}/Headers/Public/GBCDeltaCore" "${PODS_ROOT}/Headers/Public/GTMAppAuth" "${PODS_ROOT}/Headers/Public/GTMSessionFetcher" "${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST" "${PODS_ROOT}/Headers/Public/Harmony" "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" "${PODS_ROOT}/Headers/Public/N64DeltaCore" "${PODS_ROOT}/Headers/Public/NESDeltaCore" "${PODS_ROOT}/Headers/Public/Roxas" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMCalloutView" "${PODS_ROOT}/Headers/Public/SNESDeltaCore" "${PODS_ROOT}/Headers/Public/SQLite.swift" "${PODS_ROOT}/Headers/Public/SwiftyDropbox" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/DSDeltaCore/desmume/desmume/src/libretro-common/include" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/GBADeltaCore/SFML/include" "$(PODS_ROOT)/Headers/Private/GBADeltaCore/SFML/src" "${PODS_CONFIGURATION_BUILD_DIR}" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/MelonDSDeltaCore/melonDS/src" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/mupen64plus-core/subprojects/**" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/libMupen64Plus/SDL" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/mupen64plus-core/subprojects/**" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/libMupen64Plus/SDL" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src/inc" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src/osal" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/libpng"
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AppAuth" "${PODS_ROOT}/Headers/Public/DSDeltaCore" "${PODS_ROOT}/Headers/Public/DeltaCore" "${PODS_ROOT}/Headers/Public/GBADeltaCore" "${PODS_ROOT}/Headers/Public/GBCDeltaCore" "${PODS_ROOT}/Headers/Public/GTMAppAuth" "${PODS_ROOT}/Headers/Public/GTMSessionFetcher" "${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST" "${PODS_ROOT}/Headers/Public/Harmony" "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" "${PODS_ROOT}/Headers/Public/N64DeltaCore" "${PODS_ROOT}/Headers/Public/NESDeltaCore" "${PODS_ROOT}/Headers/Public/Roxas" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMCalloutView" "${PODS_ROOT}/Headers/Public/SNESDeltaCore" "${PODS_ROOT}/Headers/Public/SQLite.swift" "${PODS_ROOT}/Headers/Public/SwiftyDropbox" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/DSDeltaCore/desmume/desmume/src/libretro-common/include" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/GBADeltaCore/SFML/include" "$(PODS_ROOT)/Headers/Private/GBADeltaCore/SFML/src" "${PODS_CONFIGURATION_BUILD_DIR}" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/MelonDSDeltaCore/melonDS/src" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/mupen64plus-core/subprojects/**" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/libMupen64Plus/SDL" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/mupen64plus-core/subprojects/**" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/libMupen64Plus/SDL" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src/inc" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src/osal" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/libpng"
|
||||||
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleAPIClientForREST" "${PODS_CONFIGURATION_BUILD_DIR}/Harmony" "${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/Roxas" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SMCalloutView" "${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox" "${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation" "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
|
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleAPIClientForREST" "${PODS_CONFIGURATION_BUILD_DIR}/Harmony" "${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/Roxas" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SMCalloutView" "${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox" "${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation" /usr/lib/swift
|
||||||
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore/DSDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore/GBADeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Harmony/Harmony.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/MelonDSDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/N64DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore/SNESDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift/SQLite.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox/SwiftyDropbox.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/AppAuth/AppAuth.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMAppAuth/GTMAppAuth.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMSessionFetcher/GTMSessionFetcher.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST/GoogleAPIClientForREST.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/SDWebImage/SDWebImage.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/SMCalloutView/SMCalloutView.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/DSDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/GBADeltaCore" -isystem "${PODS_ROOT}/Headers/Public/GBCDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/Harmony" -isystem "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/N64DeltaCore" -isystem "${PODS_ROOT}/Headers/Public/NESDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/SNESDeltaCore" -iframework "${PODS_ROOT}/GoogleSignIn/Frameworks" -DHOST_DARWIN -DDESMUME_COCOA -DHAVE_OPENGL -DHAVE_LIBZ -DANDROID -fexceptions -ftree-vectorize -DCOMPRESS_MT -DIOS -DOBJ_C -marm -fvisibility=hidden -DSTATIC_LIBRARY=1 -DSTATIC_LIBRARY -DHAVE_CSTDINT -fno-strict-aliasing -DGCC -pthread -fPIC -D__unix__ -ffast-math -fno-strict-aliasing -DGCC -pthread -fPIC -D__unix__ -ffast-math -D__VEC4_OPT -fvisibility=hidden -funsigned-char -ffast-math -finline -fno-builtin -fno-common -fomit-frame-pointer -funroll-loops -fstrict-aliasing -DHAVE_STDINT_H -DARM -DSTATIC_LIBRARY=1
|
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore/DSDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore/GBADeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Harmony/Harmony.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/MelonDSDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/N64DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore/SNESDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift/SQLite.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox/SwiftyDropbox.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/AppAuth/AppAuth.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMAppAuth/GTMAppAuth.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMSessionFetcher/GTMSessionFetcher.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST/GoogleAPIClientForREST.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/SDWebImage/SDWebImage.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/SMCalloutView/SMCalloutView.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/DSDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/GBADeltaCore" -isystem "${PODS_ROOT}/Headers/Public/GBCDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/Harmony" -isystem "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/N64DeltaCore" -isystem "${PODS_ROOT}/Headers/Public/NESDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/SNESDeltaCore" -iframework "${PODS_ROOT}/GoogleSignIn/Frameworks" -DHOST_DARWIN -DDESMUME_COCOA -DHAVE_OPENGL -DHAVE_LIBZ -DANDROID -fexceptions -ftree-vectorize -DCOMPRESS_MT -DIOS -DOBJ_C -marm -fvisibility=hidden -DSTATIC_LIBRARY=1 -DSTATIC_LIBRARY -DHAVE_CSTDINT -fno-strict-aliasing -DGCC -pthread -fPIC -D__unix__ -ffast-math -fno-strict-aliasing -DGCC -pthread -fPIC -D__unix__ -ffast-math -D__VEC4_OPT -fvisibility=hidden -funsigned-char -ffast-math -finline -fno-builtin -fno-common -fomit-frame-pointer -funroll-loops -fstrict-aliasing -DHAVE_STDINT_H -DARM -DSTATIC_LIBRARY=1
|
||||||
OTHER_LDFLAGS = $(inherited) -ObjC -Wl,-exported_symbol,_Video_PluginStartup,-exported_symbol,_Video_PluginShutdown,-exported_symbol,_Video_PluginGetVersion,-exported_symbol,_Video_RomOpen,-exported_symbol,_Video_RomClosed,-exported_symbol,_ConfigGetSharedDataFilepath,-exported_symbol,_ConfigGetUserConfigPath,-exported_symbol,_ConfigGetUserCachePath,-exported_symbol,_ConfigGetUserDataPath,-exported_symbol,_ConfigOpenSection,-exported_symbol,_ConfigDeleteSection,-exported_symbol,_ConfigSaveSection,-exported_symbol,_ConfigSaveFile,-exported_symbol,_ConfigSetDefaultInt,-exported_symbol,_ConfigSetDefaultFloat,-exported_symbol,_ConfigSetDefaultBool,-exported_symbol,_ConfigSetDefaultString,-exported_symbol,_ConfigGetParamInt,-exported_symbol,_ConfigGetParamFloat,-exported_symbol,_ConfigGetParamBool,-exported_symbol,_ConfigGetParamString,-exported_symbol,_ConfigExternalGetParameter,-exported_symbol,_ConfigExternalOpen,-exported_symbol,_ConfigExternalClose,-exported_symbol,_VidExt_Init,-exported_symbol,_VidExt_Quit,-exported_symbol,_VidExt_ListFullscreenModes,-exported_symbol,_VidExt_SetVideoMode,-exported_symbol,_VidExt_SetCaption,-exported_symbol,_VidExt_ToggleFullScreen,-exported_symbol,_VidExt_ResizeWindow,-exported_symbol,_VidExt_GL_GetProcAddress,-exported_symbol,_VidExt_GL_SetAttribute,-exported_symbol,_VidExt_GL_GetAttribute,-exported_symbol,_VidExt_GL_SwapBuffers,-exported_symbol,_ChangeWindow,-exported_symbol,_InitiateGFX,-exported_symbol,_MoveScreen,-exported_symbol,_ProcessDList,-exported_symbol,_ProcessRDPList,-exported_symbol,_ShowCFB,-exported_symbol,_UpdateScreen,-exported_symbol,_ViStatusChanged,-exported_symbol,_ViWidthChanged,-exported_symbol,_ReadScreen2,-exported_symbol,_SetRenderingCallback,-exported_symbol,_FBRead,-exported_symbol,_FBWrite,-exported_symbol,_FBGetFrameBufferInfo,-exported_symbol,_ResizeVideoOutput,-exported_symbol,_RSP_PluginStartup,-exported_symbol,_RSP_PluginShutdown,-exported_symbol,_RSP_PluginGetVersion,-exported_symbol,_DoRspCycles,-exported_symbol,_InitiateRSP,-exported_symbol,_RSP_RomClosed,-exported_symbol,_CoreGetAPIVersions,-exported_symbol,_ConfigGetParameter,-exported_symbol,_ConfigSetParameter,-exported_symbol,_CoreDoCommand -l"Alamofire" -l"AppAuth" -l"DSDeltaCore" -l"GBADeltaCore" -l"GBCDeltaCore" -l"GTMAppAuth" -l"GTMSessionFetcher" -l"GoogleAPIClientForREST" -l"Harmony" -l"MelonDSDeltaCore" -l"N64DeltaCore" -l"NESDeltaCore" -l"Roxas" -l"SDWebImage" -l"SMCalloutView" -l"SNESDeltaCore" -l"SQLite.swift" -l"SwiftyDropbox" -l"ZIPFoundation" -l"sqlite3" -framework "CoreGraphics" -framework "CoreText" -framework "Foundation" -framework "GoogleSignIn" -framework "ImageIO" -framework "LocalAuthentication" -framework "SafariServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" -weak_framework "AuthenticationServices"
|
OTHER_LDFLAGS = $(inherited) -ObjC -Wl,-exported_symbol,_Video_PluginStartup,-exported_symbol,_Video_PluginShutdown,-exported_symbol,_Video_PluginGetVersion,-exported_symbol,_Video_RomOpen,-exported_symbol,_Video_RomClosed,-exported_symbol,_ConfigGetSharedDataFilepath,-exported_symbol,_ConfigGetUserConfigPath,-exported_symbol,_ConfigGetUserCachePath,-exported_symbol,_ConfigGetUserDataPath,-exported_symbol,_ConfigOpenSection,-exported_symbol,_ConfigDeleteSection,-exported_symbol,_ConfigSaveSection,-exported_symbol,_ConfigSaveFile,-exported_symbol,_ConfigSetDefaultInt,-exported_symbol,_ConfigSetDefaultFloat,-exported_symbol,_ConfigSetDefaultBool,-exported_symbol,_ConfigSetDefaultString,-exported_symbol,_ConfigGetParamInt,-exported_symbol,_ConfigGetParamFloat,-exported_symbol,_ConfigGetParamBool,-exported_symbol,_ConfigGetParamString,-exported_symbol,_ConfigExternalGetParameter,-exported_symbol,_ConfigExternalOpen,-exported_symbol,_ConfigExternalClose,-exported_symbol,_VidExt_Init,-exported_symbol,_VidExt_Quit,-exported_symbol,_VidExt_ListFullscreenModes,-exported_symbol,_VidExt_SetVideoMode,-exported_symbol,_VidExt_SetCaption,-exported_symbol,_VidExt_ToggleFullScreen,-exported_symbol,_VidExt_ResizeWindow,-exported_symbol,_VidExt_GL_GetProcAddress,-exported_symbol,_VidExt_GL_SetAttribute,-exported_symbol,_VidExt_GL_GetAttribute,-exported_symbol,_VidExt_GL_SwapBuffers,-exported_symbol,_ChangeWindow,-exported_symbol,_InitiateGFX,-exported_symbol,_MoveScreen,-exported_symbol,_ProcessDList,-exported_symbol,_ProcessRDPList,-exported_symbol,_ShowCFB,-exported_symbol,_UpdateScreen,-exported_symbol,_ViStatusChanged,-exported_symbol,_ViWidthChanged,-exported_symbol,_ReadScreen2,-exported_symbol,_SetRenderingCallback,-exported_symbol,_FBRead,-exported_symbol,_FBWrite,-exported_symbol,_FBGetFrameBufferInfo,-exported_symbol,_ResizeVideoOutput,-exported_symbol,_RSP_PluginStartup,-exported_symbol,_RSP_PluginShutdown,-exported_symbol,_RSP_PluginGetVersion,-exported_symbol,_DoRspCycles,-exported_symbol,_InitiateRSP,-exported_symbol,_RSP_RomClosed,-exported_symbol,_CoreGetAPIVersions,-exported_symbol,_ConfigGetParameter,-exported_symbol,_ConfigSetParameter,-exported_symbol,_CoreDoCommand -l"Alamofire" -l"AppAuth" -l"DSDeltaCore" -l"GBADeltaCore" -l"GBCDeltaCore" -l"GTMAppAuth" -l"GTMSessionFetcher" -l"GoogleAPIClientForREST" -l"Harmony" -l"MelonDSDeltaCore" -l"N64DeltaCore" -l"NESDeltaCore" -l"Roxas" -l"SDWebImage" -l"SMCalloutView" -l"SNESDeltaCore" -l"SQLite.swift" -l"SwiftyDropbox" -l"ZIPFoundation" -l"sqlite3" -framework "CoreGraphics" -framework "CoreText" -framework "Foundation" -framework "GoogleSignIn" -framework "ImageIO" -framework "LocalAuthentication" -framework "SafariServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" -weak_framework "AuthenticationServices"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore/DSDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore/GBADeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Harmony/Harmony.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/MelonDSDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/N64DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore/SNESDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift/SQLite.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox/SwiftyDropbox.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/AppAuth/AppAuth.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMAppAuth/GTMAppAuth.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMSessionFetcher/GTMSessionFetcher.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST/GoogleAPIClientForREST.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/SDWebImage/SDWebImage.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/SMCalloutView/SMCalloutView.modulemap"
|
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore/DSDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore/GBADeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Harmony/Harmony.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/MelonDSDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/N64DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore/SNESDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift/SQLite.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox/SwiftyDropbox.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/AppAuth/AppAuth.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMAppAuth/GTMAppAuth.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMSessionFetcher/GTMSessionFetcher.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST/GoogleAPIClientForREST.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/SDWebImage/SDWebImage.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/SMCalloutView/SMCalloutView.modulemap"
|
||||||
|
|||||||
@ -4,7 +4,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
|||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/GoogleSignIn/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/GoogleSignIn/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 STATIC_LIBRARY=1 STATIC_LIBRARY=1 JIT_ENABLED=1 STATIC_LIBRARY=1 MUPENPLUSAPI TXFILTER_LIB OS_IOS GLESX GL_ERROR_DEBUG GL_DEBUG GLESX PNG_ARM_NEON_OPT=0
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 STATIC_LIBRARY=1 STATIC_LIBRARY=1 JIT_ENABLED=1 STATIC_LIBRARY=1 MUPENPLUSAPI TXFILTER_LIB OS_IOS GLESX GL_ERROR_DEBUG GL_DEBUG GLESX PNG_ARM_NEON_OPT=0
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AppAuth" "${PODS_ROOT}/Headers/Public/DSDeltaCore" "${PODS_ROOT}/Headers/Public/DeltaCore" "${PODS_ROOT}/Headers/Public/GBADeltaCore" "${PODS_ROOT}/Headers/Public/GBCDeltaCore" "${PODS_ROOT}/Headers/Public/GTMAppAuth" "${PODS_ROOT}/Headers/Public/GTMSessionFetcher" "${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST" "${PODS_ROOT}/Headers/Public/Harmony" "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" "${PODS_ROOT}/Headers/Public/N64DeltaCore" "${PODS_ROOT}/Headers/Public/NESDeltaCore" "${PODS_ROOT}/Headers/Public/Roxas" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMCalloutView" "${PODS_ROOT}/Headers/Public/SNESDeltaCore" "${PODS_ROOT}/Headers/Public/SQLite.swift" "${PODS_ROOT}/Headers/Public/SwiftyDropbox" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/DSDeltaCore/desmume/desmume/src/libretro-common/include" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/GBADeltaCore/SFML/include" "$(PODS_ROOT)/Headers/Private/GBADeltaCore/SFML/src" "${PODS_CONFIGURATION_BUILD_DIR}" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/MelonDSDeltaCore/melonDS/src" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/mupen64plus-core/subprojects/**" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/libMupen64Plus/SDL" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/mupen64plus-core/subprojects/**" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/libMupen64Plus/SDL" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src/inc" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src/osal" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/libpng"
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AppAuth" "${PODS_ROOT}/Headers/Public/DSDeltaCore" "${PODS_ROOT}/Headers/Public/DeltaCore" "${PODS_ROOT}/Headers/Public/GBADeltaCore" "${PODS_ROOT}/Headers/Public/GBCDeltaCore" "${PODS_ROOT}/Headers/Public/GTMAppAuth" "${PODS_ROOT}/Headers/Public/GTMSessionFetcher" "${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST" "${PODS_ROOT}/Headers/Public/Harmony" "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" "${PODS_ROOT}/Headers/Public/N64DeltaCore" "${PODS_ROOT}/Headers/Public/NESDeltaCore" "${PODS_ROOT}/Headers/Public/Roxas" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMCalloutView" "${PODS_ROOT}/Headers/Public/SNESDeltaCore" "${PODS_ROOT}/Headers/Public/SQLite.swift" "${PODS_ROOT}/Headers/Public/SwiftyDropbox" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/DSDeltaCore/desmume/desmume/src/libretro-common/include" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/GBADeltaCore/SFML/include" "$(PODS_ROOT)/Headers/Private/GBADeltaCore/SFML/src" "${PODS_CONFIGURATION_BUILD_DIR}" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/MelonDSDeltaCore/melonDS/src" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/mupen64plus-core/subprojects/**" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/libMupen64Plus/SDL" "${PODS_CONFIGURATION_BUILD_DIR}" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/mupen64plus-core/subprojects/**" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/libMupen64Plus/SDL" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src/inc" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/GLideN64/src/osal" "$(PODS_ROOT)/Headers/Private/N64DeltaCore/Mupen64Plus/libpng"
|
||||||
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleAPIClientForREST" "${PODS_CONFIGURATION_BUILD_DIR}/Harmony" "${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/Roxas" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SMCalloutView" "${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox" "${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation" "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
|
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth" "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleAPIClientForREST" "${PODS_CONFIGURATION_BUILD_DIR}/Harmony" "${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/Roxas" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SMCalloutView" "${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox" "${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation" /usr/lib/swift
|
||||||
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore/DSDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore/GBADeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Harmony/Harmony.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/MelonDSDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/N64DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore/SNESDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift/SQLite.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox/SwiftyDropbox.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/AppAuth/AppAuth.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMAppAuth/GTMAppAuth.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMSessionFetcher/GTMSessionFetcher.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST/GoogleAPIClientForREST.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/SDWebImage/SDWebImage.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/SMCalloutView/SMCalloutView.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/DSDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/GBADeltaCore" -isystem "${PODS_ROOT}/Headers/Public/GBCDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/Harmony" -isystem "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/N64DeltaCore" -isystem "${PODS_ROOT}/Headers/Public/NESDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/SNESDeltaCore" -iframework "${PODS_ROOT}/GoogleSignIn/Frameworks" -DHOST_DARWIN -DDESMUME_COCOA -DHAVE_OPENGL -DHAVE_LIBZ -DANDROID -fexceptions -ftree-vectorize -DCOMPRESS_MT -DIOS -DOBJ_C -marm -fvisibility=hidden -DSTATIC_LIBRARY=1 -DSTATIC_LIBRARY -DHAVE_CSTDINT -fno-strict-aliasing -DGCC -pthread -fPIC -D__unix__ -ffast-math -fno-strict-aliasing -DGCC -pthread -fPIC -D__unix__ -ffast-math -D__VEC4_OPT -fvisibility=hidden -funsigned-char -ffast-math -finline -fno-builtin -fno-common -fomit-frame-pointer -funroll-loops -fstrict-aliasing -DHAVE_STDINT_H -DARM -DSTATIC_LIBRARY=1
|
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore/DSDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore/GBADeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Harmony/Harmony.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/MelonDSDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/N64DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore/SNESDeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift/SQLite.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox/SwiftyDropbox.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/AppAuth/AppAuth.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMAppAuth/GTMAppAuth.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMSessionFetcher/GTMSessionFetcher.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST/GoogleAPIClientForREST.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/SDWebImage/SDWebImage.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/SMCalloutView/SMCalloutView.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/DSDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/GBADeltaCore" -isystem "${PODS_ROOT}/Headers/Public/GBCDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/Harmony" -isystem "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/N64DeltaCore" -isystem "${PODS_ROOT}/Headers/Public/NESDeltaCore" -isystem "${PODS_ROOT}/Headers/Public/SNESDeltaCore" -iframework "${PODS_ROOT}/GoogleSignIn/Frameworks" -DHOST_DARWIN -DDESMUME_COCOA -DHAVE_OPENGL -DHAVE_LIBZ -DANDROID -fexceptions -ftree-vectorize -DCOMPRESS_MT -DIOS -DOBJ_C -marm -fvisibility=hidden -DSTATIC_LIBRARY=1 -DSTATIC_LIBRARY -DHAVE_CSTDINT -fno-strict-aliasing -DGCC -pthread -fPIC -D__unix__ -ffast-math -fno-strict-aliasing -DGCC -pthread -fPIC -D__unix__ -ffast-math -D__VEC4_OPT -fvisibility=hidden -funsigned-char -ffast-math -finline -fno-builtin -fno-common -fomit-frame-pointer -funroll-loops -fstrict-aliasing -DHAVE_STDINT_H -DARM -DSTATIC_LIBRARY=1
|
||||||
OTHER_LDFLAGS = $(inherited) -ObjC -Wl,-exported_symbol,_Video_PluginStartup,-exported_symbol,_Video_PluginShutdown,-exported_symbol,_Video_PluginGetVersion,-exported_symbol,_Video_RomOpen,-exported_symbol,_Video_RomClosed,-exported_symbol,_ConfigGetSharedDataFilepath,-exported_symbol,_ConfigGetUserConfigPath,-exported_symbol,_ConfigGetUserCachePath,-exported_symbol,_ConfigGetUserDataPath,-exported_symbol,_ConfigOpenSection,-exported_symbol,_ConfigDeleteSection,-exported_symbol,_ConfigSaveSection,-exported_symbol,_ConfigSaveFile,-exported_symbol,_ConfigSetDefaultInt,-exported_symbol,_ConfigSetDefaultFloat,-exported_symbol,_ConfigSetDefaultBool,-exported_symbol,_ConfigSetDefaultString,-exported_symbol,_ConfigGetParamInt,-exported_symbol,_ConfigGetParamFloat,-exported_symbol,_ConfigGetParamBool,-exported_symbol,_ConfigGetParamString,-exported_symbol,_ConfigExternalGetParameter,-exported_symbol,_ConfigExternalOpen,-exported_symbol,_ConfigExternalClose,-exported_symbol,_VidExt_Init,-exported_symbol,_VidExt_Quit,-exported_symbol,_VidExt_ListFullscreenModes,-exported_symbol,_VidExt_SetVideoMode,-exported_symbol,_VidExt_SetCaption,-exported_symbol,_VidExt_ToggleFullScreen,-exported_symbol,_VidExt_ResizeWindow,-exported_symbol,_VidExt_GL_GetProcAddress,-exported_symbol,_VidExt_GL_SetAttribute,-exported_symbol,_VidExt_GL_GetAttribute,-exported_symbol,_VidExt_GL_SwapBuffers,-exported_symbol,_ChangeWindow,-exported_symbol,_InitiateGFX,-exported_symbol,_MoveScreen,-exported_symbol,_ProcessDList,-exported_symbol,_ProcessRDPList,-exported_symbol,_ShowCFB,-exported_symbol,_UpdateScreen,-exported_symbol,_ViStatusChanged,-exported_symbol,_ViWidthChanged,-exported_symbol,_ReadScreen2,-exported_symbol,_SetRenderingCallback,-exported_symbol,_FBRead,-exported_symbol,_FBWrite,-exported_symbol,_FBGetFrameBufferInfo,-exported_symbol,_ResizeVideoOutput,-exported_symbol,_RSP_PluginStartup,-exported_symbol,_RSP_PluginShutdown,-exported_symbol,_RSP_PluginGetVersion,-exported_symbol,_DoRspCycles,-exported_symbol,_InitiateRSP,-exported_symbol,_RSP_RomClosed,-exported_symbol,_CoreGetAPIVersions,-exported_symbol,_ConfigGetParameter,-exported_symbol,_ConfigSetParameter,-exported_symbol,_CoreDoCommand -l"Alamofire" -l"AppAuth" -l"DSDeltaCore" -l"GBADeltaCore" -l"GBCDeltaCore" -l"GTMAppAuth" -l"GTMSessionFetcher" -l"GoogleAPIClientForREST" -l"Harmony" -l"MelonDSDeltaCore" -l"N64DeltaCore" -l"NESDeltaCore" -l"Roxas" -l"SDWebImage" -l"SMCalloutView" -l"SNESDeltaCore" -l"SQLite.swift" -l"SwiftyDropbox" -l"ZIPFoundation" -l"sqlite3" -framework "CoreGraphics" -framework "CoreText" -framework "Foundation" -framework "GoogleSignIn" -framework "ImageIO" -framework "LocalAuthentication" -framework "SafariServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" -weak_framework "AuthenticationServices"
|
OTHER_LDFLAGS = $(inherited) -ObjC -Wl,-exported_symbol,_Video_PluginStartup,-exported_symbol,_Video_PluginShutdown,-exported_symbol,_Video_PluginGetVersion,-exported_symbol,_Video_RomOpen,-exported_symbol,_Video_RomClosed,-exported_symbol,_ConfigGetSharedDataFilepath,-exported_symbol,_ConfigGetUserConfigPath,-exported_symbol,_ConfigGetUserCachePath,-exported_symbol,_ConfigGetUserDataPath,-exported_symbol,_ConfigOpenSection,-exported_symbol,_ConfigDeleteSection,-exported_symbol,_ConfigSaveSection,-exported_symbol,_ConfigSaveFile,-exported_symbol,_ConfigSetDefaultInt,-exported_symbol,_ConfigSetDefaultFloat,-exported_symbol,_ConfigSetDefaultBool,-exported_symbol,_ConfigSetDefaultString,-exported_symbol,_ConfigGetParamInt,-exported_symbol,_ConfigGetParamFloat,-exported_symbol,_ConfigGetParamBool,-exported_symbol,_ConfigGetParamString,-exported_symbol,_ConfigExternalGetParameter,-exported_symbol,_ConfigExternalOpen,-exported_symbol,_ConfigExternalClose,-exported_symbol,_VidExt_Init,-exported_symbol,_VidExt_Quit,-exported_symbol,_VidExt_ListFullscreenModes,-exported_symbol,_VidExt_SetVideoMode,-exported_symbol,_VidExt_SetCaption,-exported_symbol,_VidExt_ToggleFullScreen,-exported_symbol,_VidExt_ResizeWindow,-exported_symbol,_VidExt_GL_GetProcAddress,-exported_symbol,_VidExt_GL_SetAttribute,-exported_symbol,_VidExt_GL_GetAttribute,-exported_symbol,_VidExt_GL_SwapBuffers,-exported_symbol,_ChangeWindow,-exported_symbol,_InitiateGFX,-exported_symbol,_MoveScreen,-exported_symbol,_ProcessDList,-exported_symbol,_ProcessRDPList,-exported_symbol,_ShowCFB,-exported_symbol,_UpdateScreen,-exported_symbol,_ViStatusChanged,-exported_symbol,_ViWidthChanged,-exported_symbol,_ReadScreen2,-exported_symbol,_SetRenderingCallback,-exported_symbol,_FBRead,-exported_symbol,_FBWrite,-exported_symbol,_FBGetFrameBufferInfo,-exported_symbol,_ResizeVideoOutput,-exported_symbol,_RSP_PluginStartup,-exported_symbol,_RSP_PluginShutdown,-exported_symbol,_RSP_PluginGetVersion,-exported_symbol,_DoRspCycles,-exported_symbol,_InitiateRSP,-exported_symbol,_RSP_RomClosed,-exported_symbol,_CoreGetAPIVersions,-exported_symbol,_ConfigGetParameter,-exported_symbol,_ConfigSetParameter,-exported_symbol,_CoreDoCommand -l"Alamofire" -l"AppAuth" -l"DSDeltaCore" -l"GBADeltaCore" -l"GBCDeltaCore" -l"GTMAppAuth" -l"GTMSessionFetcher" -l"GoogleAPIClientForREST" -l"Harmony" -l"MelonDSDeltaCore" -l"N64DeltaCore" -l"NESDeltaCore" -l"Roxas" -l"SDWebImage" -l"SMCalloutView" -l"SNESDeltaCore" -l"SQLite.swift" -l"SwiftyDropbox" -l"ZIPFoundation" -l"sqlite3" -framework "CoreGraphics" -framework "CoreText" -framework "Foundation" -framework "GoogleSignIn" -framework "ImageIO" -framework "LocalAuthentication" -framework "SafariServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" -weak_framework "AuthenticationServices"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore/DSDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore/GBADeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Harmony/Harmony.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/MelonDSDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/N64DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore/SNESDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift/SQLite.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox/SwiftyDropbox.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/AppAuth/AppAuth.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMAppAuth/GTMAppAuth.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMSessionFetcher/GTMSessionFetcher.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST/GoogleAPIClientForREST.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/SDWebImage/SDWebImage.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/SMCalloutView/SMCalloutView.modulemap"
|
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DSDeltaCore/DSDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBADeltaCore/GBADeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Harmony/Harmony.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/MelonDSDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/N64DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SNESDeltaCore/SNESDeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift/SQLite.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDropbox/SwiftyDropbox.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/AppAuth/AppAuth.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMAppAuth/GTMAppAuth.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GTMSessionFetcher/GTMSessionFetcher.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST/GoogleAPIClientForREST.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/SDWebImage/SDWebImage.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/SMCalloutView/SMCalloutView.modulemap"
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AppAuth" "${PODS_ROOT}/Headers/Public/DSDeltaCore" "${PODS_ROOT}/Headers/Public/DeltaCore" "${PODS_ROOT}/Headers/Public/GBADeltaCore" "${PODS_ROOT}/Headers/Public/GBCDeltaCore" "${PODS_ROOT}/Headers/Public/GTMAppAuth" "${PODS_ROOT}/Headers/Public/GTMSessionFetcher" "${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST" "${PODS_ROOT}/Headers/Public/Harmony" "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" "${PODS_ROOT}/Headers/Public/N64DeltaCore" "${PODS_ROOT}/Headers/Public/NESDeltaCore" "${PODS_ROOT}/Headers/Public/Roxas" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMCalloutView" "${PODS_ROOT}/Headers/Public/SNESDeltaCore" "${PODS_ROOT}/Headers/Public/SQLite.swift" "${PODS_ROOT}/Headers/Public/SwiftyDropbox"
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AppAuth" "${PODS_ROOT}/Headers/Public/DSDeltaCore" "${PODS_ROOT}/Headers/Public/DeltaCore" "${PODS_ROOT}/Headers/Public/GBADeltaCore" "${PODS_ROOT}/Headers/Public/GBCDeltaCore" "${PODS_ROOT}/Headers/Public/GTMAppAuth" "${PODS_ROOT}/Headers/Public/GTMSessionFetcher" "${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST" "${PODS_ROOT}/Headers/Public/Harmony" "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" "${PODS_ROOT}/Headers/Public/N64DeltaCore" "${PODS_ROOT}/Headers/Public/NESDeltaCore" "${PODS_ROOT}/Headers/Public/Roxas" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMCalloutView" "${PODS_ROOT}/Headers/Public/SNESDeltaCore" "${PODS_ROOT}/Headers/Public/SQLite.swift" "${PODS_ROOT}/Headers/Public/SwiftyDropbox"
|
||||||
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/Roxas" "${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation" "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
|
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/Roxas" "${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation" /usr/lib/swift
|
||||||
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -DSTATIC_LIBRARY
|
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -DSTATIC_LIBRARY
|
||||||
OTHER_LDFLAGS = $(inherited) -ObjC -l"DeltaCore" -l"Roxas" -l"ZIPFoundation"
|
OTHER_LDFLAGS = $(inherited) -ObjC -l"DeltaCore" -l"Roxas" -l"ZIPFoundation"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap"
|
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap"
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AppAuth" "${PODS_ROOT}/Headers/Public/DSDeltaCore" "${PODS_ROOT}/Headers/Public/DeltaCore" "${PODS_ROOT}/Headers/Public/GBADeltaCore" "${PODS_ROOT}/Headers/Public/GBCDeltaCore" "${PODS_ROOT}/Headers/Public/GTMAppAuth" "${PODS_ROOT}/Headers/Public/GTMSessionFetcher" "${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST" "${PODS_ROOT}/Headers/Public/Harmony" "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" "${PODS_ROOT}/Headers/Public/N64DeltaCore" "${PODS_ROOT}/Headers/Public/NESDeltaCore" "${PODS_ROOT}/Headers/Public/Roxas" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMCalloutView" "${PODS_ROOT}/Headers/Public/SNESDeltaCore" "${PODS_ROOT}/Headers/Public/SQLite.swift" "${PODS_ROOT}/Headers/Public/SwiftyDropbox"
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AppAuth" "${PODS_ROOT}/Headers/Public/DSDeltaCore" "${PODS_ROOT}/Headers/Public/DeltaCore" "${PODS_ROOT}/Headers/Public/GBADeltaCore" "${PODS_ROOT}/Headers/Public/GBCDeltaCore" "${PODS_ROOT}/Headers/Public/GTMAppAuth" "${PODS_ROOT}/Headers/Public/GTMSessionFetcher" "${PODS_ROOT}/Headers/Public/GoogleAPIClientForREST" "${PODS_ROOT}/Headers/Public/Harmony" "${PODS_ROOT}/Headers/Public/MelonDSDeltaCore" "${PODS_ROOT}/Headers/Public/N64DeltaCore" "${PODS_ROOT}/Headers/Public/NESDeltaCore" "${PODS_ROOT}/Headers/Public/Roxas" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMCalloutView" "${PODS_ROOT}/Headers/Public/SNESDeltaCore" "${PODS_ROOT}/Headers/Public/SQLite.swift" "${PODS_ROOT}/Headers/Public/SwiftyDropbox"
|
||||||
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/Roxas" "${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation" "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
|
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore" "${PODS_CONFIGURATION_BUILD_DIR}/Roxas" "${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation" /usr/lib/swift
|
||||||
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -DSTATIC_LIBRARY
|
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -DSTATIC_LIBRARY
|
||||||
OTHER_LDFLAGS = $(inherited) -ObjC -l"DeltaCore" -l"Roxas" -l"ZIPFoundation"
|
OTHER_LDFLAGS = $(inherited) -ObjC -l"DeltaCore" -l"Roxas" -l"ZIPFoundation"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap"
|
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DeltaCore/DeltaCore.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZIPFoundation/ZIPFoundation.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/Roxas/Roxas.modulemap"
|
||||||
|
|||||||
14
README.md
14
README.md
@ -10,7 +10,7 @@ Delta is an iOS application that allows you to emulate and play video games for
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="https://user-images.githubusercontent.com/705880/115471008-203aa480-a1ec-11eb-8aba-237a46799543.png" width=75%><br/>
|
<img src="https://user-images.githubusercontent.com/705880/115471008-203aa480-a1ec-11eb-8aba-237a46799543.png" width=75%><br/>
|
||||||
<em>Mario and Pokémon and properties of Nintendo Co., Ltd. and are not associated with Delta or AltStore LLC.</em>
|
<em>Mario and Pokémon are properties of Nintendo Co., Ltd. and are not associated with Delta or AltStore LLC.</em>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## Supported Systems
|
## Supported Systems
|
||||||
@ -20,7 +20,7 @@ Delta is an iOS application that allows you to emulate and play video games for
|
|||||||
- Game Boy / Game Boy Color (GBC)
|
- Game Boy / Game Boy Color (GBC)
|
||||||
- Game Boy Advance (GBA)
|
- Game Boy Advance (GBA)
|
||||||
- Nintendo DS (DS)
|
- Nintendo DS (DS)
|
||||||
- Sega Genesis / Mega Drive (GEN) **(in progress)**
|
- Sega Genesis / Mega Drive (GEN) **(in beta)**
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
- Accurate, full speed emulation thanks to mature underlying emulator cores.
|
- Accurate, full speed emulation thanks to mature underlying emulator cores.
|
||||||
@ -126,12 +126,10 @@ Each system in Delta is implemented as its own "Delta Core", which serves as a s
|
|||||||
- [MelonDSDeltaCore](https://github.com/rileytestut/MelonDSDeltaCore)
|
- [MelonDSDeltaCore](https://github.com/rileytestut/MelonDSDeltaCore)
|
||||||
- [GPGXDeltaCore](https://github.com/rileytestut/GPGXDeltaCore)
|
- [GPGXDeltaCore](https://github.com/rileytestut/GPGXDeltaCore)
|
||||||
|
|
||||||
## Project Requirements
|
## Minimum Project Requirements
|
||||||
- Xcode 12
|
- Xcode 15
|
||||||
- Swift 5+
|
- Swift 5.9
|
||||||
- iOS 12.2 or later
|
- iOS 14.0
|
||||||
|
|
||||||
Why iOS 12.2 or later? Doing so allows me to distribute Delta without embedding Swift libraries inside. This helps me afford bandwidth costs by reducing download sizes by roughly 30%, but also noticeably improves how long it takes to install/refresh Delta with AltStore. If you're compiling Delta yourself, however, you should be able to lower the deployment target to iOS 12.0 without any issues.
|
|
||||||
|
|
||||||
## Compilation Instructions
|
## Compilation Instructions
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"filename" : "GBA4iOS.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"platform" : "ios",
|
||||||
|
"size" : "1024x1024"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 106 KiB |
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"filename" : "Inverted.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"platform" : "ios",
|
||||||
|
"size" : "1024x1024"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 141 KiB |
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"filename" : "Pixelated.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"platform" : "ios",
|
||||||
|
"size" : "1024x1024"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 428 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user