forked from MeloNX/MeloNX
Quick changes
This commit is contained in:
parent
860d4d363d
commit
464f14f143
@ -554,6 +554,11 @@
|
||||
"$(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;
|
||||
@ -646,6 +651,11 @@
|
||||
"$(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.
@ -11,8 +11,8 @@ import SDL2
|
||||
import GameController
|
||||
|
||||
struct Controller: Identifiable, Hashable {
|
||||
let id: String
|
||||
let name: String
|
||||
var id: String
|
||||
var name: String
|
||||
}
|
||||
|
||||
struct iOSNav<Content: View>: View {
|
||||
@ -205,6 +205,7 @@ class Ryujinx {
|
||||
|
||||
func getConnectedControllers() -> [Controller] {
|
||||
|
||||
|
||||
guard let jsonPtr = get_game_controllers() else {
|
||||
return []
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ struct ContentView: View {
|
||||
@State private var config: Ryujinx.Configuration
|
||||
@State private var settings: [MoltenVKSettings]
|
||||
@State private var isVirtualControllerActive: Bool = false
|
||||
@State var onscreencontroller: Controller?
|
||||
|
||||
// MARK: - Initialization
|
||||
init() {
|
||||
@ -89,11 +90,9 @@ struct ContentView: View {
|
||||
|
||||
Section("Controller") {
|
||||
Button("Refresh", action: refreshControllersList)
|
||||
|
||||
Divider()
|
||||
ForEach(controllersList, id: \.self) { controller in
|
||||
if controller.name != "Apple Touch Controller" {
|
||||
controllerRow(for: controller)
|
||||
}
|
||||
controllerRow(for: controller)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -128,15 +127,11 @@ struct ContentView: View {
|
||||
virtualController = GCVirtualController(configuration: configuration)
|
||||
virtualController?.connect()
|
||||
|
||||
controllersList.removeAll(where: { $0.name == "Apple Touch Controller" })
|
||||
}
|
||||
|
||||
private func destroyVirtualController() {
|
||||
virtualController?.disconnect()
|
||||
virtualController = nil
|
||||
|
||||
// Remove virtual controller from current controllers
|
||||
controllersList.removeAll(where: { $0.name == "Apple Touch Controller" })
|
||||
}
|
||||
|
||||
// MARK: - Helper Methods
|
||||
@ -152,33 +147,45 @@ struct ContentView: View {
|
||||
private func setupEmulation() {
|
||||
virtualController?.disconnect()
|
||||
|
||||
|
||||
controllerCallback = {
|
||||
DispatchQueue.main.async {
|
||||
controllersList = Ryujinx.shared.getConnectedControllers()
|
||||
currentControllers.removeAll(where: { $0.name == "Apple Touch Controller" })
|
||||
if controllersList.count == 2,
|
||||
controllersList.contains(where: { $0.name == "Apple Touch Controller" }) {
|
||||
currentControllers.append(controllersList[1])
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
showVirtualController()
|
||||
}
|
||||
|
||||
private func refreshControllersList() {
|
||||
Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false) { _ in
|
||||
controllersList = Ryujinx.shared.getConnectedControllers()
|
||||
controllersList.removeAll(where: { $0.id == "0" })
|
||||
var controller = controllersList.first(where: { $0.name == "Apple Touch Controller" })
|
||||
|
||||
controllersList.removeAll(where: { $0.name == "Apple Touch Controller" })
|
||||
|
||||
if let controller = controllersList.first, !controllersList.isEmpty {
|
||||
controller?.name = "On-Screen Controller"
|
||||
|
||||
onscreencontroller = controller
|
||||
|
||||
controllersList.append(controller!)
|
||||
// controllersList.removeAll(where: { $0.name == "Apple Touch Controller" })
|
||||
if controllersList.count > 2 {
|
||||
let controller = controllersList[2]
|
||||
currentControllers.append(controller)
|
||||
|
||||
} else if let controller = controllersList.first(where: { $0.id == controller?.id }), !controllersList.isEmpty {
|
||||
currentControllers.append(controller)
|
||||
}
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ namespace Ryujinx.Graphics.Vulkan
|
||||
_textures.AsSpan().Fill(initialImageInfo);
|
||||
_images.AsSpan().Fill(initialImageInfo);
|
||||
|
||||
if (gd.Capabilities.SupportsNullDescriptors && !OperatingSystem.IsIOS())
|
||||
if (gd.Capabilities.SupportsNullDescriptors)
|
||||
{
|
||||
// If null descriptors are supported, we can pass null as the handle.
|
||||
_dummyBuffer = null;
|
||||
|
Loading…
x
Reference in New Issue
Block a user