forked from MeloNX/MeloNX
Add multiple missing settings
This commit is contained in:
parent
11305c2aac
commit
7dde0d254a
Binary file not shown.
@ -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>SchemeUserState</key>
|
||||||
|
<dict>
|
||||||
|
<key>MeloNX.xcscheme_^#shared#^_</key>
|
||||||
|
<dict>
|
||||||
|
<key>orderHint</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</dict>
|
||||||
|
<key>Ryujinx.xcscheme_^#shared#^_</key>
|
||||||
|
<dict>
|
||||||
|
<key>orderHint</key>
|
||||||
|
<integer>4</integer>
|
||||||
|
</dict>
|
||||||
|
<key>com.Stossy11.MeloNX.RyujinxAg.xcscheme_^#shared#^_</key>
|
||||||
|
<dict>
|
||||||
|
<key>orderHint</key>
|
||||||
|
<integer>3</integer>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -56,6 +56,11 @@ class Ryujinx {
|
|||||||
var disableDockedMode: Bool
|
var disableDockedMode: Bool
|
||||||
var enableTextureRecompression: Bool
|
var enableTextureRecompression: Bool
|
||||||
var additionalArgs: [String]
|
var additionalArgs: [String]
|
||||||
|
var maxAnisotropy: Float
|
||||||
|
var macroHLE: Bool
|
||||||
|
var ignoreMissingServices: Bool
|
||||||
|
var expandRam: Bool
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
init(gamepath: String,
|
init(gamepath: String,
|
||||||
@ -72,7 +77,10 @@ class Ryujinx {
|
|||||||
enableTextureRecompression: Bool = true,
|
enableTextureRecompression: Bool = true,
|
||||||
additionalArgs: [String] = [],
|
additionalArgs: [String] = [],
|
||||||
resscale: Float = 1.00,
|
resscale: Float = 1.00,
|
||||||
hypervisor: Bool = false
|
maxAnisotropy: Float = 0,
|
||||||
|
macroHLE: Bool = false,
|
||||||
|
ignoreMissingServices: Bool = false,
|
||||||
|
expandRam: Bool = false
|
||||||
) {
|
) {
|
||||||
self.gamepath = gamepath
|
self.gamepath = gamepath
|
||||||
self.inputids = inputids
|
self.inputids = inputids
|
||||||
@ -88,7 +96,10 @@ class Ryujinx {
|
|||||||
self.resscale = resscale
|
self.resscale = resscale
|
||||||
self.nintendoinput = nintendoinput
|
self.nintendoinput = nintendoinput
|
||||||
self.enableInternet = enableInternet
|
self.enableInternet = enableInternet
|
||||||
self.hypervisor = hypervisor
|
self.maxAnisotropy = maxAnisotropy
|
||||||
|
self.macroHLE = macroHLE
|
||||||
|
self.expandRam = expandRam
|
||||||
|
self.ignoreMissingServices = ignoreMissingServices
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -182,6 +193,22 @@ class Ryujinx {
|
|||||||
args.append(contentsOf: ["--resolution-scale", String(config.resscale)])
|
args.append(contentsOf: ["--resolution-scale", String(config.resscale)])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if config.expandRam {
|
||||||
|
args.append(contentsOf: ["--expand-ram", String(config.maxAnisotropy)])
|
||||||
|
}
|
||||||
|
|
||||||
|
if config.ignoreMissingServices {
|
||||||
|
args.append(contentsOf: ["--ignore-missing-services", String(config.maxAnisotropy)])
|
||||||
|
}
|
||||||
|
|
||||||
|
if config.maxAnisotropy != 0 {
|
||||||
|
args.append(contentsOf: ["--max-anisotropy", String(config.maxAnisotropy)])
|
||||||
|
}
|
||||||
|
|
||||||
|
if !config.macroHLE {
|
||||||
|
args.append("--disable-macro-hle")
|
||||||
|
}
|
||||||
|
|
||||||
if !config.disableShaderCache { // same with disableShaderCache
|
if !config.disableShaderCache { // same with disableShaderCache
|
||||||
args.append("--disable-shader-cache")
|
args.append("--disable-shader-cache")
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ struct SettingsView: View {
|
|||||||
@AppStorage("performacehud") var performacehud: Bool = false
|
@AppStorage("performacehud") var performacehud: Bool = false
|
||||||
|
|
||||||
@State private var showResolutionInfo = false
|
@State private var showResolutionInfo = false
|
||||||
|
@State private var showAnisotropicInfo = false
|
||||||
@State private var searchText = ""
|
@State private var searchText = ""
|
||||||
|
|
||||||
var filteredMemoryModes: [(String, String)] {
|
var filteredMemoryModes: [(String, String)] {
|
||||||
@ -67,6 +68,10 @@ struct SettingsView: View {
|
|||||||
}
|
}
|
||||||
.tint(.blue)
|
.tint(.blue)
|
||||||
|
|
||||||
|
Toggle(isOn: $config.macroHLE) {
|
||||||
|
labelWithIcon("Macro HLE", iconName: "gearshape")
|
||||||
|
}.tint(.blue)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VStack(alignment: .leading, spacing: 10) {
|
VStack(alignment: .leading, spacing: 10) {
|
||||||
@ -109,6 +114,46 @@ struct SettingsView: View {
|
|||||||
}
|
}
|
||||||
.padding(.vertical, 8)
|
.padding(.vertical, 8)
|
||||||
|
|
||||||
|
VStack(alignment: .leading, spacing: 10) {
|
||||||
|
HStack {
|
||||||
|
labelWithIcon("Max Anisotropic Scale", iconName: "magnifyingglass")
|
||||||
|
.font(.headline)
|
||||||
|
Spacer()
|
||||||
|
Button {
|
||||||
|
showAnisotropicInfo.toggle()
|
||||||
|
} label: {
|
||||||
|
Image(systemName: "info.circle")
|
||||||
|
.symbolRenderingMode(.hierarchical)
|
||||||
|
.foregroundStyle(.secondary)
|
||||||
|
}
|
||||||
|
.buttonStyle(.plain)
|
||||||
|
.help("Learn more about Max Anisotropic Scale")
|
||||||
|
.alert(isPresented: $showAnisotropicInfo) {
|
||||||
|
Alert(
|
||||||
|
title: Text("Max Anisotripic Scale"),
|
||||||
|
message: Text("Adjust the internal Anisotropic resolution. Higher values improve visuals but may reduce performance. Default at 0 lets game decide."),
|
||||||
|
dismissButton: .default(Text("OK"))
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Slider(value: $config.maxAnisotropy, in: 0...16.0, step: 0.1) {
|
||||||
|
Text("Resolution Scale")
|
||||||
|
} minimumValueLabel: {
|
||||||
|
Text("0x")
|
||||||
|
.font(.footnote)
|
||||||
|
.foregroundColor(.secondary)
|
||||||
|
} maximumValueLabel: {
|
||||||
|
Text("16.0x")
|
||||||
|
.font(.footnote)
|
||||||
|
.foregroundColor(.secondary)
|
||||||
|
}
|
||||||
|
Text("\(config.maxAnisotropy, specifier: "%.2f")x")
|
||||||
|
.font(.subheadline)
|
||||||
|
.foregroundColor(.secondary)
|
||||||
|
}
|
||||||
|
.padding(.vertical, 8)
|
||||||
|
|
||||||
Toggle(isOn: $performacehud) {
|
Toggle(isOn: $performacehud) {
|
||||||
labelWithIcon("Performance Overlay", iconName: "speedometer")
|
labelWithIcon("Performance Overlay", iconName: "speedometer")
|
||||||
}
|
}
|
||||||
@ -229,28 +274,6 @@ struct SettingsView: View {
|
|||||||
labelWithIcon("Memory Manager Mode", iconName: "gearshape")
|
labelWithIcon("Memory Manager Mode", iconName: "gearshape")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if let cpuInfo = getCPUInfo(), cpuInfo.hasPrefix("Apple M") {
|
|
||||||
if #available (iOS 16.4, *), (false) {
|
|
||||||
Toggle(isOn: .constant(false)) {
|
|
||||||
labelWithIcon("Hypervisor", iconName: "bolt.fill")
|
|
||||||
}
|
|
||||||
.tint(.blue)
|
|
||||||
.disabled(true)
|
|
||||||
.onAppear() {
|
|
||||||
print("CPU Info: \(cpuInfo)")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Toggle(isOn: $config.hypervisor) {
|
|
||||||
labelWithIcon("Hypervisor", iconName: "bolt.fill")
|
|
||||||
}
|
|
||||||
.tint(.blue)
|
|
||||||
.onAppear() {
|
|
||||||
print("CPU Info: \(cpuInfo)")
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} header: {
|
} header: {
|
||||||
Text("CPU Mode")
|
Text("CPU Mode")
|
||||||
.font(.title3.weight(.semibold))
|
.font(.title3.weight(.semibold))
|
||||||
@ -259,8 +282,27 @@ struct SettingsView: View {
|
|||||||
} footer: {
|
} footer: {
|
||||||
Text("Select how memory is managed. 'Host (fast)' is best for most users.")
|
Text("Select how memory is managed. 'Host (fast)' is best for most users.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Section {
|
||||||
|
|
||||||
|
|
||||||
|
Toggle(isOn: $config.expandRam) {
|
||||||
|
labelWithIcon("Expand Guest Ram (6GB)", iconName: "exclamationmark.bubble")
|
||||||
|
}
|
||||||
|
.tint(.red)
|
||||||
|
|
||||||
|
Toggle(isOn: $config.ignoreMissingServices) {
|
||||||
|
labelWithIcon("Ignore Missing Services", iconName: "waveform.path")
|
||||||
|
}
|
||||||
|
.tint(.red)
|
||||||
|
} header: {
|
||||||
|
Text("Hacks")
|
||||||
|
.font(.title3.weight(.semibold))
|
||||||
|
.textCase(nil)
|
||||||
|
.headerProminence(.increased)
|
||||||
|
}
|
||||||
|
|
||||||
// Other Settings
|
// Other Settings
|
||||||
Section {
|
Section {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user