Eden’s Veil setting
This commit is contained in:
parent
73d973dad6
commit
b43dfff894
7 changed files with 399 additions and 6 deletions
|
@ -11,6 +11,11 @@ enum class IntSetting(override val key: String) : AbstractIntSetting {
|
|||
REGION_INDEX("region_index"),
|
||||
LANGUAGE_INDEX("language_index"),
|
||||
RENDERER_BACKEND("backend"),
|
||||
RENDERER_VRAM_USAGE_MODE("vram_usage_mode"),
|
||||
RENDERER_SHADER_BACKEND("shader_backend"),
|
||||
RENDERER_NVDEC_EMULATION("nvdec_emulation"),
|
||||
RENDERER_ASTC_DECODE_METHOD("accelerate_astc"),
|
||||
RENDERER_ASTC_RECOMPRESSION("astc_recompression"),
|
||||
RENDERER_ACCURACY("gpu_accuracy"),
|
||||
RENDERER_RESOLUTION("resolution_setup"),
|
||||
RENDERER_VSYNC("use_vsync"),
|
||||
|
|
|
@ -23,7 +23,8 @@ object Settings {
|
|||
SECTION_INPUT_PLAYER_SEVEN,
|
||||
SECTION_INPUT_PLAYER_EIGHT,
|
||||
SECTION_THEME(R.string.preferences_theme),
|
||||
SECTION_DEBUG(R.string.preferences_debug);
|
||||
SECTION_DEBUG(R.string.preferences_debug),
|
||||
SECTION_EDEN_VEIL(R.string.eden_veil);
|
||||
}
|
||||
|
||||
fun getPlayerString(player: Int): String =
|
||||
|
|
|
@ -289,6 +289,46 @@ abstract class SettingsItem(
|
|||
valuesId = R.array.rendererAccuracyValues
|
||||
)
|
||||
)
|
||||
put(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_SHADER_BACKEND,
|
||||
titleId = R.string.shader_backend,
|
||||
choicesId = R.array.rendererShaderNames,
|
||||
valuesId = R.array.rendererShaderValues
|
||||
)
|
||||
)
|
||||
put(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_NVDEC_EMULATION,
|
||||
titleId = R.string.nvdec_emulation,
|
||||
choicesId = R.array.rendererNvdecNames,
|
||||
valuesId = R.array.rendererNvdecValues
|
||||
)
|
||||
)
|
||||
put(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_ASTC_DECODE_METHOD,
|
||||
titleId = R.string.accelerate_astc,
|
||||
choicesId = R.array.astcDecodingMethodNames,
|
||||
valuesId = R.array.astcDecodingMethodValues
|
||||
)
|
||||
)
|
||||
put(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_ASTC_RECOMPRESSION,
|
||||
titleId = R.string.astc_recompression,
|
||||
choicesId = R.array.astcRecompressionMethodNames,
|
||||
valuesId = R.array.astcRecompressionMethodValues
|
||||
)
|
||||
)
|
||||
put(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_VRAM_USAGE_MODE,
|
||||
titleId = R.string.vram_usage_mode,
|
||||
choicesId = R.array.vramUsageMethodNames,
|
||||
valuesId = R.array.vramUsageMethodValues
|
||||
)
|
||||
)
|
||||
put(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_RESOLUTION,
|
||||
|
|
|
@ -100,6 +100,7 @@ class SettingsFragmentPresenter(
|
|||
MenuTag.SECTION_INPUT_PLAYER_EIGHT -> addInputPlayer(sl, 7)
|
||||
MenuTag.SECTION_THEME -> addThemeSettings(sl)
|
||||
MenuTag.SECTION_DEBUG -> addDebugSettings(sl)
|
||||
MenuTag.SECTION_EDEN_VEIL -> addEdenVeilSettings(sl)
|
||||
}
|
||||
settingsList = sl
|
||||
adapter.submitList(settingsList) {
|
||||
|
@ -143,6 +144,14 @@ class SettingsFragmentPresenter(
|
|||
menuKey = MenuTag.SECTION_DEBUG
|
||||
)
|
||||
)
|
||||
add(
|
||||
SubmenuSetting(
|
||||
titleId = R.string.eden_veil,
|
||||
descriptionId = R.string.eden_veil_description,
|
||||
iconId = R.drawable.ic_eden_veil,
|
||||
menuKey = MenuTag.SECTION_EDEN_VEIL
|
||||
)
|
||||
)
|
||||
add(
|
||||
RunnableSetting(
|
||||
titleId = R.string.reset_to_default,
|
||||
|
@ -154,12 +163,92 @@ class SettingsFragmentPresenter(
|
|||
}
|
||||
}
|
||||
|
||||
private val InterpolationSetting = object : AbstractBooleanSetting {
|
||||
override val key = BooleanSetting.FRAME_INTERPOLATION.key
|
||||
|
||||
override fun getBoolean(needsGlobal: Boolean): Boolean {
|
||||
return BooleanSetting.FRAME_INTERPOLATION.getBoolean(needsGlobal)
|
||||
}
|
||||
|
||||
override fun setBoolean(value: Boolean) {
|
||||
BooleanSetting.FRAME_INTERPOLATION.setBoolean(value)
|
||||
}
|
||||
|
||||
override val defaultValue = BooleanSetting.FRAME_INTERPOLATION.defaultValue
|
||||
|
||||
override fun getValueAsString(needsGlobal: Boolean): String =
|
||||
BooleanSetting.FRAME_INTERPOLATION.getValueAsString(needsGlobal)
|
||||
|
||||
override fun reset() = BooleanSetting.FRAME_INTERPOLATION.reset()
|
||||
}
|
||||
|
||||
private val syncCoreSpeedSetting = object : AbstractBooleanSetting {
|
||||
override val key = BooleanSetting.CORE_SYNC_CORE_SPEED.key
|
||||
|
||||
override fun getBoolean(needsGlobal: Boolean): Boolean {
|
||||
return BooleanSetting.CORE_SYNC_CORE_SPEED.getBoolean(needsGlobal)
|
||||
}
|
||||
|
||||
override fun setBoolean(value: Boolean) {
|
||||
BooleanSetting.CORE_SYNC_CORE_SPEED.setBoolean(value)
|
||||
}
|
||||
|
||||
override val defaultValue = BooleanSetting.CORE_SYNC_CORE_SPEED.defaultValue
|
||||
|
||||
override fun getValueAsString(needsGlobal: Boolean): String =
|
||||
BooleanSetting.CORE_SYNC_CORE_SPEED.getValueAsString(needsGlobal)
|
||||
|
||||
override fun reset() = BooleanSetting.CORE_SYNC_CORE_SPEED.reset()
|
||||
}
|
||||
|
||||
private val frameSkippingSetting = object : AbstractBooleanSetting {
|
||||
override val key = BooleanSetting.FRAME_SKIPPING.key
|
||||
|
||||
override fun getBoolean(needsGlobal: Boolean): Boolean {
|
||||
return BooleanSetting.FRAME_SKIPPING.getBoolean(needsGlobal)
|
||||
}
|
||||
|
||||
override fun setBoolean(value: Boolean) {
|
||||
BooleanSetting.FRAME_SKIPPING.setBoolean(value)
|
||||
}
|
||||
|
||||
override val defaultValue = BooleanSetting.FRAME_SKIPPING.defaultValue
|
||||
|
||||
override fun getValueAsString(needsGlobal: Boolean): String =
|
||||
BooleanSetting.FRAME_SKIPPING.getValueAsString(needsGlobal)
|
||||
|
||||
override fun reset() = BooleanSetting.FRAME_SKIPPING.reset()
|
||||
}
|
||||
|
||||
private fun addEdenVeilSubmenu(sl: ArrayList<SettingsItem>) {
|
||||
sl.apply {
|
||||
add(
|
||||
SubmenuSetting(
|
||||
titleId = R.string.eden_veil,
|
||||
descriptionId = R.string.eden_veil_description,
|
||||
iconId = R.drawable.ic_code,
|
||||
menuKey = MenuTag.SECTION_EDEN_VEIL
|
||||
)
|
||||
)
|
||||
addEdenVeilSettings(sl)
|
||||
|
||||
add(BooleanSetting.FRAME_INTERPOLATION.key)
|
||||
add(BooleanSetting.FRAME_SKIPPING.key)
|
||||
add(BooleanSetting.CORE_SYNC_CORE_SPEED.key)
|
||||
add(IntSetting.RENDERER_SHADER_BACKEND.key)
|
||||
add(IntSetting.RENDERER_OPTIMIZE_SPIRV_OUTPUT.key)
|
||||
add(IntSetting.RENDERER_NVDEC_EMULATION.key)
|
||||
add(IntSetting.RENDERER_ASTC_DECODE_METHOD.key)
|
||||
add(IntSetting.RENDERER_ASTC_RECOMPRESSION.key)
|
||||
add(IntSetting.RENDERER_VRAM_USAGE_MODE.key)
|
||||
}
|
||||
}
|
||||
|
||||
private fun addSystemSettings(sl: ArrayList<SettingsItem>) {
|
||||
sl.apply {
|
||||
add(StringSetting.DEVICE_NAME.key)
|
||||
add(BooleanSetting.RENDERER_USE_SPEED_LIMIT.key)
|
||||
add(ShortSetting.RENDERER_SPEED_LIMIT.key)
|
||||
add(BooleanSetting.CORE_SYNC_CORE_SPEED.key)
|
||||
add(BooleanSetting.USE_DOCKED_MODE.key)
|
||||
add(IntSetting.REGION_INDEX.key)
|
||||
add(IntSetting.LANGUAGE_INDEX.key)
|
||||
|
@ -170,8 +259,6 @@ class SettingsFragmentPresenter(
|
|||
|
||||
private fun addGraphicsSettings(sl: ArrayList<SettingsItem>) {
|
||||
sl.apply {
|
||||
add(BooleanSetting.FRAME_INTERPOLATION.key)
|
||||
add(BooleanSetting.FRAME_SKIPPING.key)
|
||||
add(IntSetting.RENDERER_ACCURACY.key)
|
||||
add(IntSetting.RENDERER_RESOLUTION.key)
|
||||
add(IntSetting.RENDERER_VSYNC.key)
|
||||
|
@ -182,7 +269,6 @@ class SettingsFragmentPresenter(
|
|||
add(IntSetting.RENDERER_SCREEN_LAYOUT.key)
|
||||
add(IntSetting.RENDERER_ASPECT_RATIO.key)
|
||||
add(IntSetting.VERTICAL_ALIGNMENT.key)
|
||||
add(IntSetting.RENDERER_OPTIMIZE_SPIRV_OUTPUT.key)
|
||||
add(BooleanSetting.PICTURE_IN_PICTURE.key)
|
||||
add(BooleanSetting.RENDERER_USE_DISK_SHADER_CACHE.key)
|
||||
add(BooleanSetting.RENDERER_FORCE_MAX_CLOCK.key)
|
||||
|
@ -342,7 +428,79 @@ class SettingsFragmentPresenter(
|
|||
override val isSaveable = true
|
||||
}
|
||||
}
|
||||
|
||||
private fun addEdenVeilSettings(sl: ArrayList<SettingsItem>) {
|
||||
sl.apply {
|
||||
add(
|
||||
SwitchSetting(
|
||||
InterpolationSetting, // The interpolation setting object you've created
|
||||
titleId = R.string.frame_interpolation, // Use appropriate string resources for the title
|
||||
descriptionId = R.string.frame_interpolation_description // Description resource for the interpolation setting
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
frameSkippingSetting,
|
||||
titleId = R.string.frame_skipping,
|
||||
descriptionId = R.string.frame_skipping_description
|
||||
)
|
||||
)
|
||||
add(
|
||||
SwitchSetting(
|
||||
syncCoreSpeedSetting,
|
||||
titleId = R.string.use_sync_core,
|
||||
descriptionId = R.string.use_sync_core_description
|
||||
)
|
||||
)
|
||||
add(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_SHADER_BACKEND,
|
||||
titleId = R.string.shader_backend,
|
||||
choicesId = R.array.rendererShaderNames,
|
||||
valuesId = R.array.rendererShaderValues
|
||||
)
|
||||
)
|
||||
add(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_NVDEC_EMULATION,
|
||||
titleId = R.string.nvdec_emulation,
|
||||
choicesId = R.array.rendererNvdecNames,
|
||||
valuesId = R.array.rendererNvdecValues
|
||||
)
|
||||
)
|
||||
add(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_ASTC_DECODE_METHOD,
|
||||
titleId = R.string.accelerate_astc,
|
||||
choicesId = R.array.astcDecodingMethodNames,
|
||||
valuesId = R.array.astcDecodingMethodValues
|
||||
)
|
||||
)
|
||||
add(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_ASTC_RECOMPRESSION,
|
||||
titleId = R.string.astc_recompression,
|
||||
choicesId = R.array.astcRecompressionMethodNames,
|
||||
valuesId = R.array.astcRecompressionMethodValues
|
||||
)
|
||||
)
|
||||
add(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_VRAM_USAGE_MODE,
|
||||
titleId = R.string.vram_usage_mode,
|
||||
choicesId = R.array.vramUsageMethodNames,
|
||||
valuesId = R.array.vramUsageMethodValues
|
||||
)
|
||||
)
|
||||
add(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_OPTIMIZE_SPIRV_OUTPUT,
|
||||
titleId = R.string.renderer_optimize_spirv_output,
|
||||
choicesId = R.array.optimizeSpirvOutputEntries,
|
||||
valuesId = R.array.optimizeSpirvOutputValues
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
private fun addInputPlayer(sl: ArrayList<SettingsItem>, playerIndex: Int) {
|
||||
sl.apply {
|
||||
val connectedSetting = object : AbstractBooleanSetting {
|
||||
|
|
85
src/android/app/src/main/res/drawable/ic_eden_veil.xml
Normal file
85
src/android/app/src/main/res/drawable/ic_eden_veil.xml
Normal file
|
@ -0,0 +1,85 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
|
||||
<group
|
||||
android:scaleX="0.1"
|
||||
android:scaleY="-0.1"
|
||||
android:translateY="960">
|
||||
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M3006,9500 c-276,-35 -669,-178 -886,-322 -102,-68 -96,-75 91,-114
|
||||
335,-68 658,-178 1036,-350 90,-41 165,-74 168,-74 3,0 62,25 132,54 71,30
|
||||
166,66 213,79 102,30 200,44 200,29 0,-6 -7,-45 -15,-87 -9,-50 -11,-83 -5
|
||||
-94 5,-9 124,-131 266,-271 141,-140 273,-275 294,-300 l38,-45 -112,8 c-165
|
||||
12 -727,1 -881,-18 -222,-27 -322,-46 -489,-97 -247,-75 -491,-218 -801,-473
|
||||
-174,-143 -492,-484 -553,-593 -22,-40 -22,-41 -4,-51 16,-8 40,0 124,44 230
|
||||
120,818,340,1127,420 316,83,691,146,951,160 l125,7 -70,-65 c-146,-135 -328
|
||||
-353 -464,-557 -277,-415 -526,-1018 -602,-1460 -30,-171 -8,-451 38,-502 40
|
||||
-44,69,-6,124,160 97,295,229,598,339,777 207,339,558,745,799,924 143,106
|
||||
352,222,500,278 l64,24 -7,-23 c-3,-13 -13,-52 -21,-88 -8,-36 -30,-129 -48
|
||||
-207 l-34,-143 212,0 212,0 38,153 c21,83 49,187 62,230 l24,77 72,-49 c157
|
||||
-106,270,-202,452,-385 407,-408,671,-778,943,-1321 39,-77 74,-152 77,-167
|
||||
26,-104,113,113,137,338 9,89,9,149,0,267 -34,427 -135,757 -320,1042 -62,95
|
||||
-247,278 -352,347 -141,93 -398,214 -588,278 l-113,38 48,11 c246,55,405,67
|
||||
681,52 620,-35,1063,-138,1615,-376 105,-45,127,-39,82,22 -118,156 -331,374
|
||||
-470,479 -325,247 -572,353 -985,425 -165,29 -465,32 -579,6 -114,-27 -246
|
||||
-73 -359,-127 l-103,-49 22,37 c100,165,255,346,515,602 277,273,518,462,815
|
||||
641,179,107,178,126 -6,128 -238,3 -576,-84 -872,-224 -331,-157 -698,-421
|
||||
-880,-634 -35,-42 -68,-76 -73,-76 -4,0 -54,61 -110,135 -449,594 -924,958
|
||||
-1375,1055 -84,18 -362,27 -459,15z"/>
|
||||
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M4613,6403 c-4,-16 -30,-129 -58,-253 l-52,-225 220,-3 c121,-1 222
|
||||
0,225,3 3,2 20,87 38,187 18,101 38,207 43,237 6,29 11,60 11,67 0,11 -39,14
|
||||
-210,14 l-210,0 -7,-27z"/>
|
||||
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M4472,5773 c-6,-32 -32,-157 -57,-277 -25,-121 -45,-228 -45,-238 0
|
||||
-17,15,-18,239,-18 l239,0 5,33 c22,151,59,393,67,442 5,33,10,72,10,88 l0,27
|
||||
-224,0 -224,0 -10,-57z"/>
|
||||
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M4346,5128 c-22,-102 -76,-441 -76,-477 0,-8 76,-11 264,-11 l264,0
|
||||
7,98 c12,186,26,347,31,380 l6,32 -246,0 -246,0 -4,-22z"/>
|
||||
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M4256,4528 c-4,-12 -20,-182 -46,-471 -6,-65 -8,-122 -5,-128 10,-15
|
||||
565,-12 569,4 3,6 7,146 10,310 l7,297 -266,0 c-204,0 -267,-3 -269,-12z"/>
|
||||
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M4196,3798 c-4,-31 -26,-512 -26,-570 l0,-28 330,0 331,0 -5,33 c-6
|
||||
35,-22,228,-36,452 -5,77,-10,141,-10,143 0,1 -130,2 -290,2 l-289,0 -5,-32z"/>
|
||||
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M4170,2845 l0,-265 365,0 c353,0,365,1,365,19 0,21 -25,219 -40,321
|
||||
-5,36,-13,93,-16,128 l-7,62 -333,0 -334,0 0,-265z"/>
|
||||
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M4180,2473 c1,-59 42,-436 57,-520 l5,-33 390,0 c366,0,389,1,384,18
|
||||
-2,9,-12,55,-20,102 -9,47,-20,108,-26,135 -5,28,-16,93,-25,145 -8,52,-18
|
||||
110,-21,128 l-5,32 -369,0 c-204,0,-370,-3,-370,-7z"/>
|
||||
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M4260,1806 c0,-43 87,-485 121,-613 l12,-43 413,0 c229,0,414,4,414
|
||||
9 0,5,-15,60,-34,122 -35,114,-108,377,-120,434 -4,17,-12,47,-17,68 l-10,37
|
||||
-389,0 c-323,0,-390,-2,-390,-14z"/>
|
||||
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M4420,1037 c0,-56 211,-761 297,-994 l16,-43 493,0 c272,0,494,1,494
|
||||
3 0,2,-28,53,-61,113 -140,250,-260,520,-356,802 l-45,132 -419,0 c-339,0
|
||||
-419,-2,-419,-13z"/>
|
||||
</group>
|
||||
</vector>
|
|
@ -85,6 +85,72 @@
|
|||
<item>2</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="rendererShaderNames">
|
||||
<item>@string/shader_backend_glsl</item>
|
||||
<item>@string/shader_backend_glasm</item>
|
||||
<item>@string/shader_backend_spirv</item>
|
||||
</string-array>
|
||||
|
||||
<integer-array name="rendererShaderValues">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
</integer-array>
|
||||
|
||||
<!-- VRAM USAGE MODE CHOICES -->
|
||||
<string-array name="vramUsageMethodNames">
|
||||
<item>@string/vram_usage_conservative</item>
|
||||
<item>@string/vram_usage_aggressive</item>
|
||||
</string-array>
|
||||
|
||||
<!-- VRAM USAGE MODE VALUES -->
|
||||
<integer-array name="vramUsageMethodValues">
|
||||
<item>0</item> <!-- Conservative -->
|
||||
<item>1</item> <!-- Aggressive -->
|
||||
</integer-array>
|
||||
|
||||
<!-- ASTC Decoding Method Choices -->
|
||||
<string-array name="astcDecodingMethodNames">
|
||||
<item>@string/accelerate_astc_cpu</item>
|
||||
<item>@string/accelerate_astc_gpu</item>
|
||||
<item>@string/accelerate_astc_async</item>
|
||||
</string-array>
|
||||
|
||||
<!-- ASTC Decoding Method Values -->
|
||||
<integer-array name="astcDecodingMethodValues">
|
||||
<item>0</item> <!-- CPU -->
|
||||
<item>1</item> <!-- GPU -->
|
||||
<item>2</item> <!-- CPU Asynchronously -->
|
||||
</integer-array>
|
||||
|
||||
<!-- ASTC Recompression Method Choices -->
|
||||
<string-array name="astcRecompressionMethodNames">
|
||||
<item>@string/astc_recompression_uncompressed</item>
|
||||
<item>@string/astc_recompression_bc1</item>
|
||||
<item>@string/astc_recompression_bc3</item>
|
||||
</string-array>
|
||||
|
||||
<!-- ASTC Recompression Method Values -->
|
||||
<integer-array name="astcRecompressionMethodValues">
|
||||
<item>0</item> <!-- Uncompressed -->
|
||||
<item>1</item> <!-- BC1 -->
|
||||
<item>2</item> <!-- BC3 -->
|
||||
</integer-array>
|
||||
|
||||
<!-- NVDEC Emulation Choices -->
|
||||
<string-array name="rendererNvdecNames">
|
||||
<item>@string/nvdec_emulation_none</item> <!-- Off -->
|
||||
<item>@string/nvdec_emulation_cpu</item> <!-- Cpu -->
|
||||
<item>@string/nvdec_emulation_gpu</item> <!-- Gpu -->
|
||||
</string-array>
|
||||
|
||||
<!-- NVDEC Emulation Values -->
|
||||
<integer-array name="rendererNvdecValues">
|
||||
<item>3</item> <!-- Off value -->
|
||||
<item>1</item> <!-- CPU value -->
|
||||
<item>2</item> <!-- GPU value -->
|
||||
</integer-array>
|
||||
|
||||
<string-array name="rendererResolutionNames">
|
||||
<item>@string/resolution_half</item>
|
||||
<item>@string/resolution_three_quarter</item>
|
||||
|
|
|
@ -258,6 +258,9 @@
|
|||
<string name="use_disk_shader_cache_description">Reduces stuttering by locally storing and loading generated shaders.</string>
|
||||
<string name="anisotropic_filtering">Anisotropic filtering</string>
|
||||
<string name="anisotropic_filtering_description">Improves the quality of textures when viewed at oblique angles</string>
|
||||
<string name="nvdec_emulation">NVDEC Emulation</string>
|
||||
<string name="nvdec_emulation_description">Specifies how videos should be decoded. It can either use the CPU or the GPU for decoding, or perform no decoding at all (black screen on videos). In most cases, GPU decoding provides the best performance.</string>
|
||||
<string name="shader_backend">Shader Backend</string>
|
||||
|
||||
<!-- Debug settings strings -->
|
||||
<string name="cpu">CPU</string>
|
||||
|
@ -361,6 +364,8 @@
|
|||
<string name="reset_mapping_description">Are you sure that you want to reset all mappings for this controller to default? This cannot be undone.</string>
|
||||
|
||||
<!-- Miscellaneous -->
|
||||
<string name="eden_veil">Eden’s Veil</string>
|
||||
<string name="eden_veil_description">Beyond default</string>
|
||||
<string name="slider_default">Default</string>
|
||||
<string name="ini_saved">Saved settings</string>
|
||||
<string name="gameid_saved">Saved settings for %1$s</string>
|
||||
|
@ -571,11 +576,44 @@
|
|||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">None</string>
|
||||
|
||||
<!-- Shader Backend -->
|
||||
<string name="shader_backend_glsl">GLSL</string>
|
||||
<string name="shader_backend_glasm">GLASM</string>
|
||||
<string name="shader_backend_spirv">SPIR-V</string>
|
||||
|
||||
<!-- NVDEC Emulation -->
|
||||
<string name="nvdec_emulation_cpu">CPU</string>
|
||||
<string name="nvdec_emulation_gpu">GPU</string>
|
||||
<string name="nvdec_emulation_none">None</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normal</string>
|
||||
<string name="renderer_accuracy_high">High</string>
|
||||
<string name="renderer_accuracy_extreme">Extreme (Slow)</string>
|
||||
|
||||
<!-- ASTC Decoding Method -->
|
||||
<string name="accelerate_astc">ASTC Decoding Method</string>
|
||||
<string name="accelerate_astc_description">Choose ASTC decoding method: CPU (slow but safe), GPU (fast, recommended), or Async CPU (no stutter but may glitch).</string>
|
||||
|
||||
<!-- ASTC Decoding Method Choices -->
|
||||
<string name="accelerate_astc_cpu">CPU</string>
|
||||
<string name="accelerate_astc_gpu">GPU</string>
|
||||
<string name="accelerate_astc_async">CPU Asynchronously</string>
|
||||
|
||||
<!-- ASTC Recompression Method -->
|
||||
<string name="astc_recompression">ASTC Recompression Method</string>
|
||||
<string name="astc_recompression_description">Low-end Android GPUs often lack ASTC support, forcing emulators to decompress textures to RGBA8. This option recompresses RGBA8 to BC1/BC3, saving VRAM but reducing quality.</string>
|
||||
|
||||
<!-- ASTC Recompression Method Choices -->
|
||||
<string name="astc_recompression_uncompressed">Uncompressed</string>
|
||||
<string name="astc_recompression_bc1">BC1 (Low Quality)</string>
|
||||
<string name="astc_recompression_bc3">BC3 (Medium Quality)</string>
|
||||
|
||||
<!-- ASTC Recompression Method Choices -->
|
||||
<string name="vram_usage_mode">VRAM Usage Mode</string>
|
||||
<string name="vram_usage_conservative">Conservative</string>
|
||||
<string name="vram_usage_aggressive">Aggressive</string>
|
||||
|
||||
<!-- Resolutions -->
|
||||
<string name="resolution_half">0.5X (360p/540p)</string>
|
||||
<string name="resolution_three_quarter">0.75X (540p/810p)</string>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue