diff --git a/src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate b/src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate index ebffcfcce..d2352d7bb 100644 Binary files a/src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate and b/src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/src/MeloNX/MeloNX/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json b/src/MeloNX/MeloNX/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json index 230588010..635ee3d18 100644 --- a/src/MeloNX/MeloNX/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/src/MeloNX/MeloNX/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,6 +1,7 @@ { "images" : [ { + "filename" : "nxgradientpng.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/src/MeloNX/MeloNX/Assets/Assets.xcassets/AppIcon.appiconset/nxgradientpng.png b/src/MeloNX/MeloNX/Assets/Assets.xcassets/AppIcon.appiconset/nxgradientpng.png new file mode 100644 index 000000000..421f7d484 Binary files /dev/null and b/src/MeloNX/MeloNX/Assets/Assets.xcassets/AppIcon.appiconset/nxgradientpng.png differ diff --git a/src/MeloNX/MeloNX/Core/Swift/Ryujinx.swift b/src/MeloNX/MeloNX/Core/Swift/Ryujinx.swift index 6f589cf5f..6f032f814 100644 --- a/src/MeloNX/MeloNX/Core/Swift/Ryujinx.swift +++ b/src/MeloNX/MeloNX/Core/Swift/Ryujinx.swift @@ -158,7 +158,7 @@ class Ryujinx { } if config.nintendoinput { - // args.append("--correct-ons-controller") + args.append("--correct-ons-controller") } if config.enableInternet { args.append("--enable-internet-connection") diff --git a/src/MeloNX/MeloNX/Views/ContentView.swift b/src/MeloNX/MeloNX/Views/ContentView.swift index 96eeda36b..ff163bbf1 100644 --- a/src/MeloNX/MeloNX/Views/ContentView.swift +++ b/src/MeloNX/MeloNX/Views/ContentView.swift @@ -25,7 +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? + @State var onscreencontroller: Controller = Controller(id: "", name: "") // MARK: - Initialization init() { @@ -85,6 +85,9 @@ struct ContentView: View { Section("Settings") { NavigationLink("Config") { SettingsView(config: $config, MoltenVKSettings: $settings) + .onAppear() { + virtualController?.disconnect() + } } } @@ -171,21 +174,13 @@ struct ContentView: View { private func refreshControllersList() { Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false) { _ in controllersList = Ryujinx.shared.getConnectedControllers() - var controller = controllersList.first(where: { $0.name == "Apple Touch Controller" }) - - controllersList.removeAll(where: { $0.name == "Apple Touch Controller" }) - - controller?.name = "On-Screen Controller" - - onscreencontroller = controller - - controllersList.append(controller!) - // controllersList.removeAll(where: { $0.name == "Apple Touch Controller" }) + 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 == controller?.id }), !controllersList.isEmpty { + } else if let controller = controllersList.first(where: { $0.id == onscreencontroller.id }), !controllersList.isEmpty { currentControllers.append(controller) } }