From d6e17f1f9c04192c4af6df4039624ea550193087 Mon Sep 17 00:00:00 2001 From: Pavel Barabanov Date: Wed, 30 Apr 2025 03:00:46 +0300 Subject: [PATCH] Add USE AUTO STUB to Android --- .../yuzu_emu/features/settings/model/BooleanSetting.kt | 1 + .../features/settings/model/view/SettingsItem.kt | 9 ++++++++- .../features/settings/ui/SettingsFragmentPresenter.kt | 1 + src/android/app/src/main/res/values/strings.xml | 2 ++ src/common/settings.h | 2 +- 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt index 31f8a62397..8423760e77 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt @@ -13,6 +13,7 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting { CORE_SYNC_CORE_SPEED("sync_core_speed"), RENDERER_USE_SPEED_LIMIT("use_speed_limit"), USE_DOCKED_MODE("use_docked_mode"), + USE_AUTO_STUB("use_auto_stub"), RENDERER_USE_DISK_SHADER_CACHE("use_disk_shader_cache"), RENDERER_FORCE_MAX_CLOCK("force_max_clock"), RENDERER_ASYNCHRONOUS_SHADERS("use_asynchronous_shaders"), diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt index a0ace00c0b..cc23cc065c 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt @@ -266,7 +266,13 @@ abstract class SettingsItem( descriptionId = R.string.use_docked_mode_description ) ) - + put( + SwitchSetting( + BooleanSetting.USE_AUTO_STUB, + titleId = R.string.use_auto_stub, + descriptionId = R.string.use_auto_stub_description + ) + ) put( SwitchSetting( syncCoreSpeedSetting, @@ -347,6 +353,7 @@ abstract class SettingsItem( valuesId = R.array.vramUsageMethodValues ) ) + put( SingleChoiceSetting( IntSetting.RENDERER_RESOLUTION, diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt index cfdfce7276..c68be2dfa3 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt @@ -260,6 +260,7 @@ class SettingsFragmentPresenter( add(BooleanSetting.RENDERER_USE_SPEED_LIMIT.key) add(ShortSetting.RENDERER_SPEED_LIMIT.key) add(BooleanSetting.USE_DOCKED_MODE.key) + add(BooleanSetting.USE_AUTO_STUB.key) add(IntSetting.REGION_INDEX.key) add(IntSetting.LANGUAGE_INDEX.key) add(BooleanSetting.USE_CUSTOM_RTC.key) diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index e47d1df498..0fffd1b00f 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -256,6 +256,8 @@ Device name Docked Mode Increases resolution, decreasing performance. Handheld Mode is used when disabled, lowering resolution and increasing performance. + Use Auto Stub + Automatically stub missing services and functions. This may improve compatibility but can cause crashes and stability issues. Emulated region Emulated language Select RTC date diff --git a/src/common/settings.h b/src/common/settings.h index b16106985b..6596c2c764 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -621,7 +621,7 @@ struct Values { linkage, false, "extended_logging", Category::Debugging, Specialization::Default, false}; Setting use_debug_asserts{linkage, false, "use_debug_asserts", Category::Debugging}; Setting use_auto_stub{ - linkage, false, "use_auto_stub", Category::Debugging, Specialization::Default, false}; + linkage, false, "use_auto_stub", Category::Debugging}; Setting enable_all_controllers{linkage, false, "enable_all_controllers", Category::Debugging}; Setting perform_vulkan_check{linkage, true, "perform_vulkan_check", Category::Debugging};