forked from MeloNX/MeloNX
Fix onscreen controller and optimize stuff
This commit is contained in:
parent
73f14cf59c
commit
bb4e7314a5
@ -494,7 +494,7 @@
|
|||||||
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
||||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||||
INFOPLIST_KEY_UISupportsDocumentBrowser = YES;
|
INFOPLIST_KEY_UISupportsDocumentBrowser = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
|
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
@ -559,6 +559,12 @@
|
|||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
||||||
@ -591,7 +597,7 @@
|
|||||||
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
||||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||||
INFOPLIST_KEY_UISupportsDocumentBrowser = YES;
|
INFOPLIST_KEY_UISupportsDocumentBrowser = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
|
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
@ -656,6 +662,12 @@
|
|||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
||||||
|
Binary file not shown.
@ -150,20 +150,19 @@ struct ContentView: View {
|
|||||||
private func setupEmulation() {
|
private func setupEmulation() {
|
||||||
virtualController?.disconnect()
|
virtualController?.disconnect()
|
||||||
|
|
||||||
|
guard let game = game else { return }
|
||||||
|
|
||||||
if controllersList.first(where: { $0 == onscreencontroller}) != nil {
|
if controllersList.first(where: { $0 == onscreencontroller}) != nil {
|
||||||
controllerCallback = {
|
controllerCallback = {
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
controllersList = Ryujinx.shared.getConnectedControllers()
|
controllersList = Ryujinx.shared.getConnectedControllers()
|
||||||
|
|
||||||
print(currentControllers)
|
print(currentControllers)
|
||||||
start(displayid: 1)
|
start(displayid: 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
showVirtualController()
|
showVirtualController()
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
print(currentControllers)
|
print(currentControllers)
|
||||||
start(displayid: 1)
|
start(displayid: 1)
|
||||||
@ -172,16 +171,17 @@ struct ContentView: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func refreshControllersList() {
|
private func refreshControllersList() {
|
||||||
Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false) { _ in
|
Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { _ in
|
||||||
controllersList = Ryujinx.shared.getConnectedControllers()
|
DispatchQueue.main.async {
|
||||||
var controller = controllersList.first(where: { $0.name.hasPrefix("Apple")})
|
controllersList = Ryujinx.shared.getConnectedControllers()
|
||||||
self.onscreencontroller = (controller ?? Controller(id: "", name: ""))
|
var controller = controllersList.first(where: { $0.name.hasPrefix("Apple")})
|
||||||
if controllersList.count > 2 {
|
self.onscreencontroller = (controller ?? Controller(id: "", name: ""))
|
||||||
let controller = controllersList[2]
|
if controllersList.count > 2 {
|
||||||
currentControllers.append(controller)
|
let controller = controllersList[2]
|
||||||
|
currentControllers.append(controller)
|
||||||
} else if let controller = controllersList.first(where: { $0.id == onscreencontroller.id }), !controllersList.isEmpty {
|
} else if let controller = controllersList.first(where: { $0.id == onscreencontroller.id }), !controllersList.isEmpty {
|
||||||
currentControllers.append(controller)
|
currentControllers.append(controller)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -200,7 +200,6 @@ struct ContentView: View {
|
|||||||
config.gamepath = game.path
|
config.gamepath = game.path
|
||||||
config.inputids = currentControllers.map(\.id)
|
config.inputids = currentControllers.map(\.id)
|
||||||
|
|
||||||
allocateMemory()
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
try Ryujinx.shared.start(with: config)
|
try Ryujinx.shared.start(with: config)
|
||||||
@ -209,16 +208,6 @@ struct ContentView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private func allocateMemory() {
|
|
||||||
let physicalMemory = ProcessInfo.processInfo.physicalMemory
|
|
||||||
let totalMemoryInGB = Double(physicalMemory) / (1024 * 1024 * 1024)
|
|
||||||
|
|
||||||
let pointer = UnsafeMutableRawPointer.allocate(
|
|
||||||
byteCount: Int(totalMemoryInGB),
|
|
||||||
alignment: MemoryLayout<UInt8>.alignment
|
|
||||||
)
|
|
||||||
pointer.initializeMemory(as: UInt8.self, repeating: 0, count: Int(totalMemoryInGB))
|
|
||||||
}
|
|
||||||
|
|
||||||
private func setMoltenVKSettings() {
|
private func setMoltenVKSettings() {
|
||||||
if let configs = loadSettings() {
|
if let configs = loadSettings() {
|
||||||
|
@ -9,6 +9,7 @@ import UIKit
|
|||||||
import MetalKit
|
import MetalKit
|
||||||
import SDL2
|
import SDL2
|
||||||
|
|
||||||
|
/*
|
||||||
class SDLView: UIView {
|
class SDLView: UIView {
|
||||||
var sdlwin: OpaquePointer?
|
var sdlwin: OpaquePointer?
|
||||||
|
|
||||||
@ -82,3 +83,6 @@ class SDLView: UIView {
|
|||||||
syncSDLWindowPosition()
|
syncSDLWindowPosition()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ import UIKit
|
|||||||
import SwiftUI
|
import SwiftUI
|
||||||
import SDL2
|
import SDL2
|
||||||
import GameController
|
import GameController
|
||||||
|
/*
|
||||||
struct SDLViewRepresentable: UIViewRepresentable {
|
struct SDLViewRepresentable: UIViewRepresentable {
|
||||||
let configure: (UInt32) -> Void
|
let configure: (UInt32) -> Void
|
||||||
func makeUIView(context: Context) -> SDLView {
|
func makeUIView(context: Context) -> SDLView {
|
||||||
@ -25,3 +25,5 @@ struct SDLViewRepresentable: UIViewRepresentable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user