diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml
index 677268e5..f4e8838a 100644
--- a/.github/workflows/cooker-selfhosted.yml
+++ b/.github/workflows/cooker-selfhosted.yml
@@ -91,6 +91,8 @@ jobs:
body: |
# Release Notes (Cooker)
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
+
+ For the full release note for this build please refer to the channel [#BETA-TESTING](https://discord.gg/qQcrFvaA2C) on our Discord server.
Cooker channel is provided for the community to test fixes and explore new functionality.
Please DO NOT open issues or ask support on this build.
@@ -110,4 +112,4 @@ jobs:
with:
name: retrodeck-flatpak
path: RetroDECK.flatpak
- continue-on-error: true
+ continue-on-error: true
\ No newline at end of file
diff --git a/emu-configs/defaults/citra/citra-qt-config.ini b/emu-configs/defaults/citra/citra-qt-config.ini
index 7a42e448..4b9877e3 100644
--- a/emu-configs/defaults/citra/citra-qt-config.ini
+++ b/emu-configs/defaults/citra/citra-qt-config.ini
@@ -1,10 +1,12 @@
[Audio]
+audio_emulation=0
+audio_emulation\default=true
enable_audio_stretching=true
enable_audio_stretching\default=true
-enable_dsp_lle=false
-enable_dsp_lle\default=true
-enable_dsp_lle_multithread=false
-enable_dsp_lle_multithread\default=true
+input_device=auto
+input_device\default=true
+input_type=0
+input_type\default=true
mic_input_device=Default
mic_input_device\default=true
mic_input_type=0
@@ -13,6 +15,8 @@ output_device=auto
output_device\default=true
output_engine=auto
output_engine\default=true
+output_type=0
+output_type\default=true
volume=@Variant(\0\0\0\x87?\x80\0\0)
volume\default=true
@@ -178,6 +182,8 @@ LLE\NWM=false
LLE\NWM\default=true
LLE\PDN=false
LLE\PDN\default=true
+LLE\PLGLDR=false
+LLE\PLGLDR\default=true
LLE\PM=false
LLE\PM\default=true
LLE\PS=false
@@ -197,10 +203,14 @@ LLE\SSL\default=true
gdbstub_port=24689
gdbstub_port\default=true
record_frame_times=false
+renderer_debug=false
+renderer_debug\default=true
use_gdbstub=false
use_gdbstub\default=true
[Layout]
+anaglyph_shader_name=dubois (builtin)
+anaglyph_shader_name\default=true
custom_bottom_bottom=480
custom_bottom_bottom\default=true
custom_bottom_left=40
@@ -211,6 +221,8 @@ custom_bottom_top=240
custom_bottom_top\default=true
custom_layout=false
custom_layout\default=true
+custom_second_layer_opacity=100
+custom_second_layer_opacity\default=true
custom_top_bottom=240
custom_top_bottom\default=true
custom_top_left=0
@@ -246,18 +258,18 @@ bg_red=0
bg_red\default=true
frame_limit=100
frame_limit\default=true
-frame_limit_alternate=200
-frame_limit_alternate\default=true
+graphics_api=1
+graphics_api\default=true
resolution_factor=1
resolution_factor\default=true
shaders_accurate_mul=true
shaders_accurate_mul\default=true
-texture_filter_name=none
-texture_filter_name\default=true
+texture_filter=0
+texture_filter\default=true
+texture_filter_name=Linear (Default)
+texture_filter_name\default=false
use_disk_shader_cache=true
use_disk_shader_cache\default=true
-use_frame_limit_alternate=false
-use_frame_limit_alternate\default=true
use_hw_renderer=true
use_hw_renderer\default=true
use_hw_shader=true
@@ -268,12 +280,16 @@ use_vsync_new=true
use_vsync_new\default=true
[System]
+allow_plugin_loader=true
+allow_plugin_loader\default=true
init_clock=0
init_clock\default=true
init_time=946681277
init_time\default=true
is_new_3ds=true
is_new_3ds\default=true
+plugin_loader=false
+plugin_loader\default=true
region_value=-1
region_value\default=true
@@ -347,6 +363,10 @@ Shortcuts\Main%20Window\Continue\Pause%20Emulation\Context=1
Shortcuts\Main%20Window\Continue\Pause%20Emulation\Context\default=true
Shortcuts\Main%20Window\Continue\Pause%20Emulation\KeySeq=F4
Shortcuts\Main%20Window\Continue\Pause%20Emulation\KeySeq\default=true
+Shortcuts\Main%20Window\Decrease%203D%20Factor\Context=1
+Shortcuts\Main%20Window\Decrease%203D%20Factor\Context\default=false
+Shortcuts\Main%20Window\Decrease%203D%20Factor\KeySeq=
+Shortcuts\Main%20Window\Decrease%203D%20Factor\KeySeq\default=false
Shortcuts\Main%20Window\Decrease%20Speed%20Limit\Context=2
Shortcuts\Main%20Window\Decrease%20Speed%20Limit\Context\default=true
Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq=-
@@ -357,12 +377,16 @@ Shortcuts\Main%20Window\Exit%20Citra\KeySeq=Ctrl+Q
Shortcuts\Main%20Window\Exit%20Citra\KeySeq\default=true
Shortcuts\Main%20Window\Exit%20Fullscreen\Context=1
Shortcuts\Main%20Window\Exit%20Fullscreen\Context\default=true
-Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq=Esc
+Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq=
Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq\default=true
Shortcuts\Main%20Window\Fullscreen\Context=1
Shortcuts\Main%20Window\Fullscreen\Context\default=true
Shortcuts\Main%20Window\Fullscreen\KeySeq=F11
Shortcuts\Main%20Window\Fullscreen\KeySeq\default=true
+Shortcuts\Main%20Window\Increase%203D%20Factor\Context=1
+Shortcuts\Main%20Window\Increase%203D%20Factor\Context\default=false
+Shortcuts\Main%20Window\Increase%203D%20Factor\KeySeq=
+Shortcuts\Main%20Window\Increase%203D%20Factor\KeySeq\default=false
Shortcuts\Main%20Window\Increase%20Speed%20Limit\Context=2
Shortcuts\Main%20Window\Increase%20Speed%20Limit\Context\default=true
Shortcuts\Main%20Window\Increase%20Speed%20Limit\KeySeq=+
@@ -402,19 +426,27 @@ Shortcuts\Main%20Window\Stop%20Emulation\KeySeq\default=true
Shortcuts\Main%20Window\Swap%20Screens\Context=1
Shortcuts\Main%20Window\Swap%20Screens\Context\default=true
Shortcuts\Main%20Window\Swap%20Screens\KeySeq=F9
-Shortcuts\Main%20Window\Swap%20Screens\KeySeq\default=true
-Shortcuts\Main%20Window\Toggle%20Alternate%20Speed\Context=2
-Shortcuts\Main%20Window\Toggle%20Alternate%20Speed\Context\default=true
-Shortcuts\Main%20Window\Toggle%20Alternate%20Speed\KeySeq=Ctrl+Z
-Shortcuts\Main%20Window\Toggle%20Alternate%20Speed\KeySeq\default=true
+Shortcuts\Main%20Window\Swap%20Screens\KeySeq\default=false
+Shortcuts\Main%20Window\Toggle%203D\Context=1
+Shortcuts\Main%20Window\Toggle%203D\Context\default=false
+Shortcuts\Main%20Window\Toggle%203D\KeySeq=
+Shortcuts\Main%20Window\Toggle%203D\KeySeq\default=false
+Shortcuts\Main%20Window\Toggle%20Custom%20Textures\Context=2
+Shortcuts\Main%20Window\Toggle%20Custom%20Textures\Context\default=true
+Shortcuts\Main%20Window\Toggle%20Custom%20Textures\KeySeq=Ctrl+Z
+Shortcuts\Main%20Window\Toggle%20Custom%20Textures\KeySeq\default=false
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Context=1
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Context\default=true
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\KeySeq=Ctrl+F
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\KeySeq\default=true
-Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\Context=2
+Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\Context=1
Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\Context\default=true
Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\KeySeq=Ctrl+A
Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\KeySeq\default=true
+Shortcuts\Main%20Window\Toggle%20Per-Game%20Speed\Context=1
+Shortcuts\Main%20Window\Toggle%20Per-Game%20Speed\Context\default=true
+Shortcuts\Main%20Window\Toggle%20Per-Game%20Speed\KeySeq=
+Shortcuts\Main%20Window\Toggle%20Per-Game%20Speed\KeySeq\default=false
Shortcuts\Main%20Window\Toggle%20Screen%20Layout\Context=1
Shortcuts\Main%20Window\Toggle%20Screen%20Layout\Context\default=true
Shortcuts\Main%20Window\Toggle%20Screen%20Layout\KeySeq=F10
@@ -468,6 +500,8 @@ theme=default
theme\default=true
[Utility]
+async_custom_loading=true
+async_custom_loading\default=true
custom_textures=false
custom_textures\default=true
dump_textures=false
diff --git a/emu-configs/defaults/ppsspp/controls.ini b/emu-configs/defaults/ppsspp/controls.ini
index 62e144a4..a5f01e59 100644
--- a/emu-configs/defaults/ppsspp/controls.ini
+++ b/emu-configs/defaults/ppsspp/controls.ini
@@ -9,8 +9,8 @@ Square = 1-29,10-191
Triangle = 1-47,10-188
Start = 1-62,10-197
Select = 1-66,10-196
-L = 1-45,10-194
-R = 1-51,10-195
+L = 1-45,10-193
+R = 1-51,10-192
An.Up = 1-37,10-4003
An.Down = 1-39,10-4002
An.Left = 1-38,10-4001
diff --git a/emu-configs/defaults/retrodeck/RetroDECK_controller_config.vdf b/emu-configs/defaults/retrodeck/RetroDECK_controller_config.vdf
index 7bf60e77..8de2683f 100644
--- a/emu-configs/defaults/retrodeck/RetroDECK_controller_config.vdf
+++ b/emu-configs/defaults/retrodeck/RetroDECK_controller_config.vdf
@@ -1,8 +1,8 @@
"controller_mappings"
{
"version" "3"
- "revision" "1596"
- "title" "RetroDECK: Official Layout - v0.7b"
+ "revision" "1706"
+ "title" "RetroDECK: Official Layout - v0.7.1b"
"description" "The Official RetroDECK Layout"
"creator" ""
"progenitor" ""
@@ -12,7 +12,7 @@
"controller_caps" "23117823"
"major_revision" "0"
"minor_revision" "0"
- "Timestamp" "-1230453184"
+ "Timestamp" "-918096944"
"actions"
{
"Default"
@@ -721,8 +721,8 @@
{
"bindings"
{
- "binding" "key_press LEFT_CONTROL, FULLSCREEN OFF, , "
- "binding" "key_press O, FULLSCREEN OFF, , "
+ "binding" "key_press LEFT_CONTROL, Open Menu, , "
+ "binding" "key_press M, Open Menu, , "
}
}
}
@@ -829,6 +829,40 @@
"description" ""
"inputs"
{
+ "dpad_north"
+ {
+ "activators"
+ {
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "key_press LEFT_CONTROL, Increase Emulation Speed, , "
+ "binding" "key_press 1, Increase Emulation Speed, , "
+ }
+ }
+ }
+ "disabled_activators"
+ {
+ }
+ }
+ "dpad_south"
+ {
+ "activators"
+ {
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "key_press LEFT_CONTROL, Decrease Emulation Speed, , "
+ "binding" "key_press 2, Decrease Emulation Speed, , "
+ }
+ }
+ }
+ "disabled_activators"
+ {
+ }
+ }
"dpad_east"
{
"activators"
@@ -1073,7 +1107,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 14 1 1, RetroDECK, RD-icon_circle_2_180x180.png, "
+ "binding" "controller_action CHANGE_PRESET 14 0 1, RetroDECK, RD-icon_circle_2_180x180.png, "
}
}
}
@@ -1089,7 +1123,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 3 1 1, Quick, RD-org.xfce.session.png, #232323 #FFFFFF"
+ "binding" "controller_action CHANGE_PRESET 3 0 1, Quick, RD-org.xfce.session.png, "
}
}
}
@@ -1105,7 +1139,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 4 1 1, State, RD-folder-blue-games.png, "
+ "binding" "controller_action CHANGE_PRESET 4 0 1, State, RD-folder-blue-games.png, "
}
}
}
@@ -1121,7 +1155,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 5 1 1, Speed & Frames, RD-supertuxkart.png, "
+ "binding" "controller_action CHANGE_PRESET 5 0 1, Speed & Frames, RD-supertuxkart.png, "
}
}
}
@@ -1137,7 +1171,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 6 1 1, Display & Graphics, RD-preferences-desktop-display.png, "
+ "binding" "controller_action CHANGE_PRESET 6 0 1, Display & Graphics, RD-preferences-desktop-display.png, "
}
}
}
@@ -1153,7 +1187,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 7 1 1, General, RD-io.github.antimicrox.antimicrox.png, "
+ "binding" "controller_action CHANGE_PRESET 7 0 1, General, RD-io.github.antimicrox.antimicrox.png, "
}
}
}
@@ -1169,7 +1203,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 9 1 1, Specific, RD-folder-applications.png, "
+ "binding" "controller_action CHANGE_PRESET 9 0 1, Specific, RD-folder-applications.png, "
}
}
}
@@ -1185,7 +1219,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 8 1 1, Steam Deck, RD-steam.png, "
+ "binding" "controller_action CHANGE_PRESET 8 0 1, Steam Deck, RD-steam.png, "
}
}
}
@@ -1414,7 +1448,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 1 1 1, Back, RD-edit-undo-red.png, #232323 #FFFFFF"
+ "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, #232323 #FFFFFF"
}
}
}
@@ -1558,23 +1592,6 @@
{
}
}
- "touch_menu_button_9"
- {
- "activators"
- {
- "Full_Press"
- {
- "bindings"
- {
- "binding" "key_press LEFT_CONTROL, Fullscreen Off, RD-zoom-fit-best.png, #232323 #AD0000"
- "binding" "key_press N, Fullscreen Off, RD-zoom-fit-best.png, #232323 #AD0000"
- }
- }
- }
- "disabled_activators"
- {
- }
- }
"touch_menu_button_10"
{
"activators"
@@ -1714,7 +1731,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 1 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -2179,7 +2196,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 1 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -2661,7 +2678,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 1 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -2737,23 +2754,6 @@
{
}
}
- "touch_menu_button_5"
- {
- "activators"
- {
- "Full_Press"
- {
- "bindings"
- {
- "binding" "key_press LEFT_CONTROL, Fullscreen Off, RD-zoom-fit-best.png, #232323 #AD0000"
- "binding" "key_press N, Fullscreen Off, RD-zoom-fit-best.png, #232323 #AD0000"
- }
- }
- }
- "disabled_activators"
- {
- }
- }
"touch_menu_button_6"
{
"activators"
@@ -3143,7 +3143,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 1 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -3659,7 +3659,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 1 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -4135,7 +4135,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 1 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -4151,7 +4151,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 10 1 1, MAME, RD-emblem-favorite.png, "
+ "binding" "controller_action CHANGE_PRESET 10 0 1, MAME, RD-mame.png, "
}
}
}
@@ -4167,7 +4167,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 11 1 1, RetroArch, RD-retroarch.png, "
+ "binding" "controller_action CHANGE_PRESET 11 0 1, RetroArch, RD-retroarch.png, "
}
}
}
@@ -4183,7 +4183,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 12 1 1, Gamecube & Wii, RD-tesseract.png, "
+ "binding" "controller_action CHANGE_PRESET 12 0 1, Gamecube & Wii, RD-dolphin.png, "
}
}
}
@@ -4199,7 +4199,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 13 1 1, NDS, RD-preferences-tweaks-shadows.png, "
+ "binding" "controller_action CHANGE_PRESET 13 0 1, NDS, RD-melonds.png, "
}
}
}
@@ -4215,7 +4215,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 15 1 1, 3DS, RD-preferences-system-windows-actions.png, "
+ "binding" "controller_action CHANGE_PRESET 15 0 1, 3DS, RD-citra.png, "
}
}
}
@@ -4231,7 +4231,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 16 1 1, Switch, RD-playonlinux.png, "
+ "binding" "controller_action CHANGE_PRESET 16 0 1, Switch, RD-ryujinx.png, "
}
}
}
@@ -4594,7 +4594,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 9 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -5002,7 +5002,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 9 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -5524,7 +5524,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 9 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -5989,7 +5989,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 9 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -6540,7 +6540,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 1 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -6556,7 +6556,7 @@
{
"bindings"
{
- "binding" "xinput_button DPAD_UP, Konami Deck, RD-octopi.png, #232323 #FFFFFF"
+ "binding" "xinput_button DPAD_UP, Konami Deck, RD-retrodeck-compact.png, "
}
}
"Full_Press"
@@ -6635,8 +6635,8 @@
{
"bindings"
{
- "binding" "key_press 3, Here be dragons!, RD-tools-check-spelling.png, "
- "binding" "key_press 2, Here be dragons!, RD-tools-check-spelling.png, "
+ "binding" "key_press 3, Here be dragons!, RD-vcmi.png, "
+ "binding" "key_press 2, Here be dragons!, RD-vcmi.png, "
}
}
"Full_Press"
@@ -6673,7 +6673,7 @@
{
"bindings"
{
- "binding" "key_press I, You can do it!, RD-preferences-desktop-emoticons.png, "
+ "binding" "key_press I, You can do it!, RD-gzdoom.png, "
}
}
"Full_Press"
@@ -7064,7 +7064,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 9 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -7461,7 +7461,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 9 1 1, Back, RD-edit-undo-red.png, "
+ "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
}
}
}
@@ -7990,7 +7990,14 @@
{
"bindings"
{
- "binding" "xinput_button select, , "
+ "binding" "xinput_button SELECT, , "
+ }
+ }
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
}
}
}
@@ -8038,7 +8045,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -8054,7 +8061,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -8070,7 +8077,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -8090,7 +8097,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -8151,6 +8158,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -8196,7 +8210,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -8212,7 +8226,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -8228,7 +8242,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -8248,7 +8262,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -8303,12 +8317,18 @@
{
"activators"
{
+ "release"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 1 0 1, , "
+ }
+ }
"Full_Press"
{
"bindings"
{
- "binding" "key_press LEFT_CONTROL, OPEN MENU, , "
- "binding" "key_press M, OPEN MENU, , "
+ "binding" "xinput_button SELECT, , "
}
}
}
@@ -8358,7 +8378,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 1 1 1, , "
+ "binding" "controller_action CHANGE_PRESET 1 0 1, , "
}
}
}
@@ -8374,7 +8394,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 1 1 1, , "
+ "binding" "controller_action CHANGE_PRESET 1 0 1, , "
}
}
}
@@ -8435,6 +8455,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -8480,7 +8507,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -8496,7 +8523,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -8512,7 +8539,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -8532,7 +8559,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -8593,6 +8620,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -8638,7 +8672,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -8654,7 +8688,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -8670,7 +8704,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -8690,7 +8724,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -8751,6 +8785,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -8796,7 +8837,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -8812,7 +8853,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -8828,7 +8869,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -8848,7 +8889,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -8909,6 +8950,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -8954,7 +9002,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -8970,7 +9018,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -8986,7 +9034,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -9006,7 +9054,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -9067,6 +9115,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -9112,7 +9167,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -9128,7 +9183,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -9144,7 +9199,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -9164,7 +9219,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -9225,6 +9280,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -9270,7 +9332,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -9286,7 +9348,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -9302,7 +9364,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -9322,7 +9384,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -9383,6 +9445,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -9428,7 +9497,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -9444,7 +9513,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -9460,7 +9529,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -9480,7 +9549,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -9541,6 +9610,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -9586,7 +9662,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -9602,7 +9678,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -9618,7 +9694,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -9638,7 +9714,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -9699,6 +9775,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -9744,7 +9827,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -9760,7 +9843,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -9776,7 +9859,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -9796,7 +9879,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -9857,6 +9940,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -9902,7 +9992,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -9918,7 +10008,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -9934,7 +10024,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -9954,7 +10044,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -10015,6 +10105,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -10060,7 +10157,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -10076,7 +10173,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -10092,7 +10189,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -10112,7 +10209,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -10173,6 +10270,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -10218,7 +10322,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -10234,7 +10338,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -10250,7 +10354,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -10270,7 +10374,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
@@ -10331,6 +10435,13 @@
"binding" "xinput_button select, , "
}
}
+ "Full_Press"
+ {
+ "bindings"
+ {
+ "binding" "controller_action CHANGE_PRESET 2 0 1, , "
+ }
+ }
}
"disabled_activators"
{
@@ -10376,7 +10487,7 @@
{
"bindings"
{
- "binding" "key_press T, , "
+ "binding" "xinput_button B, , "
}
}
}
@@ -10392,7 +10503,7 @@
{
"bindings"
{
- "binding" "key_press Y, , "
+ "binding" "xinput_button A, , "
}
}
}
@@ -10408,7 +10519,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
"settings"
{
@@ -10428,7 +10539,7 @@
{
"bindings"
{
- "binding" "controller_action CHANGE_PRESET 2 1 1, Hotkey, , "
+ "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
}
}
}
diff --git a/emu-configs/defaults/retrodeck/presets/yuzu_presets.cfg b/emu-configs/defaults/retrodeck/presets/yuzu_presets.cfg
index e6c915fc..bfb46f5e 100644
--- a/emu-configs/defaults/retrodeck/presets/yuzu_presets.cfg
+++ b/emu-configs/defaults/retrodeck/presets/yuzu_presets.cfg
@@ -3,7 +3,7 @@ target_file^$yuzuconf
defaults_file^$emuconfigs/yuzu/qt-config.ini
change^ask_to_exit^confirmClose^true^UI
change^ask_to_exit^confirmClose\default^true^UI
-change^nintendo_button_layout^player_0_button_a^pad:0,button:0,port:0,guid:03000000de280000ff11000001000000,engine:sdl^Controls
-change^nintendo_button_layout^player_0_button_b^pad:0,button:1,port:0,guid:03000000de280000ff11000001000000,engine:sdl^Controls
-change^nintendo_button_layout^player_0_button_x^pad:0,button:2,port:0,guid:03000000de280000ff11000001000000,engine:sdl^Controls
-change^nintendo_button_layout^player_0_button_y^pad:0,button:3,port:0,guid:03000000de280000ff11000001000000,engine:sdl^Controls
+change^nintendo_button_layout^player_0_button_a^"engine:sdl,guid:03000000de280000ff11000001000000,port:0,button:0,pad:0"^Controls
+change^nintendo_button_layout^player_0_button_b^"engine:sdl,guid:03000000de280000ff11000001000000,port:0,button:1,pad:0"^Controls
+change^nintendo_button_layout^player_0_button_x^"engine:sdl,guid:03000000de280000ff11000001000000,port:0,button:2,pad:0"^Controls
+change^nintendo_button_layout^player_0_button_y^"engine:sdl,guid:03000000de280000ff11000001000000,port:0,button:3,pad:0"^Controls
diff --git a/emu-configs/defaults/yuzu/qt-config.ini b/emu-configs/defaults/yuzu/qt-config.ini
index efa6bb94..5a18ed8a 100644
--- a/emu-configs/defaults/yuzu/qt-config.ini
+++ b/emu-configs/defaults/yuzu/qt-config.ini
@@ -63,6 +63,10 @@ enable_accurate_vibrations=false
enable_accurate_vibrations\default=true
enable_ir_sensor=false
enable_ir_sensor\default=true
+enable_joycon_driver=true
+enable_joycon_driver\default=true
+enable_procon_driver=false
+enable_procon_driver\default=true
enable_raw_input=false
enable_raw_input\default=true
enable_ring_controller=true
@@ -721,6 +725,8 @@ player_9_vibration_enabled=true
player_9_vibration_enabled\default=true
player_9_vibration_strength=100
player_9_vibration_strength\default=true
+random_amiibo_id=false
+random_amiibo_id\default=true
ring_controller="modifier_scale:0.050000,modifier:toggle$00$1code$00$1engine$0keyboard,right:toggle$00$1code$068$1engine$0keyboard,left:toggle$00$1code$065$1engine$0keyboard,down:toggle$00$1code$00$1engine$0keyboard,up:toggle$00$1code$00$1engine$0keyboard,engine:analog_from_button"
ring_controller\default=true
tas_enable=false
@@ -755,6 +761,8 @@ use_extended_memory_layout=false
use_extended_memory_layout\default=true
use_multi_core=true
use_multi_core\default=true
+use_unsafe_extended_memory_layout=false
+use_unsafe_extended_memory_layout\default=true
[Cpu]
cpu_accuracy=0
@@ -775,6 +783,8 @@ cpuopt_fastmem=true
cpuopt_fastmem\default=true
cpuopt_fastmem_exclusives=true
cpuopt_fastmem_exclusives\default=true
+cpuopt_ignore_memory_aborts=true
+cpuopt_ignore_memory_aborts\default=true
cpuopt_misc_ir=true
cpuopt_misc_ir\default=true
cpuopt_page_tables=true
@@ -821,6 +831,8 @@ use_virtual_sd\default=true
[Debugging]
create_crash_dumps=false
create_crash_dumps\default=true
+disable_macro_hle=false
+disable_macro_hle\default=true
disable_macro_jit=false
disable_macro_jit\default=true
dump_exefs=false
@@ -864,7 +876,7 @@ ip\default=true
ip_ban_list\size=0
max_player=8
max_player\default=true
-nickname=
+nickname=RetroDECK
nickname\default=true
port=24872
port\default=true
@@ -885,6 +897,12 @@ anti_aliasing=0
anti_aliasing\default=true
aspect_ratio=0
aspect_ratio\default=true
+astc_recompression=0
+astc_recompression\default=true
+async_astc=false
+async_astc\default=true
+async_presentation=false
+async_presentation\default=true
backend=1
backend\default=true
bg_blue=0
@@ -897,8 +915,12 @@ debug=false
debug\default=true
disable_shader_loop_safety_checks=false
disable_shader_loop_safety_checks\default=true
-fps_cap=1000
-fps_cap\default=true
+enable_compute_pipelines=false
+enable_compute_pipelines\default=true
+force_max_clock=false
+force_max_clock\default=true
+fsr_sharpening_slider=25
+fsr_sharpening_slider\default=true
fullscreen_mode=1
fullscreen_mode\default=true
gpu_accuracy=1
@@ -929,15 +951,19 @@ use_fast_gpu_time=true
use_fast_gpu_time\default=true
use_pessimistic_flushes=false
use_pessimistic_flushes\default=true
-use_speed_limit=true
-use_speed_limit\default=true
-use_vsync=true
+use_reactive_flushing=true
+use_reactive_flushing\default=true
+use_video_framerate=false
+use_video_framerate\default=true
+use_vsync=2
use_vsync\default=true
+use_vulkan_driver_pipeline_cache=true
+use_vulkan_driver_pipeline_cache\default=true
vulkan_device=0
vulkan_device\default=true
[Services]
-network_interface=None
+network_interface=wlan0
network_interface\default=false
[System]
@@ -947,6 +973,7 @@ custom_rtc=0
custom_rtc\default=true
custom_rtc_enabled=false
custom_rtc_enabled\default=true
+device_name=RetroDECK
language_index=1
language_index\default=true
region_index=1
@@ -1018,132 +1045,176 @@ Shortcuts\Main%20Window\Audio%20Mute\Unmute\Controller_KeySeq=Home+Dpad_Right
Shortcuts\Main%20Window\Audio%20Mute\Unmute\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Audio%20Mute\Unmute\KeySeq=Ctrl+M
Shortcuts\Main%20Window\Audio%20Mute\Unmute\KeySeq\default=true
+Shortcuts\Main%20Window\Audio%20Mute\Unmute\Repeat=false
+Shortcuts\Main%20Window\Audio%20Mute\Unmute\Repeat\default=true
Shortcuts\Main%20Window\Audio%20Volume%20Down\Context=2
Shortcuts\Main%20Window\Audio%20Volume%20Down\Context\default=true
Shortcuts\Main%20Window\Audio%20Volume%20Down\Controller_KeySeq=Home+Dpad_Down
Shortcuts\Main%20Window\Audio%20Volume%20Down\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Audio%20Volume%20Down\KeySeq=-
Shortcuts\Main%20Window\Audio%20Volume%20Down\KeySeq\default=true
+Shortcuts\Main%20Window\Audio%20Volume%20Down\Repeat=true
+Shortcuts\Main%20Window\Audio%20Volume%20Down\Repeat\default=true
Shortcuts\Main%20Window\Audio%20Volume%20Up\Context=2
Shortcuts\Main%20Window\Audio%20Volume%20Up\Context\default=true
Shortcuts\Main%20Window\Audio%20Volume%20Up\Controller_KeySeq=Home+Dpad_Up
Shortcuts\Main%20Window\Audio%20Volume%20Up\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Audio%20Volume%20Up\KeySeq="="
Shortcuts\Main%20Window\Audio%20Volume%20Up\KeySeq\default=true
+Shortcuts\Main%20Window\Audio%20Volume%20Up\Repeat=true
+Shortcuts\Main%20Window\Audio%20Volume%20Up\Repeat\default=true
Shortcuts\Main%20Window\Capture%20Screenshot\Context=3
Shortcuts\Main%20Window\Capture%20Screenshot\Context\default=true
Shortcuts\Main%20Window\Capture%20Screenshot\Controller_KeySeq=Screenshot
Shortcuts\Main%20Window\Capture%20Screenshot\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Capture%20Screenshot\KeySeq=Ctrl+P
Shortcuts\Main%20Window\Capture%20Screenshot\KeySeq\default=true
+Shortcuts\Main%20Window\Capture%20Screenshot\Repeat=false
+Shortcuts\Main%20Window\Capture%20Screenshot\Repeat\default=true
Shortcuts\Main%20Window\Change%20Adapting%20Filter\Context=2
Shortcuts\Main%20Window\Change%20Adapting%20Filter\Context\default=true
Shortcuts\Main%20Window\Change%20Adapting%20Filter\Controller_KeySeq=Home+L
Shortcuts\Main%20Window\Change%20Adapting%20Filter\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Change%20Adapting%20Filter\KeySeq=F8
Shortcuts\Main%20Window\Change%20Adapting%20Filter\KeySeq\default=true
+Shortcuts\Main%20Window\Change%20Adapting%20Filter\Repeat=false
+Shortcuts\Main%20Window\Change%20Adapting%20Filter\Repeat\default=true
Shortcuts\Main%20Window\Change%20Docked%20Mode\Context=2
Shortcuts\Main%20Window\Change%20Docked%20Mode\Context\default=true
Shortcuts\Main%20Window\Change%20Docked%20Mode\Controller_KeySeq=Home+X
Shortcuts\Main%20Window\Change%20Docked%20Mode\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Change%20Docked%20Mode\KeySeq=F10
Shortcuts\Main%20Window\Change%20Docked%20Mode\KeySeq\default=true
+Shortcuts\Main%20Window\Change%20Docked%20Mode\Repeat=false
+Shortcuts\Main%20Window\Change%20Docked%20Mode\Repeat\default=true
Shortcuts\Main%20Window\Change%20GPU%20Accuracy\Context=2
Shortcuts\Main%20Window\Change%20GPU%20Accuracy\Context\default=true
Shortcuts\Main%20Window\Change%20GPU%20Accuracy\Controller_KeySeq=Home+R
Shortcuts\Main%20Window\Change%20GPU%20Accuracy\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Change%20GPU%20Accuracy\KeySeq=F9
Shortcuts\Main%20Window\Change%20GPU%20Accuracy\KeySeq\default=true
+Shortcuts\Main%20Window\Change%20GPU%20Accuracy\Repeat=false
+Shortcuts\Main%20Window\Change%20GPU%20Accuracy\Repeat\default=true
Shortcuts\Main%20Window\Continue\Pause%20Emulation\Context=1
Shortcuts\Main%20Window\Continue\Pause%20Emulation\Context\default=true
Shortcuts\Main%20Window\Continue\Pause%20Emulation\Controller_KeySeq=Home+Plus
Shortcuts\Main%20Window\Continue\Pause%20Emulation\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Continue\Pause%20Emulation\KeySeq=F4
Shortcuts\Main%20Window\Continue\Pause%20Emulation\KeySeq\default=true
+Shortcuts\Main%20Window\Continue\Pause%20Emulation\Repeat=false
+Shortcuts\Main%20Window\Continue\Pause%20Emulation\Repeat\default=true
Shortcuts\Main%20Window\Exit%20Fullscreen\Context=1
Shortcuts\Main%20Window\Exit%20Fullscreen\Context\default=true
Shortcuts\Main%20Window\Exit%20Fullscreen\Controller_KeySeq=
Shortcuts\Main%20Window\Exit%20Fullscreen\Controller_KeySeq\default=true
-Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq=Esc
-Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq\default=true
+Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq=
+Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq\default=false
+Shortcuts\Main%20Window\Exit%20Fullscreen\Repeat=false
+Shortcuts\Main%20Window\Exit%20Fullscreen\Repeat\default=true
Shortcuts\Main%20Window\Exit%20yuzu\Context=1
Shortcuts\Main%20Window\Exit%20yuzu\Context\default=true
Shortcuts\Main%20Window\Exit%20yuzu\Controller_KeySeq=Home+Minus
Shortcuts\Main%20Window\Exit%20yuzu\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Exit%20yuzu\KeySeq=Ctrl+Q
Shortcuts\Main%20Window\Exit%20yuzu\KeySeq\default=true
+Shortcuts\Main%20Window\Exit%20yuzu\Repeat=false
+Shortcuts\Main%20Window\Exit%20yuzu\Repeat\default=true
Shortcuts\Main%20Window\Fullscreen\Context=1
Shortcuts\Main%20Window\Fullscreen\Context\default=true
Shortcuts\Main%20Window\Fullscreen\Controller_KeySeq=Home+B
Shortcuts\Main%20Window\Fullscreen\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Fullscreen\KeySeq=F11
Shortcuts\Main%20Window\Fullscreen\KeySeq\default=true
+Shortcuts\Main%20Window\Fullscreen\Repeat=false
+Shortcuts\Main%20Window\Fullscreen\Repeat\default=true
Shortcuts\Main%20Window\Load%20File\Context=3
Shortcuts\Main%20Window\Load%20File\Context\default=true
Shortcuts\Main%20Window\Load%20File\Controller_KeySeq=
Shortcuts\Main%20Window\Load%20File\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Load%20File\KeySeq=Ctrl+O
Shortcuts\Main%20Window\Load%20File\KeySeq\default=true
+Shortcuts\Main%20Window\Load%20File\Repeat=false
+Shortcuts\Main%20Window\Load%20File\Repeat\default=true
Shortcuts\Main%20Window\Load\Remove%20Amiibo\Context=3
Shortcuts\Main%20Window\Load\Remove%20Amiibo\Context\default=true
Shortcuts\Main%20Window\Load\Remove%20Amiibo\Controller_KeySeq=Home+A
Shortcuts\Main%20Window\Load\Remove%20Amiibo\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Load\Remove%20Amiibo\KeySeq=F2
Shortcuts\Main%20Window\Load\Remove%20Amiibo\KeySeq\default=true
+Shortcuts\Main%20Window\Load\Remove%20Amiibo\Repeat=false
+Shortcuts\Main%20Window\Load\Remove%20Amiibo\Repeat\default=true
Shortcuts\Main%20Window\Restart%20Emulation\Context=1
Shortcuts\Main%20Window\Restart%20Emulation\Context\default=true
Shortcuts\Main%20Window\Restart%20Emulation\Controller_KeySeq=
Shortcuts\Main%20Window\Restart%20Emulation\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Restart%20Emulation\KeySeq=F6
Shortcuts\Main%20Window\Restart%20Emulation\KeySeq\default=true
+Shortcuts\Main%20Window\Restart%20Emulation\Repeat=false
+Shortcuts\Main%20Window\Restart%20Emulation\Repeat\default=true
Shortcuts\Main%20Window\Stop%20Emulation\Context=1
Shortcuts\Main%20Window\Stop%20Emulation\Context\default=true
Shortcuts\Main%20Window\Stop%20Emulation\Controller_KeySeq=
Shortcuts\Main%20Window\Stop%20Emulation\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Stop%20Emulation\KeySeq=F5
Shortcuts\Main%20Window\Stop%20Emulation\KeySeq\default=true
+Shortcuts\Main%20Window\Stop%20Emulation\Repeat=false
+Shortcuts\Main%20Window\Stop%20Emulation\Repeat\default=true
Shortcuts\Main%20Window\TAS%20Record\Context=2
Shortcuts\Main%20Window\TAS%20Record\Context\default=true
Shortcuts\Main%20Window\TAS%20Record\Controller_KeySeq=
Shortcuts\Main%20Window\TAS%20Record\Controller_KeySeq\default=true
Shortcuts\Main%20Window\TAS%20Record\KeySeq=Ctrl+F7
Shortcuts\Main%20Window\TAS%20Record\KeySeq\default=true
+Shortcuts\Main%20Window\TAS%20Record\Repeat=false
+Shortcuts\Main%20Window\TAS%20Record\Repeat\default=true
Shortcuts\Main%20Window\TAS%20Reset\Context=2
Shortcuts\Main%20Window\TAS%20Reset\Context\default=true
Shortcuts\Main%20Window\TAS%20Reset\Controller_KeySeq=
Shortcuts\Main%20Window\TAS%20Reset\Controller_KeySeq\default=true
Shortcuts\Main%20Window\TAS%20Reset\KeySeq=Ctrl+F6
Shortcuts\Main%20Window\TAS%20Reset\KeySeq\default=true
+Shortcuts\Main%20Window\TAS%20Reset\Repeat=false
+Shortcuts\Main%20Window\TAS%20Reset\Repeat\default=true
Shortcuts\Main%20Window\TAS%20Start\Stop\Context=2
Shortcuts\Main%20Window\TAS%20Start\Stop\Context\default=true
Shortcuts\Main%20Window\TAS%20Start\Stop\Controller_KeySeq=
Shortcuts\Main%20Window\TAS%20Start\Stop\Controller_KeySeq\default=true
Shortcuts\Main%20Window\TAS%20Start\Stop\KeySeq=Ctrl+F5
Shortcuts\Main%20Window\TAS%20Start\Stop\KeySeq\default=true
+Shortcuts\Main%20Window\TAS%20Start\Stop\Repeat=false
+Shortcuts\Main%20Window\TAS%20Start\Stop\Repeat\default=true
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Context=1
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Context\default=true
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Controller_KeySeq=
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\KeySeq=Ctrl+F
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\KeySeq\default=true
+Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Repeat=false
+Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Repeat\default=true
Shortcuts\Main%20Window\Toggle%20Framerate%20Limit\Context=2
Shortcuts\Main%20Window\Toggle%20Framerate%20Limit\Context\default=true
Shortcuts\Main%20Window\Toggle%20Framerate%20Limit\Controller_KeySeq=Home+Y
Shortcuts\Main%20Window\Toggle%20Framerate%20Limit\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Toggle%20Framerate%20Limit\KeySeq=Ctrl+U
Shortcuts\Main%20Window\Toggle%20Framerate%20Limit\KeySeq\default=true
+Shortcuts\Main%20Window\Toggle%20Framerate%20Limit\Repeat=false
+Shortcuts\Main%20Window\Toggle%20Framerate%20Limit\Repeat\default=true
Shortcuts\Main%20Window\Toggle%20Mouse%20Panning\Context=2
Shortcuts\Main%20Window\Toggle%20Mouse%20Panning\Context\default=true
Shortcuts\Main%20Window\Toggle%20Mouse%20Panning\Controller_KeySeq=
Shortcuts\Main%20Window\Toggle%20Mouse%20Panning\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Toggle%20Mouse%20Panning\KeySeq=Ctrl+F9
Shortcuts\Main%20Window\Toggle%20Mouse%20Panning\KeySeq\default=true
+Shortcuts\Main%20Window\Toggle%20Mouse%20Panning\Repeat=false
+Shortcuts\Main%20Window\Toggle%20Mouse%20Panning\Repeat\default=true
Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context=1
Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context\default=true
Shortcuts\Main%20Window\Toggle%20Status%20Bar\Controller_KeySeq=
Shortcuts\Main%20Window\Toggle%20Status%20Bar\Controller_KeySeq\default=true
Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq=Ctrl+S
Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq\default=true
+Shortcuts\Main%20Window\Toggle%20Status%20Bar\Repeat=false
+Shortcuts\Main%20Window\Toggle%20Status%20Bar\Repeat\default=true
UIGameList\cache_game_list=true
UIGameList\cache_game_list\default=true
UIGameList\favorites\size=0
diff --git a/emu-configs/ppssppsdl/controls.ini b/emu-configs/ppssppsdl/controls.ini
index 70d0d001..721182e1 100644
--- a/emu-configs/ppssppsdl/controls.ini
+++ b/emu-configs/ppssppsdl/controls.ini
@@ -9,8 +9,8 @@ Square = 1-29,10-191
Triangle = 1-47,10-188
Start = 1-62,10-197
Select = 1-66,10-196
-L = 1-45,10-194
-R = 1-51,10-195
+L = 1-45,10-193
+R = 1-51,10-192
An.Up = 1-37,10-4003
An.Down = 1-39,10-4002
An.Left = 1-38,10-4001
diff --git a/functions/checks.sh b/functions/checks.sh
index ead3f45d..227be3fd 100644
--- a/functions/checks.sh
+++ b/functions/checks.sh
@@ -38,26 +38,34 @@ check_for_version_update() {
if [[ ! "$update_ignore" == "$online_version" ]]; then
if [[ "$update_repo" == "RetroDECK" ]] && [[ $(sed -e 's/[\.a-z]//g' <<< $version) -le $(sed -e 's/[\.a-z]//g' <<< $online_version) ]]; then
- choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \
- --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
- --title "RetroDECK Update Available" \
- --text="There is a new version of RetroDECK on the stable release channel $online_version. Would you like to update to it?\n\n(depending on your internet speed this could takes several minutes).")
- rc=$? # Capture return code, as "Yes" button has no text value
- if [[ $rc == "1" ]]; then # If any button other than "Yes" was clicked
- if [[ $choice == "Ignore this version" ]]; then
- set_setting_value $rd_conf "update_ignore" "$online_version" retrodeck "options" # Store version to ignore for future checks
- fi
- else # User clicked "Yes"
- configurator_generic_dialog "RetroDECK Online Update" "The update process may take several minutes.\n\nAfter the update is complete, RetroDECK will close. When you run it again you will be using the latest version."
- (
- flatpak-spawn --host flatpak update --noninteractive -y net.retrodeck.retrodeck
- ) |
- zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
- --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
- --title "RetroDECK Updater" \
- --text="Upgrade in process please wait (this could takes several minutes)."
- configurator_generic_dialog "RetroDECK Online Update" "The update process is now complete!\n\nPlease restart RetroDECK to keep the fun going."
- exit 1
+ # choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \
+ # --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ # --title "RetroDECK Update Available" \
+ # --text="There is a new version of RetroDECK on the stable release channel $online_version. Would you like to update to it?\n\n(depending on your internet speed this could takes several minutes).")
+ # rc=$? # Capture return code, as "Yes" button has no text value
+ # if [[ $rc == "1" ]]; then # If any button other than "Yes" was clicked
+ # if [[ $choice == "Ignore this version" ]]; then
+ # set_setting_value $rd_conf "update_ignore" "$online_version" retrodeck "options" # Store version to ignore for future checks
+ # fi
+ # else # User clicked "Yes"
+ # configurator_generic_dialog "RetroDECK Online Update" "The update process may take several minutes.\n\nAfter the update is complete, RetroDECK will close. When you run it again you will be using the latest version."
+ # (
+ # flatpak-spawn --host flatpak update --noninteractive -y net.retrodeck.retrodeck
+ # ) |
+ # zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
+ # --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ # --title "RetroDECK Updater" \
+ # --text="Upgrade in process please wait (this could takes several minutes)."
+ # configurator_generic_dialog "RetroDECK Online Update" "The update process is now complete!\n\nPlease restart RetroDECK to keep the fun going."
+ # exit 1
+ # fi
+ choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="OK" --extra-button="Ignore this version" \
+ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
+ --title "RetroDECK Update Available" \
+ --text="There is a new version of RetroDECK on the stable release channel $online_version. Please update through the Discover app!\n\nIf you would like to ignore this version and recieve a notification at the NEXT version,\nclick the \"Ignore this version\" button.")
+ rc=$? # Capture return code, as "OK" button has no text value
+ if [[ $rc == "1" ]]; then # If any button other than "OK" was clicked
+ set_setting_value $rd_conf "update_ignore" "$online_version" retrodeck "options" # Store version to ignore for future checks
fi
elif [[ "$update_repo" == "RetroDECK-cooker" ]] && [[ ! $version == $online_version ]]; then
choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \
diff --git a/functions/functions.sh b/functions/functions.sh
index 2a7b1928..7bcc6499 100644
--- a/functions/functions.sh
+++ b/functions/functions.sh
@@ -261,6 +261,7 @@ update_rpcs3_firmware() {
}
backup_retrodeck_userdata() {
+ mkdir -p "$backups_folder"
zip -rq9 "$backups_folder/$(date +"%0m%0d")_retrodeck_userdata.zip" "$saves_folder" "$states_folder" "$bios_folder" "$media_folder" "$themes_folder" "$logs_folder" "$screenshots_folder" "$mods_folder" "$texture_packs_folder" "$borders_folder" > $logs_folder/$(date +"%0m%0d")_backup_log.log
}
@@ -464,7 +465,7 @@ install_retrodeck_controller_profile() {
# BIGGER NOTE: As part of this process, all emulators will need to have their configs hard-reset to match the controller mappings of the profile
# USAGE: install_retrodeck_controller_profile
if [[ -d "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/" && -d "$HOME/.steam/steam/controller_base/templates/" ]]; then
- rsync -a "/app/retrodeck/binding-icons/" "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/"
+ rsync -rlD --mkpath "/app/retrodeck/binding_icons/" "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/"
cp -f "$emuconfigs/defaults/retrodeck/RetroDECK_controller_config.vdf" "$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_config.vdf"
else
configurator_generic_dialog "RetroDECK Controller Profile Install" "The target directories for the controller profile do not exist.\n\nThis may happen if you do not have Steam installed or the location is does not have permission to be read."
@@ -483,8 +484,7 @@ update_splashscreens() {
# USAGE: update_splashscreens
rm -rf /var/config/emulationstation/.emulationstation/resources/graphics
- mkdir -p /var/config/emulationstation/.emulationstation/resources/graphics
- cp -rf /app/retrodeck/graphics/* /var/config/emulationstation/.emulationstation/resources/graphics
+ rsync -rlD --mkpath "/app/retrodeck/graphics/" "/var/config/emulationstation/.emulationstation/resources/graphics/"
}
deploy_helper_files() {
diff --git a/functions/global.sh b/functions/global.sh
index 38a986b1..93dbb93c 100644
--- a/functions/global.sh
+++ b/functions/global.sh
@@ -25,21 +25,19 @@ zip_compressable_extensions="$emuconfigs/defaults/retrodeck/reference_lists/zip_
easter_egg_checklist="$emuconfigs/defaults/retrodeck/reference_lists/easter_egg_checklist.cfg" # A config file listing days and times when special splash screens should show up
input_validation="$emuconfigs/defaults/retrodeck/reference_lists/input_validation.cfg" # A config file listing valid CLI inputs
finit_options_list="$emuconfigs/defaults/retrodeck/reference_lists/finit_options_list.cfg" # A config file listing available optional installs during finit
-splashscreen_dir="/var/config/emulationstation/.emulationstation/resources/graphics/extra-splashes" # The default location of extra splash screens
+splashscreen_dir="/var/config/emulationstation/.emulationstation/resources/graphics/extra_splashes" # The default location of extra splash screens
current_splash_file="/var/config/emulationstation/.emulationstation/resources/graphics/splash.svg" # The active splash file that will be shown on boot
default_splash_file="/var/config/emulationstation/.emulationstation/resources/graphics/splash-orig.svg" # The default RetroDECK splash screen
-multi_user_data_folder="$rdhome/multi-user-data" # The default location of multi-user environment profiles
multi_user_emulator_config_dirs="$emuconfigs/defaults/retrodeck/reference_lists/multi_user_emulator_config_dirs.cfg" # A list of emulator config folders that can be safely linked/unlinked entirely in multi-user mode
-backups_folder="$rdhome/backups" # A standard location for backup file storage
rd_es_themes="/app/share/emulationstation/themes" # The directory where themes packaged with RetroDECK are stored
lockfile="/var/config/retrodeck/.lock" # where the lockfile is located
default_sd="/run/media/mmcblk0p1" # Steam Deck SD default path
hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem)
rd_repo="https://github.com/XargonWan/RetroDECK" # The URL of the main RetroDECK GitHub repo
es_themes_list="https://gitlab.com/es-de/themes/themes-list/-/raw/master/themes.json" # The URL of the ES-DE 2.0 themes list
-remote_network_target_1="https://flathub.org" # The URL of a common internet target for testing network access
-remote_network_target_2="$rd_repo" # The URL of a common internet target for testing network access
-remote_network_target_3="https://one.one.one.one" # The URL of a common internet target for testing network access
+remote_network_target_1="https://flathub.org" # The URL of a common internet target for testing network access
+remote_network_target_2="$rd_repo" # The URL of a common internet target for testing network access
+remote_network_target_3="https://one.one.one.one" # The URL of a common internet target for testing network access
helper_files_folder="$emuconfigs/defaults/retrodeck/helper_files" # The parent folder of RetroDECK documentation files for deployment
helper_files_list="$emuconfigs/defaults/retrodeck/reference_lists/helper_files_list.cfg" # The list of files to be deployed and where they go
rd_appdata="/app/share/appdata/net.retrodeck.retrodeck.appdata.xml" # The shipped appdata XML file for this version
@@ -174,4 +172,8 @@ else
prepare_emulator "all" "postmove"
conf_write
fi
+
+ # Static variables dependent on $rd_conf values, need to be set after reading $rd_conf
+ backups_folder="$rdhome/backups" # A standard location for backup file storage
+ multi_user_data_folder="$rdhome/multi-user-data" # The default location of multi-user environment profiles
fi
diff --git a/functions/post_update.sh b/functions/post_update.sh
index 4eea301b..c65bd9f2 100644
--- a/functions/post_update.sh
+++ b/functions/post_update.sh
@@ -127,9 +127,9 @@ post_update() {
dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists"
dir_prep "$borders_folder" "/var/config/retroarch/overlays/borders"
- rsync -a "/app/retrodeck/emu-configs/retroarch/borders/" "/var/config/retroarch/overlays/borders"
+ rsync -rlD --mkpath "/app/retrodeck/emu-configs/retroarch/borders/" "/var/config/retroarch/overlays/borders/"
- rsync -a --mkpath "$emuconfigs/defaults/retrodeck/presets/remaps/" "/var/config/retroarch/config/remaps/"
+ rsync -rlD --mkpath "$emuconfigs/defaults/retrodeck/presets/remaps/" "/var/config/retroarch/config/remaps/"
if [[ ! -f "$bios_folder/capsimg.so" ]]; then
cp -f "/app/retrodeck/extras/Amiga/capsimg.so" "$bios_folder/capsimg.so"
@@ -222,14 +222,25 @@ post_update() {
prepare_emulator "reset" "all"
fi
fi
+ if [[ $prev_version -le "071" ]]; then
+ # In version 0.7.1b, the following changes were made that required config file updates/reset or other changes to the filesystem:
+ # - Force update PPSSPP standalone keybinds for L/R.
+ set_setting_value "$ppssppcontrolsconf" "L" "1-45,10-193" "ppsspp" "ControlMapping"
+ set_setting_value "$ppssppcontrolsconf" "R" "1-51,10-192" "ppsspp" "ControlMapping"
+ fi
# The following commands are run every time.
if [[ -d "/var/data/dolphin-emu/Load/DynamicInputTextures" ]]; then # Refresh installed textures if they have been enabled
- rsync -a "/app/retrodeck/extras/DynamicInputTextures/" "/var/data/dolphin-emu/Load/DynamicInputTextures/"
+ rsync -rlD --mkpath "/app/retrodeck/extras/DynamicInputTextures/" "/var/data/dolphin-emu/Load/DynamicInputTextures/"
fi
if [[ -d "/var/data/primehack/Load/DynamicInputTextures" ]]; then # Refresh installed textures if they have been enabled
- rsync -a "/app/retrodeck/extras/DynamicInputTextures/" "/var/data/primehack/Load/DynamicInputTextures/"
+ rsync -rlD --mkpath "/app/retrodeck/extras/DynamicInputTextures/" "/var/data/primehack/Load/DynamicInputTextures/"
+ fi
+
+ if [[ -f "$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_config.vdf" ]]; then # If RetroDECK controller profile has been previously installed
+ cp -f "$emuconfigs/defaults/retrodeck/RetroDECK_controller_config.vdf" "$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_config.vdf"
+ rsync -rlD --mkpath "/app/retrodeck/binding_icons/" "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/"
fi
update_splashscreens
diff --git a/functions/prepare_emulator.sh b/functions/prepare_emulator.sh
index f7d7dad0..1b24b608 100644
--- a/functions/prepare_emulator.sh
+++ b/functions/prepare_emulator.sh
@@ -72,13 +72,13 @@ prepare_emulator() {
mkdir -pv /var/config/retroarch/shaders/
cp -rf /app/share/libretro/shaders /var/config/retroarch/
dir_prep "$rdhome/shaders/retroarch" "/var/config/retroarch/shaders"
- rsync -a --mkpath "/app/share/libretro/cores/" "/var/config/retroarch/cores/"
+ rsync -rlD --mkpath "/app/share/libretro/cores/" "/var/config/retroarch/cores/"
cp -fv $emuconfigs/retroarch/retroarch.cfg /var/config/retroarch/
cp -fv $emuconfigs/retroarch/retroarch-core-options.cfg /var/config/retroarch/
- rsync -a --mkpath "$emuconfigs/retroarch/core-overrides/" "/var/config/retroarch/config/"
- rsync -a --mkpath "$emuconfigs/defaults/retrodeck/presets/remaps/" "/var/config/retroarch/config/remaps/"
+ rsync -rlD --mkpath "$emuconfigs/retroarch/core-overrides/" "/var/config/retroarch/config/"
+ rsync -rlD --mkpath "$emuconfigs/defaults/retrodeck/presets/remaps/" "/var/config/retroarch/config/remaps/"
dir_prep "$borders_folder" "/var/config/retroarch/overlays/borders"
- rsync -a --mkpath "/app/retrodeck/emu-configs/retroarch/borders/" "/var/config/retroarch/overlays/borders/"
+ rsync -rlD --mkpath "/app/retrodeck/emu-configs/retroarch/borders/" "/var/config/retroarch/overlays/borders/"
set_setting_value "$raconf" "savefile_directory" "$saves_folder" "retroarch"
set_setting_value "$raconf" "savestate_directory" "$states_folder" "retroarch"
set_setting_value "$raconf" "screenshot_directory" "$screenshots_folder" "retroarch"
diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml
index 1a2f62b9..f1d81141 100644
--- a/net.retrodeck.retrodeck.appdata.xml
+++ b/net.retrodeck.retrodeck.appdata.xml
@@ -65,6 +65,15 @@
GPL-3.0
CC0-1.0
+
+ https://github.com/XargonWan/RetroDECK/releases/tag/0.7.1b
+
+ Bug fixes:
+
+
+
https://github.com/XargonWan/RetroDECK/releases/tag/0.7.0b
diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml
index f914bb52..d7f79d87 100644
--- a/net.retrodeck.retrodeck.yml
+++ b/net.retrodeck.retrodeck.yml
@@ -22,8 +22,9 @@ finish-args:
- --talk-name=org.freedesktop.ScreenSaver
- --talk-name=org.freedesktop.PowerManagement.Inhibit
- --talk-name=org.freedesktop.login1.Manager
- - --talk-name=org.freedesktop.Flatpak
+ - --talk-name=org.freedesktop.portal.Flatpak.UpdateMonitor
- --filesystem=xdg-run/app/com.discordapp.Discord:create
+ - --filesystem=xdg-config/gtk-3.0:ro
# Dolphin
- --allow=bluetooth
# PPSSPP
@@ -65,18 +66,18 @@ modules:
# The version number is hardcoded in /app/retrodeck/version
#
# UPDATE STEPS FOR MAIN:
- # [X] Update the VERSION variable
- # [X] Update the appdata.xml with the version number and notes
- # [X] change branch into main in version-initialization (first one)
- # [X] change branch into main in retrodeck module (last one)
- # [X] if header (before modules) was edited, edit it even in flathub.yml
+ # [ ] Update the VERSION variable
+ # [ ] Update the appdata.xml with the version number and notes
+ # [ ] change branch into main in version-initialization (first one)
+ # [ ] change branch into main in retrodeck module (last one)
+ # [ ] if header (before modules) was edited, edit it even in flathub.yml
#
- name: version-initialization
buildsystem: simple
build-commands:
- |
- VERSION="0.7.0b"
+ VERSION=$(git rev-parse --abbrev-ref HEAD)
git checkout ${GITHUB_REF_NAME}
mkdir -p ${FLATPAK_DEST}/retrodeck/
@@ -90,7 +91,7 @@ modules:
sources:
- type: git
url: https://github.com/XargonWan/RetroDECK.git
- branch: main
+ branch: cooker-0.7.1b
- name: xmlstarlet
config-opts:
@@ -219,8 +220,8 @@ modules:
- /lib/cmake
sources:
- type: archive
- url: https://github.com/KhronosGroup/glslang/archive/12.1.0.tar.gz
- sha256: 1515e840881d1128fb6d831308433f731808f818f2103881162f3ffd47b15cd5
+ url: https://github.com/KhronosGroup/glslang/archive/12.3.1.tar.gz
+ sha256: a57836a583b3044087ac51bb0d5d2d803ff84591d55f89087fc29ace42a8b9a8
x-checker-data:
type: anitya
stable-only: true
@@ -290,6 +291,21 @@ modules:
url: https://github.com/libgit2/libgit2.git
tag: v1.6.3
+ # Needed from ES-DE 2.1.0+
+ - name: libpoppler-glib
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DENABLE_BOOST=OFF
+ sources:
+ - type: archive
+ url: https://gitlab.freedesktop.org/poppler/poppler/-/archive/poppler-22.11.0/poppler-poppler-22.11.0.tar.bz2
+ sha256: b8f618d5c62030034d5c8da4d3f6a740260b7620b9a31021679ce1914d327f81
+ cleanup:
+ - /lib/pkgconfig
+ - /include
+ - '*.a'
+ - '*.la'
+
# When updating this module remember to check those:
# https://gitlab.com/es-de/emulationstation-de/-/blob/[VERSION]/resources/systems/unix/es_find_rules.xml
# But we don't include them 1:1 as RetroDECK got some specific configs in some cases
@@ -303,7 +319,7 @@ modules:
sources:
- type: git
url: https://gitlab.com/es-de/emulationstation-de
- branch: 7a1e420c9df3b801a65e9bcdc0ac92e2d708836e
+ branch: c78e215d13b02132762b9fbf45ec7b861d50601b
- type: shell
commands:
- sed -i 's#"EMULATIONSTATION-DE V" + Utils::String::toUpper(PROGRAM_VERSION_STRING)#"RetroDECK
@@ -567,8 +583,8 @@ modules:
- ln -s "${FLATPAK_DEST}/yuzu/usr/bin/yuzu" "${FLATPAK_DEST}/bin/yuzu"
sources:
- type: file
- url: https://github.com/yuzu-emu/yuzu-mainline/releases/download/mainline-0-1465/yuzu-mainline-20230611-b9fc07fc0.AppImage
- sha256: 3a5c90947d0e5ca839921a4b77ec11b71176dcd4fb6f64c81757af1ba0f6f4d3
+ url: https://github.com/yuzu-emu/yuzu-mainline/releases/download/mainline-0-1522/yuzu-mainline-20230813-3ea669b08.AppImage
+ sha256: d1c5217f96c7ce66b6ebc8db835daad801de7e8ca7df1c35ae62920aa55c04da
# Yuzu - END
@@ -615,6 +631,7 @@ modules:
- type: patch
path: rd-submodules/citra/unified-source-compat.patch
+
# CITRA - END
# PCSX2 - START
@@ -632,15 +649,15 @@ modules:
- ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt"
sources:
- type: file
- url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.4570/pcsx2-v1.7.4570-linux-AppImage-64bit-Qt.AppImage
- sha256: fab77713f37140451d37b237092df479fa61325a97c038fad5a9c687f1e5f2b1
+ url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.4916/pcsx2-v1.7.4916-linux-appimage-x64-Qt.AppImage
+ sha256: 870a9d198d5f05a1ecf3e98110fe24beacf72eb45077ee31d1200c36930b3d9c
# PCSX2 - END
# Dolphin - START
+ # DO NOT UPDATE! WENT ON QT6
# https://github.com/flathub/org.DolphinEmu.dolphin-emu
# WHEN UPADTING: remember to update rd-submodules/dolphin contents
- # NOTE: this is the last QT5 build, do not update until we don't fully switch to QT6!
# needed for the emulate bluetooth adapter feature to work
- name: bluez
@@ -810,8 +827,8 @@ modules:
sources:
- type: git
url: https://github.com/xemu-project/xemu.git
- tag: v0.7.92
- commit: d557a294feb3ecae8ec22adca0909e2d3adcc459
+ tag: v0.7.98
+ commit: 7bfb7c85378f64f93556c365ea0cc18cb2181dc8
x-checker-data:
type: json
url: https://api.github.com/repos/xemu-project/xemu/releases/latest
@@ -859,11 +876,12 @@ modules:
# MELONDS - END
# RPCS3 - START
+ # DO NOT UPDATE! WENT ON QT6
# https://github.com/flathub/net.rpcs3.RPCS3
# glu issue, check libglu module for more info
#- rd-submodules/shared-modules/glu/glu-9.json
- - rd-submodules/shared-modules/glew/glew.json
+ - rd-submodules/shared-modules/glew/glew.json # RPCS3 is not using this anymore, what about the other emu? Can we remove it?
- name: rpcs3
buildsystem: cmake-ninja
@@ -908,7 +926,7 @@ modules:
sources:
- type: git
url: https://github.com/RPCS3/rpcs3.git
- commit: 5d7e75c5d8c7492ae655ea38bb7ead4b868a2f17
+ commit: a828c214b5c0b87b81fcd13ff3c1e952c9a5d6dd
# RPCS3 - END
@@ -1007,8 +1025,8 @@ modules:
- /lib/pkgconfig
sources:
- type: archive
- url: https://libzip.org/download/libzip-1.9.2.tar.xz
- sha256: c93e9852b7b2dc931197831438fee5295976ee0ba24f8524a8907be5c2ba5937
+ url: https://libzip.org/download/libzip-1.10.0.tar.xz
+ sha256: cd2a7ac9f1fb5bfa6218272d9929955dc7237515bba6e14b5ad0e1d1e2212b43
x-checker-data:
type: anitya
project-id: 10649
@@ -1063,9 +1081,9 @@ modules:
type: anitya
project-id: 11526
url-template: https://github.com/fmtlib/fmt/archive/$version.tar.gz
+ versions: {<: '10.0'}
- name: wxwidgets
- buildsystem: cmake-ninja
cleanup:
- /bin
- /include
@@ -1073,15 +1091,14 @@ modules:
- /lib/wx
- /share
sources:
- - type: git
- url: https://github.com/wxWidgets/wxWidgets
- tag: v3.2.2.1
- commit: a812fffda3fe686c94e24bff27e8effd96e4de64
+ - type: archive
+ url: https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.2.1/wxWidgets-3.2.2.1.tar.bz2
+ sha256: dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
x-checker-data:
type: anitya
project-id: 5150
stable-only: true
- tag-template: v$version
+ url-template: https://github.com/wxWidgets/wxWidgets/releases/download/v$version/wxWidgets-$version.tar.bz2
- name: Cemu
buildsystem: cmake-ninja
@@ -1098,8 +1115,12 @@ modules:
x-checker-data:
type: git
tag-pattern: ^v([\d.]+-\d+)$
- tag: v2.0-39
- commit: eda4cf4b241d56c5c16f6aa4d135b8a269676a76
+ tag: v2.0-46
+ commit: a17111e6b0e4802044c90f4bedd66478de689070
+ - type: shell
+ commands:
+ - sed "s/set(EXPERIMENTAL_VERSION.*/set(EXPERIMENTAL_VERSION \"$(git describe
+ --tag | sed "s/v2.0-//")\" CACHE STRING \"\")/g" -i CMakeLists.txt
- type: script
commands:
- |
@@ -1111,7 +1132,33 @@ modules:
done
Cemu_relwithdebinfo "$@"
dest-filename: Cemu-wrapper
+ - type: script
+ dest-filename: dev_release_metainfo.py
+ commands:
+ - |
+ import os
+ import xml.etree.ElementTree as ET
+ meta_file = os.environ.get('AS_META_FILE')
+ version = os.environ.get('AS_META_VERSION')
+ release_type = os.environ.get('AS_META_TYPE')
+ release_date = os.environ.get('AS_META_DATE')
+ release_url = os.environ.get('AS_META_URL')
+ tree = ET.parse(meta_file)
+ root = tree.getroot()
+ el_releases = root.find('releases')
+ for el_release in el_releases:
+ el_releases.remove(el_release)
+ el_release = ET.SubElement(el_releases, 'release')
+ el_url = ET.SubElement(el_release, 'url')
+ el_url.text = release_url
+ el_release.attrib['type'] = release_type
+ el_release.attrib['date'] = release_date
+ el_release.attrib['version'] = version
+ ET.indent(tree, space=' ', level=0)
+ tree.write(meta_file, encoding='utf8')
post-install:
+ - cp -r bin/gameProfiles ${FLATPAK_DEST}/share/Cemu/
+ - cp -r bin/resources ${FLATPAK_DEST}/share/Cemu/
- install -Dm644 -t ${FLATPAK_DEST}/share/icons/hicolor/128x128/apps/ dist/linux/info.cemu.Cemu.png
- install -D -t ${FLATPAK_DEST}/bin/ bin/Cemu_relwithdebinfo Cemu-wrapper
@@ -1139,9 +1186,9 @@ modules:
- mv -f -t ${FLATPAK_DEST}/retrodeck /app/share/emulationstation/resources/graphics
- cp -f res/splash.svg ${FLATPAK_DEST}/retrodeck/graphics/splash.svg
- cp -f res/splash.svg ${FLATPAK_DEST}/retrodeck/graphics/splash-orig.svg
- - cp -rf res/extra-splashes/ ${FLATPAK_DEST}/retrodeck/graphics
+ - cp -rf res/extra_splashes/ ${FLATPAK_DEST}/retrodeck/graphics
- cp -f res/icon.svg /app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg
- - mv -f -t ${FLATPAK_DEST}/retrodeck res/binding-icons
+ - mv -f -t ${FLATPAK_DEST}/retrodeck res/binding_icons
# RetroDECK core script
- cp retrodeck.sh /app/bin/retrodeck.sh
@@ -1182,4 +1229,4 @@ modules:
sources:
- type: git
url: https://github.com/XargonWan/RetroDECK.git
- branch: main
+ branch: cooker-0.7.1b
diff --git a/rd-submodules/es-de/es-de-retrodeck-mods.patch b/rd-submodules/es-de/es-de-retrodeck-mods.patch
index f5f49bbd..fd17ccf9 100644
--- a/rd-submodules/es-de/es-de-retrodeck-mods.patch
+++ b/rd-submodules/es-de/es-de-retrodeck-mods.patch
@@ -1,27 +1,27 @@
diff -au1r emulationstation-de/es-app/src/guis/GuiMenu.cpp emulationstation-de/es-app/src/guis/GuiMenu.cpp
---- emulationstation-de/es-app/src/guis/GuiMenu.cpp 2023-04-12 09:08:12.394935336 -0400
-+++ emulationstation-de/es-app/src/guis/GuiMenu.cpp 2023-04-12 16:25:04.618753274 -0400
+--- emulationstation-de/es-app/src/guis/GuiMenu.cpp 2023-07-14 08:44:25.788696841 -0400
++++ emulationstation-de/es-app/src/guis/GuiMenu.cpp 2023-07-14 08:48:23.574196859 -0400
@@ -10,2 +10,3 @@
#include "guis/GuiMenu.h"
+#include "utils/PlatformUtil.h"
-
-@@ -66,2 +67,4 @@
-
-+ addEntry("RETRODECK CONFIGURATOR", 0x777777FF, false, [this] { openRetroDeckConfigurator(); });
+
+@@ -67,2 +68,4 @@
+
++ addEntry("RETRODECK CONFIGURATOR", mMenuColorPrimary, false, [this] { openRetroDeckConfigurator(); });
+
if (!Settings::getInstance()->getBool("ForceKiosk") &&
-@@ -69,3 +72,3 @@
+@@ -70,3 +73,3 @@
#if defined(__APPLE__)
-- addEntry("QUIT EMULATIONSTATION", 0x777777FF, false, [this] { openQuitMenu(); });
-+ addEntry("QUIT RETRODECK", 0x777777FF, false, [this] { openQuitMenu(); });
+- addEntry("QUIT EMULATIONSTATION", mMenuColorPrimary, false, [this] { openQuitMenu(); });
++ addEntry("QUIT RETRODECK", mMenuColorPrimary, false, [this] { openQuitMenu(); });
#else
-@@ -74,3 +77,3 @@
+@@ -75,3 +78,3 @@
else
-- addEntry("QUIT EMULATIONSTATION", 0x777777FF, false, [this] { openQuitMenu(); });
-+ addEntry("QUIT RETRODECK", 0x777777FF, false, [this] { openQuitMenu(); });
+- addEntry("QUIT EMULATIONSTATION", mMenuColorPrimary, false, [this] { openQuitMenu(); });
++ addEntry("QUIT RETRODECK", mMenuColorPrimary, false, [this] { openQuitMenu(); });
#endif
-@@ -1704,2 +1707,15 @@
-
+@@ -1729,2 +1732,15 @@
+
+void GuiMenu::openRetroDeckConfigurator()
+{
+ // Launch the configurator.sh script
@@ -36,23 +36,138 @@ diff -au1r emulationstation-de/es-app/src/guis/GuiMenu.cpp emulationstation-de/e
+}
+
void GuiMenu::openQuitMenu()
-@@ -1732,3 +1748,3 @@
- });
-- auto quitText = std::make_shared("QUIT EMULATIONSTATION",
-+ auto quitText = std::make_shared("QUIT RETRODECK",
- Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
+@@ -1758,3 +1774,3 @@
+ auto quitText = std::make_shared(
+- "QUIT EMULATIONSTATION", Font::get(FONT_SIZE_MEDIUM), mMenuColorPrimary);
++ "QUIT RETRODECK", Font::get(FONT_SIZE_MEDIUM), mMenuColorPrimary);
+ quitText->setSelectable(true);
diff -au1r emulationstation-de/es-app/src/guis/GuiMenu.h emulationstation-de/es-app/src/guis/GuiMenu.h
---- emulationstation-de/es-app/src/guis/GuiMenu.h 2023-04-12 09:08:12.394935336 -0400
-+++ emulationstation-de/es-app/src/guis/GuiMenu.h 2023-04-12 09:33:25.023871033 -0400
+--- emulationstation-de/es-app/src/guis/GuiMenu.h 2023-07-14 08:44:25.788696841 -0400
++++ emulationstation-de/es-app/src/guis/GuiMenu.h 2023-07-14 08:49:05.851991859 -0400
@@ -46,2 +46,3 @@
void openOtherOptions();
+ void openRetroDeckConfigurator();
void openQuitMenu();
+diff -au1r emulationstation-de/es-app/src/views/ViewController.cpp emulationstation-de/es-app/src/views/ViewController.cpp
+--- emulationstation-de/es-app/src/views/ViewController.cpp 2023-07-14 08:44:25.788696841 -0400
++++ emulationstation-de/es-app/src/views/ViewController.cpp 2023-07-17 09:58:26.862373622 -0400
+@@ -164,9 +164,7 @@
+ {
+- mNoGamesErrorMessage = "NO GAME FILES WERE FOUND. EITHER PLACE YOUR GAMES IN "
+- "THE CURRENTLY CONFIGURED ROM DIRECTORY OR CHANGE "
+- "ITS PATH USING THE BUTTON BELOW. OPTIONALLY THE ROM "
+- "DIRECTORY STRUCTURE CAN BE GENERATED WHICH WILL "
+- "CREATE A TEXT FILE FOR EACH SYSTEM PROVIDING SOME "
+- "INFORMATION SUCH AS THE SUPPORTED FILE EXTENSIONS.\n"
+- "THIS IS THE CURRENTLY CONFIGURED ROM DIRECTORY:\n";
++ mNoGamesErrorMessage = "RETRODECK COULD NOT FIND ANY ROM FILES. "
++ "PLEASE PLACE YOUR ROM FILES INTO THE APPROPRIATE "
++ "SYSTEM SUBFOLDER IN THE CONFIGURED ROM DIRECTORY "
++ "AND RUN RETRODECK AGAIN TO SCAN YOUR LIBRARY.\n"
++ "THE CURRENTLY CONFIGURED ROM DIRECTORY IS:\n";
+
+@@ -179,90 +177,3 @@
+ mNoGamesMessageBox = new GuiMsgBox(
+- HelpStyle(), mNoGamesErrorMessage + mRomDirectory, "CHANGE ROM DIRECTORY",
+- [this] {
+- std::string currentROMDirectory;
+-#if defined(_WIN64)
+- currentROMDirectory = Utils::String::replace(FileData::getROMDirectory(), "/", "\\");
+-#else
+- currentROMDirectory = FileData::getROMDirectory();
+-#endif
+- if (Settings::getInstance()->getBool("VirtualKeyboard")) {
+- mWindow->pushGui(new GuiTextEditKeyboardPopup(
+- HelpStyle(), 0.0f, "ENTER ROM DIRECTORY PATH", currentROMDirectory,
+- [this](const std::string& newROMDirectory) {
+- Settings::getInstance()->setString("ROMDirectory",
+- Utils::String::trim(newROMDirectory));
+- Settings::getInstance()->saveFile();
+-#if defined(_WIN64)
+- mRomDirectory =
+- Utils::String::replace(FileData::getROMDirectory(), "/", "\\");
+-#else
+- mRomDirectory = FileData::getROMDirectory();
+-#endif
+- mNoGamesMessageBox->changeText(mNoGamesErrorMessage + mRomDirectory);
+- mWindow->pushGui(new GuiMsgBox(HelpStyle(),
+- "ROM DIRECTORY SETTING SAVED, RESTART\n"
+- "THE APPLICATION TO RESCAN THE SYSTEMS",
+- "OK", nullptr, "", nullptr, "", nullptr,
+- true, true));
+- },
+- false, "SAVE", "SAVE CHANGES?", "Currently configured path:",
+- currentROMDirectory, "LOAD CURRENTLY CONFIGURED PATH",
+- "CLEAR (LEAVE BLANK TO RESET TO DEFAULT PATH)"));
+- }
+- else {
+- mWindow->pushGui(new GuiTextEditPopup(
+- HelpStyle(), "ENTER ROM DIRECTORY PATH", currentROMDirectory,
+- [this](const std::string& newROMDirectory) {
+- Settings::getInstance()->setString("ROMDirectory",
+- Utils::String::trim(newROMDirectory));
+- Settings::getInstance()->saveFile();
+-#if defined(_WIN64)
+- mRomDirectory =
+- Utils::String::replace(FileData::getROMDirectory(), "/", "\\");
+-#else
+- mRomDirectory = FileData::getROMDirectory();
+-#endif
+- mNoGamesMessageBox->changeText(mNoGamesErrorMessage + mRomDirectory);
+- mWindow->pushGui(new GuiMsgBox(HelpStyle(),
+- "ROM DIRECTORY SETTING SAVED, RESTART\n"
+- "THE APPLICATION TO RESCAN THE SYSTEMS",
+- "OK", nullptr, "", nullptr, "", nullptr,
+- true));
+- },
+- false, "SAVE", "SAVE CHANGES?", "Currently configured path:",
+- currentROMDirectory, "LOAD CURRENTLY CONFIGURED PATH",
+- "CLEAR (LEAVE BLANK TO RESET TO DEFAULT PATH)"));
+- }
+- },
+- "CREATE DIRECTORIES",
+- [this] {
+- mWindow->pushGui(new GuiMsgBox(
+- HelpStyle(),
+- "THIS WILL CREATE DIRECTORIES FOR ALL THE\n"
+- "GAME SYSTEMS DEFINED IN es_systems.xml\n\n"
+- "THIS MAY CREATE A LOT OF FOLDERS SO IT'S\n"
+- "ADVICED TO REMOVE THE ONES YOU DON'T NEED\n\n"
+- "PROCEED?",
+- "YES",
+- [this] {
+- if (!SystemData::createSystemDirectories()) {
+- mWindow->pushGui(new GuiMsgBox(HelpStyle(),
+- "THE SYSTEM DIRECTORIES WERE SUCCESSFULLY\n"
+- "GENERATED, EXIT THE APPLICATION AND PLACE\n"
+- "YOUR GAMES IN THE NEWLY CREATED FOLDERS",
+- "OK", nullptr, "", nullptr, "", nullptr,
+- true));
+- }
+- else {
+- mWindow->pushGui(new GuiMsgBox(HelpStyle(),
+- "ERROR CREATING THE SYSTEM DIRECTORIES,\n"
+- "PERMISSION PROBLEMS OR DISK FULL?\n\n"
+- "SEE THE LOG FILE FOR MORE DETAILS",
+- "OK", nullptr, "", nullptr, "", nullptr,
+- true));
+- }
+- },
+- "NO", nullptr, "", nullptr, true));
+- },
+- "QUIT",
++ HelpStyle(), mNoGamesErrorMessage + mRomDirectory, "QUIT",
+ [] {
+@@ -272,3 +183,3 @@
+ },
+- true, false,
++ "", nullptr, "", nullptr, true, false,
+ (mRenderer->getIsVerticalOrientation() ?
diff -au1r emulationstation-de/es-core/src/Window.cpp emulationstation-de/es-core/src/Window.cpp
---- emulationstation-de/es-core/src/Window.cpp 2023-04-12 09:08:12.398268670 -0400
-+++ emulationstation-de/es-core/src/Window.cpp 2023-04-14 11:03:48.261309278 -0400
-@@ -179,3 +179,3 @@
- progressBarRect.barPosY += borderThickness;
-- progressBarRect.color = 0x79010FFF;
+--- emulationstation-de/es-core/src/Window.cpp 2023-07-14 08:44:25.805371841 -0400
++++ emulationstation-de/es-core/src/Window.cpp 2023-07-14 08:52:32.335181878 -0400
+@@ -165,3 +165,3 @@
+ progressBarRect.barPosY = mSplashTextPositions.y + (progressBarRect.barHeight * 2.0f);
+- progressBarRect.color = 0x777777FF;
+ progressBarRect.color = 0xC858E6FF;
mProgressBarRectangles.emplace_back(progressBarRect);
diff --git a/rd-submodules/retroarch b/rd-submodules/retroarch
index fbfdda61..0b1cfb79 160000
--- a/rd-submodules/retroarch
+++ b/rd-submodules/retroarch
@@ -1 +1 @@
-Subproject commit fbfdda61b3da092a71cc53999dd3e7b909f244e2
+Subproject commit 0b1cfb79e591e10488a3262d6b38db843c39a409
diff --git a/rd-submodules/shared-modules b/rd-submodules/shared-modules
index 50314360..a2441b96 160000
--- a/rd-submodules/shared-modules
+++ b/rd-submodules/shared-modules
@@ -1 +1 @@
-Subproject commit 50314360ded6fa3b9f0b602513b1164b7a6636ed
+Subproject commit a2441b964afefd8cd1cebcdf562c7878670daf42
diff --git a/res/binding-icons/RD-Arcade-BLUE.png b/res/binding_icons/RD-Arcade-BLUE.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arcade-BLUE.png
rename to res/binding_icons/RD-Arcade-BLUE.png
diff --git a/res/binding-icons/RD-Arcade-GREEN.png b/res/binding_icons/RD-Arcade-GREEN.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arcade-GREEN.png
rename to res/binding_icons/RD-Arcade-GREEN.png
diff --git a/res/binding-icons/RD-Arcade-RED.png b/res/binding_icons/RD-Arcade-RED.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arcade-RED.png
rename to res/binding_icons/RD-Arcade-RED.png
diff --git a/res/binding-icons/RD-Arcade-YELLOW.png b/res/binding_icons/RD-Arcade-YELLOW.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arcade-YELLOW.png
rename to res/binding_icons/RD-Arcade-YELLOW.png
diff --git a/res/binding-icons/RD-Arrow-01.png b/res/binding_icons/RD-Arrow-01.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-01.png
rename to res/binding_icons/RD-Arrow-01.png
diff --git a/res/binding-icons/RD-Arrow-02.png b/res/binding_icons/RD-Arrow-02.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-02.png
rename to res/binding_icons/RD-Arrow-02.png
diff --git a/res/binding-icons/RD-Arrow-03.png b/res/binding_icons/RD-Arrow-03.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-03.png
rename to res/binding_icons/RD-Arrow-03.png
diff --git a/res/binding-icons/RD-Arrow-04.png b/res/binding_icons/RD-Arrow-04.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-04.png
rename to res/binding_icons/RD-Arrow-04.png
diff --git a/res/binding-icons/RD-Arrow-05.png b/res/binding_icons/RD-Arrow-05.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-05.png
rename to res/binding_icons/RD-Arrow-05.png
diff --git a/res/binding-icons/RD-Arrow-06.png b/res/binding_icons/RD-Arrow-06.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-06.png
rename to res/binding_icons/RD-Arrow-06.png
diff --git a/res/binding-icons/RD-Arrow-07.png b/res/binding_icons/RD-Arrow-07.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-07.png
rename to res/binding_icons/RD-Arrow-07.png
diff --git a/res/binding-icons/RD-Arrow-08.png b/res/binding_icons/RD-Arrow-08.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-08.png
rename to res/binding_icons/RD-Arrow-08.png
diff --git a/res/binding-icons/RD-Arrow-09.png b/res/binding_icons/RD-Arrow-09.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-09.png
rename to res/binding_icons/RD-Arrow-09.png
diff --git a/res/binding-icons/RD-Arrow-10.png b/res/binding_icons/RD-Arrow-10.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-10.png
rename to res/binding_icons/RD-Arrow-10.png
diff --git a/res/binding-icons/RD-Arrow-11.png b/res/binding_icons/RD-Arrow-11.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-11.png
rename to res/binding_icons/RD-Arrow-11.png
diff --git a/res/binding-icons/RD-Arrow-12.png b/res/binding_icons/RD-Arrow-12.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-12.png
rename to res/binding_icons/RD-Arrow-12.png
diff --git a/res/binding-icons/RD-Arrow-13.png b/res/binding_icons/RD-Arrow-13.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-13.png
rename to res/binding_icons/RD-Arrow-13.png
diff --git a/res/binding-icons/RD-Arrow-14.png b/res/binding_icons/RD-Arrow-14.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-14.png
rename to res/binding_icons/RD-Arrow-14.png
diff --git a/res/binding-icons/RD-Arrow-15.png b/res/binding_icons/RD-Arrow-15.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-15.png
rename to res/binding_icons/RD-Arrow-15.png
diff --git a/res/binding-icons/RD-Arrow-16.png b/res/binding_icons/RD-Arrow-16.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-16.png
rename to res/binding_icons/RD-Arrow-16.png
diff --git a/res/binding-icons/RD-Arrow-17.png b/res/binding_icons/RD-Arrow-17.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-17.png
rename to res/binding_icons/RD-Arrow-17.png
diff --git a/res/binding-icons/RD-Arrow-18.png b/res/binding_icons/RD-Arrow-18.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-18.png
rename to res/binding_icons/RD-Arrow-18.png
diff --git a/res/binding-icons/RD-Arrow-19.png b/res/binding_icons/RD-Arrow-19.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-19.png
rename to res/binding_icons/RD-Arrow-19.png
diff --git a/res/binding-icons/RD-Arrow-20.png b/res/binding_icons/RD-Arrow-20.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-20.png
rename to res/binding_icons/RD-Arrow-20.png
diff --git a/res/binding-icons/RD-Arrow-21.png b/res/binding_icons/RD-Arrow-21.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-21.png
rename to res/binding_icons/RD-Arrow-21.png
diff --git a/res/binding-icons/RD-Arrow-22.png b/res/binding_icons/RD-Arrow-22.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-22.png
rename to res/binding_icons/RD-Arrow-22.png
diff --git a/res/binding-icons/RD-Arrow-23.png b/res/binding_icons/RD-Arrow-23.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-23.png
rename to res/binding_icons/RD-Arrow-23.png
diff --git a/res/binding-icons/RD-Arrow-24.png b/res/binding_icons/RD-Arrow-24.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-24.png
rename to res/binding_icons/RD-Arrow-24.png
diff --git a/res/binding-icons/RD-Arrow-25.png b/res/binding_icons/RD-Arrow-25.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-25.png
rename to res/binding_icons/RD-Arrow-25.png
diff --git a/res/binding-icons/RD-Arrow-26.png b/res/binding_icons/RD-Arrow-26.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-26.png
rename to res/binding_icons/RD-Arrow-26.png
diff --git a/res/binding-icons/RD-Arrow-27.png b/res/binding_icons/RD-Arrow-27.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-27.png
rename to res/binding_icons/RD-Arrow-27.png
diff --git a/res/binding-icons/RD-Arrow-28.png b/res/binding_icons/RD-Arrow-28.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-28.png
rename to res/binding_icons/RD-Arrow-28.png
diff --git a/res/binding-icons/RD-Arrow-29.png b/res/binding_icons/RD-Arrow-29.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-29.png
rename to res/binding_icons/RD-Arrow-29.png
diff --git a/res/binding-icons/RD-Arrow-30.png b/res/binding_icons/RD-Arrow-30.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-30.png
rename to res/binding_icons/RD-Arrow-30.png
diff --git a/res/binding-icons/RD-Arrow-31.png b/res/binding_icons/RD-Arrow-31.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-31.png
rename to res/binding_icons/RD-Arrow-31.png
diff --git a/res/binding-icons/RD-Arrow-32.png b/res/binding_icons/RD-Arrow-32.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-32.png
rename to res/binding_icons/RD-Arrow-32.png
diff --git a/res/binding-icons/RD-Arrow-33.png b/res/binding_icons/RD-Arrow-33.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-33.png
rename to res/binding_icons/RD-Arrow-33.png
diff --git a/res/binding-icons/RD-Arrow-34.png b/res/binding_icons/RD-Arrow-34.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-34.png
rename to res/binding_icons/RD-Arrow-34.png
diff --git a/res/binding-icons/RD-Arrow-35.png b/res/binding_icons/RD-Arrow-35.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-35.png
rename to res/binding_icons/RD-Arrow-35.png
diff --git a/res/binding-icons/RD-Arrow-36.png b/res/binding_icons/RD-Arrow-36.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-36.png
rename to res/binding_icons/RD-Arrow-36.png
diff --git a/res/binding-icons/RD-Arrow-37.png b/res/binding_icons/RD-Arrow-37.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Arrow-37.png
rename to res/binding_icons/RD-Arrow-37.png
diff --git a/res/binding-icons/RD-ESC.png b/res/binding_icons/RD-ESC.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-ESC.png
rename to res/binding_icons/RD-ESC.png
diff --git a/res/binding-icons/RD-Enter.png b/res/binding_icons/RD-Enter.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Enter.png
rename to res/binding_icons/RD-Enter.png
diff --git a/res/binding-icons/RD-F1.png b/res/binding_icons/RD-F1.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-F1.png
rename to res/binding_icons/RD-F1.png
diff --git a/res/binding-icons/RD-F4.png b/res/binding_icons/RD-F4.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-F4.png
rename to res/binding_icons/RD-F4.png
diff --git a/res/binding-icons/RD-Tab.png b/res/binding_icons/RD-Tab.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-Tab.png
rename to res/binding_icons/RD-Tab.png
diff --git a/res/binding-icons/RD-applets-screenshooter.png b/res/binding_icons/RD-applets-screenshooter.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-applets-screenshooter.png
rename to res/binding_icons/RD-applets-screenshooter.png
diff --git a/res/binding-icons/RD-application-x-iso.png b/res/binding_icons/RD-application-x-iso.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-application-x-iso.png
rename to res/binding_icons/RD-application-x-iso.png
diff --git a/res/binding-icons/RD-battery-full-charging.png b/res/binding_icons/RD-battery-full-charging.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-battery-full-charging.png
rename to res/binding_icons/RD-battery-full-charging.png
diff --git a/res/binding-icons/RD-battery-missing.png b/res/binding_icons/RD-battery-missing.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-battery-missing.png
rename to res/binding_icons/RD-battery-missing.png
diff --git a/res/binding-icons/RD-camera-photo.png b/res/binding_icons/RD-camera-photo.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-camera-photo.png
rename to res/binding_icons/RD-camera-photo.png
diff --git a/res/binding_icons/RD-cemu.png b/res/binding_icons/RD-cemu.png
new file mode 100755
index 00000000..94763938
Binary files /dev/null and b/res/binding_icons/RD-cemu.png differ
diff --git a/res/binding_icons/RD-citra.png b/res/binding_icons/RD-citra.png
new file mode 100755
index 00000000..2ab3004e
Binary files /dev/null and b/res/binding_icons/RD-citra.png differ
diff --git a/res/binding-icons/RD-distributor-logo-netbsd.png b/res/binding_icons/RD-distributor-logo-netbsd.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-distributor-logo-netbsd.png
rename to res/binding_icons/RD-distributor-logo-netbsd.png
diff --git a/res/binding-icons/RD-document-save.png b/res/binding_icons/RD-document-save.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-document-save.png
rename to res/binding_icons/RD-document-save.png
diff --git a/res/binding_icons/RD-dolphin.png b/res/binding_icons/RD-dolphin.png
new file mode 100755
index 00000000..510d0ef4
Binary files /dev/null and b/res/binding_icons/RD-dolphin.png differ
diff --git a/res/binding-icons/RD-edit-find.png b/res/binding_icons/RD-edit-find.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-edit-find.png
rename to res/binding_icons/RD-edit-find.png
diff --git a/res/binding-icons/RD-edit-undo-red.png b/res/binding_icons/RD-edit-undo-red.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-edit-undo-red.png
rename to res/binding_icons/RD-edit-undo-red.png
diff --git a/res/binding-icons/RD-edit-undo.png b/res/binding_icons/RD-edit-undo.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-edit-undo.png
rename to res/binding_icons/RD-edit-undo.png
diff --git a/res/binding-icons/RD-emblem-documents.png b/res/binding_icons/RD-emblem-documents.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-emblem-documents.png
rename to res/binding_icons/RD-emblem-documents.png
diff --git a/res/binding-icons/RD-emblem-downloads.png b/res/binding_icons/RD-emblem-downloads.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-emblem-downloads.png
rename to res/binding_icons/RD-emblem-downloads.png
diff --git a/res/binding-icons/RD-emblem-encrypted-locked.png b/res/binding_icons/RD-emblem-encrypted-locked.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-emblem-encrypted-locked.png
rename to res/binding_icons/RD-emblem-encrypted-locked.png
diff --git a/res/binding-icons/RD-emblem-encrypted-unlocked.png b/res/binding_icons/RD-emblem-encrypted-unlocked.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-emblem-encrypted-unlocked.png
rename to res/binding_icons/RD-emblem-encrypted-unlocked.png
diff --git a/res/binding-icons/RD-emblem-favorite.png b/res/binding_icons/RD-emblem-favorite.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-emblem-favorite.png
rename to res/binding_icons/RD-emblem-favorite.png
diff --git a/res/binding-icons/RD-emblem-generic.png b/res/binding_icons/RD-emblem-generic.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-emblem-generic.png
rename to res/binding_icons/RD-emblem-generic.png
diff --git a/res/binding-icons/RD-emblem-new.png b/res/binding_icons/RD-emblem-new.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-emblem-new.png
rename to res/binding_icons/RD-emblem-new.png
diff --git a/res/binding-icons/RD-emblem-synchronizing.png b/res/binding_icons/RD-emblem-synchronizing.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-emblem-synchronizing.png
rename to res/binding_icons/RD-emblem-synchronizing.png
diff --git a/res/binding-icons/RD-emblem-unlocked.png b/res/binding_icons/RD-emblem-unlocked.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-emblem-unlocked.png
rename to res/binding_icons/RD-emblem-unlocked.png
diff --git a/res/binding-icons/RD-emblem-unreadable.png b/res/binding_icons/RD-emblem-unreadable.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-emblem-unreadable.png
rename to res/binding_icons/RD-emblem-unreadable.png
diff --git a/res/binding-icons/RD-folder-applications.png b/res/binding_icons/RD-folder-applications.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-folder-applications.png
rename to res/binding_icons/RD-folder-applications.png
diff --git a/res/binding-icons/RD-folder-blue-backup.png b/res/binding_icons/RD-folder-blue-backup.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-folder-blue-backup.png
rename to res/binding_icons/RD-folder-blue-backup.png
diff --git a/res/binding-icons/RD-folder-blue-games.png b/res/binding_icons/RD-folder-blue-games.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-folder-blue-games.png
rename to res/binding_icons/RD-folder-blue-games.png
diff --git a/res/binding-icons/RD-go-next.png b/res/binding_icons/RD-go-next.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-go-next.png
rename to res/binding_icons/RD-go-next.png
diff --git a/res/binding-icons/RD-go-previous.png b/res/binding_icons/RD-go-previous.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-go-previous.png
rename to res/binding_icons/RD-go-previous.png
diff --git a/res/binding-icons/RD-godot.png b/res/binding_icons/RD-godot.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-godot.png
rename to res/binding_icons/RD-godot.png
diff --git a/res/binding_icons/RD-gzdoom.png b/res/binding_icons/RD-gzdoom.png
new file mode 100755
index 00000000..51fdb052
Binary files /dev/null and b/res/binding_icons/RD-gzdoom.png differ
diff --git a/res/binding-icons/RD-icon_circle_2_180x180.png b/res/binding_icons/RD-icon_circle_2_180x180.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-icon_circle_2_180x180.png
rename to res/binding_icons/RD-icon_circle_2_180x180.png
diff --git a/res/binding-icons/RD-io.github.antimicrox.antimicrox.png b/res/binding_icons/RD-io.github.antimicrox.antimicrox.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-io.github.antimicrox.antimicrox.png
rename to res/binding_icons/RD-io.github.antimicrox.antimicrox.png
diff --git a/res/binding-icons/RD-list-add.png b/res/binding_icons/RD-list-add.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-list-add.png
rename to res/binding_icons/RD-list-add.png
diff --git a/res/binding-icons/RD-list-remove.png b/res/binding_icons/RD-list-remove.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-list-remove.png
rename to res/binding_icons/RD-list-remove.png
diff --git a/res/binding_icons/RD-mame.png b/res/binding_icons/RD-mame.png
new file mode 100755
index 00000000..b6c7d1f0
Binary files /dev/null and b/res/binding_icons/RD-mame.png differ
diff --git a/res/binding-icons/RD-media-playback-pause.png b/res/binding_icons/RD-media-playback-pause.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-media-playback-pause.png
rename to res/binding_icons/RD-media-playback-pause.png
diff --git a/res/binding-icons/RD-media-playback-start.png b/res/binding_icons/RD-media-playback-start.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-media-playback-start.png
rename to res/binding_icons/RD-media-playback-start.png
diff --git a/res/binding_icons/RD-melonds.png b/res/binding_icons/RD-melonds.png
new file mode 100755
index 00000000..e351ffb3
Binary files /dev/null and b/res/binding_icons/RD-melonds.png differ
diff --git a/res/binding-icons/RD-notification-network-ethernet-connected.png b/res/binding_icons/RD-notification-network-ethernet-connected.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-notification-network-ethernet-connected.png
rename to res/binding_icons/RD-notification-network-ethernet-connected.png
diff --git a/res/binding-icons/RD-notification-network-wireless.png b/res/binding_icons/RD-notification-network-wireless.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-notification-network-wireless.png
rename to res/binding_icons/RD-notification-network-wireless.png
diff --git a/res/binding-icons/RD-octopi.png b/res/binding_icons/RD-octopi.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-octopi.png
rename to res/binding_icons/RD-octopi.png
diff --git a/res/binding-icons/RD-org.xfce.session.png b/res/binding_icons/RD-org.xfce.session.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-org.xfce.session.png
rename to res/binding_icons/RD-org.xfce.session.png
diff --git a/res/binding_icons/RD-pcsx2.png b/res/binding_icons/RD-pcsx2.png
new file mode 100755
index 00000000..7df1c994
Binary files /dev/null and b/res/binding_icons/RD-pcsx2.png differ
diff --git a/res/binding-icons/RD-pcsxr-icon.png b/res/binding_icons/RD-pcsxr-icon.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-pcsxr-icon.png
rename to res/binding_icons/RD-pcsxr-icon.png
diff --git a/res/binding-icons/RD-playonlinux.png b/res/binding_icons/RD-playonlinux.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-playonlinux.png
rename to res/binding_icons/RD-playonlinux.png
diff --git a/res/binding_icons/RD-ppsspp.png b/res/binding_icons/RD-ppsspp.png
new file mode 100755
index 00000000..f2bc6cfd
Binary files /dev/null and b/res/binding_icons/RD-ppsspp.png differ
diff --git a/res/binding-icons/RD-preferences-desktop-accessibility.png b/res/binding_icons/RD-preferences-desktop-accessibility.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-preferences-desktop-accessibility.png
rename to res/binding_icons/RD-preferences-desktop-accessibility.png
diff --git a/res/binding-icons/RD-preferences-desktop-display.png b/res/binding_icons/RD-preferences-desktop-display.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-preferences-desktop-display.png
rename to res/binding_icons/RD-preferences-desktop-display.png
diff --git a/res/binding-icons/RD-preferences-desktop-emoticons.png b/res/binding_icons/RD-preferences-desktop-emoticons.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-preferences-desktop-emoticons.png
rename to res/binding_icons/RD-preferences-desktop-emoticons.png
diff --git a/res/binding-icons/RD-preferences-desktop-icons.png b/res/binding_icons/RD-preferences-desktop-icons.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-preferences-desktop-icons.png
rename to res/binding_icons/RD-preferences-desktop-icons.png
diff --git a/res/binding-icons/RD-preferences-desktop-keyboard.png b/res/binding_icons/RD-preferences-desktop-keyboard.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-preferences-desktop-keyboard.png
rename to res/binding_icons/RD-preferences-desktop-keyboard.png
diff --git a/res/binding-icons/RD-preferences-system-search.png b/res/binding_icons/RD-preferences-system-search.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-preferences-system-search.png
rename to res/binding_icons/RD-preferences-system-search.png
diff --git a/res/binding-icons/RD-preferences-system-windows-actions.png b/res/binding_icons/RD-preferences-system-windows-actions.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-preferences-system-windows-actions.png
rename to res/binding_icons/RD-preferences-system-windows-actions.png
diff --git a/res/binding-icons/RD-preferences-tweaks-shadows.png b/res/binding_icons/RD-preferences-tweaks-shadows.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-preferences-tweaks-shadows.png
rename to res/binding_icons/RD-preferences-tweaks-shadows.png
diff --git a/res/binding-icons/RD-process-stop.png b/res/binding_icons/RD-process-stop.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-process-stop.png
rename to res/binding_icons/RD-process-stop.png
diff --git a/res/binding-icons/RD-pvz.png b/res/binding_icons/RD-pvz.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-pvz.png
rename to res/binding_icons/RD-pvz.png
diff --git a/res/binding-icons/RD-retroarch.png b/res/binding_icons/RD-retroarch.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-retroarch.png
rename to res/binding_icons/RD-retroarch.png
diff --git a/res/binding_icons/RD-retrodeck-compact.png b/res/binding_icons/RD-retrodeck-compact.png
new file mode 100755
index 00000000..8ad3624d
Binary files /dev/null and b/res/binding_icons/RD-retrodeck-compact.png differ
diff --git a/res/binding_icons/RD-rpcs3.png b/res/binding_icons/RD-rpcs3.png
new file mode 100755
index 00000000..d7580360
Binary files /dev/null and b/res/binding_icons/RD-rpcs3.png differ
diff --git a/res/binding_icons/RD-ryujinx.png b/res/binding_icons/RD-ryujinx.png
new file mode 100755
index 00000000..1e3a15f6
Binary files /dev/null and b/res/binding_icons/RD-ryujinx.png differ
diff --git a/res/binding-icons/RD-security-low.png b/res/binding_icons/RD-security-low.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-security-low.png
rename to res/binding_icons/RD-security-low.png
diff --git a/res/binding-icons/RD-steam.png b/res/binding_icons/RD-steam.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-steam.png
rename to res/binding_icons/RD-steam.png
diff --git a/res/binding-icons/RD-supertuxkart.png b/res/binding_icons/RD-supertuxkart.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-supertuxkart.png
rename to res/binding_icons/RD-supertuxkart.png
diff --git a/res/binding-icons/RD-system-reboot.png b/res/binding_icons/RD-system-reboot.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-system-reboot.png
rename to res/binding_icons/RD-system-reboot.png
diff --git a/res/binding-icons/RD-system-switch-user.png b/res/binding_icons/RD-system-switch-user.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-system-switch-user.png
rename to res/binding_icons/RD-system-switch-user.png
diff --git a/res/binding-icons/RD-tesseract.png b/res/binding_icons/RD-tesseract.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-tesseract.png
rename to res/binding_icons/RD-tesseract.png
diff --git a/res/binding-icons/RD-text-x-generic.png b/res/binding_icons/RD-text-x-generic.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-text-x-generic.png
rename to res/binding_icons/RD-text-x-generic.png
diff --git a/res/binding-icons/RD-tools-check-spelling.png b/res/binding_icons/RD-tools-check-spelling.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-tools-check-spelling.png
rename to res/binding_icons/RD-tools-check-spelling.png
diff --git a/res/binding-icons/RD-urbanterror.png b/res/binding_icons/RD-urbanterror.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-urbanterror.png
rename to res/binding_icons/RD-urbanterror.png
diff --git a/res/binding-icons/RD-user-red-home.png b/res/binding_icons/RD-user-red-home.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-user-red-home.png
rename to res/binding_icons/RD-user-red-home.png
diff --git a/res/binding-icons/RD-utilities-terminal.png b/res/binding_icons/RD-utilities-terminal.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-utilities-terminal.png
rename to res/binding_icons/RD-utilities-terminal.png
diff --git a/res/binding_icons/RD-vcmi.png b/res/binding_icons/RD-vcmi.png
new file mode 100755
index 00000000..bbc4cd4f
Binary files /dev/null and b/res/binding_icons/RD-vcmi.png differ
diff --git a/res/binding-icons/RD-video-x-generic.png b/res/binding_icons/RD-video-x-generic.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-video-x-generic.png
rename to res/binding_icons/RD-video-x-generic.png
diff --git a/res/binding-icons/RD-view-refresh.png b/res/binding_icons/RD-view-refresh.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-view-refresh.png
rename to res/binding_icons/RD-view-refresh.png
diff --git a/res/binding_icons/RD-xemu.png b/res/binding_icons/RD-xemu.png
new file mode 100755
index 00000000..fb949e27
Binary files /dev/null and b/res/binding_icons/RD-xemu.png differ
diff --git a/res/binding-icons/RD-zoom-fit-best.png b/res/binding_icons/RD-zoom-fit-best.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-zoom-fit-best.png
rename to res/binding_icons/RD-zoom-fit-best.png
diff --git a/res/binding-icons/RD-zoom-in.png b/res/binding_icons/RD-zoom-in.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-zoom-in.png
rename to res/binding_icons/RD-zoom-in.png
diff --git a/res/binding-icons/RD-zoom-original.png b/res/binding_icons/RD-zoom-original.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-zoom-original.png
rename to res/binding_icons/RD-zoom-original.png
diff --git a/res/binding-icons/RD-zoom-out.png b/res/binding_icons/RD-zoom-out.png
old mode 100644
new mode 100755
similarity index 100%
rename from res/binding-icons/RD-zoom-out.png
rename to res/binding_icons/RD-zoom-out.png
diff --git a/res/extra-splashes/example-splash.svg b/res/extra_splashes/example-splash.svg
similarity index 100%
rename from res/extra-splashes/example-splash.svg
rename to res/extra_splashes/example-splash.svg
diff --git a/tools/configurator.sh b/tools/configurator.sh
index ee790af0..175a7174 100644
--- a/tools/configurator.sh
+++ b/tools/configurator.sh
@@ -344,7 +344,7 @@ configurator_dolphin_input_textures_dialog() {
set_setting_value $dolphingfxconf "HiresTextures" "True" dolphin
(
mkdir "/var/data/dolphin-emu/Load/DynamicInputTextures"
- rsync -a "/app/retrodeck/extras/DynamicInputTextures/" "/var/data/dolphin-emu/Load/DynamicInputTextures/"
+ rsync -rlD --mkpath "/app/retrodeck/extras/DynamicInputTextures/" "/var/data/dolphin-emu/Load/DynamicInputTextures/"
) |
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
@@ -382,7 +382,7 @@ configurator_primehack_input_textures_dialog() {
set_setting_value $primehackgfxconf "HiresTextures" "True" primehack
(
mkdir "/var/data/primehack/Load/DynamicInputTextures"
- rsync -a "/app/retrodeck/extras/DynamicInputTextures/" "/var/data/primehack/Load/DynamicInputTextures/"
+ rsync -rlD --mkpath "/app/retrodeck/extras/DynamicInputTextures/" "/var/data/primehack/Load/DynamicInputTextures/"
) |
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
@@ -879,7 +879,7 @@ configurator_retrodeck_troubleshooting_dialog() {
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--title "RetroDECK Configurator Utility - Backup in Progress" \
--text="Backing up RetroDECK userdata, please wait..."
- if [[ -f $backups_folder/$(date +"%0m%0d")_retrodeck_userdata.zip ]]; then
+ if [[ -f "$backups_folder/$(date +"%0m%0d")_retrodeck_userdata.zip" ]]; then
configurator_generic_dialog "RetroDECK Configurator - Backup: RetroDECK Userdata" "The backup process is now complete."
else
configurator_generic_dialog "RetroDECK Configurator - Backup: RetroDECK Userdata" "The backup process could not be completed,\nplease check the logs folder for more information."