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_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
INFOPLIST_KEY_UISupportsDocumentBrowser = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@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",
|
||||
);
|
||||
MARKETING_VERSION = 1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
||||
@ -591,7 +597,7 @@
|
||||
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
INFOPLIST_KEY_UISupportsDocumentBrowser = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@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",
|
||||
);
|
||||
MARKETING_VERSION = 1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
||||
|
Binary file not shown.
@ -150,20 +150,19 @@ struct ContentView: View {
|
||||
private func setupEmulation() {
|
||||
virtualController?.disconnect()
|
||||
|
||||
guard let game = game else { return }
|
||||
|
||||
if controllersList.first(where: { $0 == onscreencontroller}) != nil {
|
||||
controllerCallback = {
|
||||
DispatchQueue.main.async {
|
||||
controllersList = Ryujinx.shared.getConnectedControllers()
|
||||
|
||||
print(currentControllers)
|
||||
start(displayid: 1)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
showVirtualController()
|
||||
} else {
|
||||
|
||||
DispatchQueue.main.async {
|
||||
print(currentControllers)
|
||||
start(displayid: 1)
|
||||
@ -172,19 +171,20 @@ struct ContentView: View {
|
||||
}
|
||||
|
||||
private func refreshControllersList() {
|
||||
Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false) { _ in
|
||||
Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { _ in
|
||||
DispatchQueue.main.async {
|
||||
controllersList = Ryujinx.shared.getConnectedControllers()
|
||||
var controller = controllersList.first(where: { $0.name.hasPrefix("Apple")})
|
||||
self.onscreencontroller = (controller ?? Controller(id: "", name: ""))
|
||||
if controllersList.count > 2 {
|
||||
let controller = controllersList[2]
|
||||
currentControllers.append(controller)
|
||||
|
||||
} else if let controller = controllersList.first(where: { $0.id == onscreencontroller.id }), !controllersList.isEmpty {
|
||||
currentControllers.append(controller)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func toggleController(_ controller: Controller) {
|
||||
if currentControllers.contains(where: { $0.id == controller.id }) {
|
||||
@ -200,7 +200,6 @@ struct ContentView: View {
|
||||
config.gamepath = game.path
|
||||
config.inputids = currentControllers.map(\.id)
|
||||
|
||||
allocateMemory()
|
||||
|
||||
do {
|
||||
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() {
|
||||
if let configs = loadSettings() {
|
||||
|
@ -9,6 +9,7 @@ import UIKit
|
||||
import MetalKit
|
||||
import SDL2
|
||||
|
||||
/*
|
||||
class SDLView: UIView {
|
||||
var sdlwin: OpaquePointer?
|
||||
|
||||
@ -82,3 +83,6 @@ class SDLView: UIView {
|
||||
syncSDLWindowPosition()
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
|
@ -9,7 +9,7 @@ import UIKit
|
||||
import SwiftUI
|
||||
import SDL2
|
||||
import GameController
|
||||
|
||||
/*
|
||||
struct SDLViewRepresentable: UIViewRepresentable {
|
||||
let configure: (UInt32) -> Void
|
||||
func makeUIView(context: Context) -> SDLView {
|
||||
@ -25,3 +25,5 @@ struct SDLViewRepresentable: UIViewRepresentable {
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user