Merge pull request #722 from XargonWan/feat/ponzu

feat/ponzu
This commit is contained in:
XargonWan 2024-03-10 09:09:24 +01:00 committed by GitHub
commit 558a33892e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 3997 additions and 46 deletions

View file

@ -23,7 +23,7 @@ fi
sudo cp -vfr "retrodeck.sh" "$app/bin/"
sudo cp -vfr "functions/"** "$app/libexec/"
sudo cp -vfr "tools" "$app/tools"
sudo cp -vfr "tools" "$app"
sudo cp -vfr "emu-configs/"** "$app/retrodeck/emu-configs/"
sudo cp -vfr "es-configs/es_find_rules.xml" "$app/share/es-de/resources/systems/linux/"
sudo cp -vfr "es-configs/es_systems.xml" "$app/share/es-de/resources/systems/linux/"

View file

@ -0,0 +1,570 @@
[Audio]
audio_emulation=0
audio_emulation\default=true
enable_audio_stretching=true
enable_audio_stretching\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
mic_input_type\default=true
output_device=auto
output_device\default=true
output_engine=auto
output_engine\default=true
output_type=0
output_type\default=true
volume=1
volume\default=true
[Camera]
camera_inner_config=
camera_inner_config\default=true
camera_inner_flip=0
camera_inner_flip\default=true
camera_inner_name=blank
camera_inner_name\default=true
camera_outer_left_config=
camera_outer_left_config\default=true
camera_outer_left_flip=0
camera_outer_left_flip\default=true
camera_outer_left_name=blank
camera_outer_left_name\default=true
camera_outer_right_config=
camera_outer_right_config\default=true
camera_outer_right_flip=0
camera_outer_right_flip\default=true
camera_outer_right_name=blank
camera_outer_right_name\default=true
[Controls]
profile=0
profile\default=true
profiles\1\button_a="button:0,engine:sdl,guid:030079f6de280000ff11000001000000,port:0"
profiles\1\button_a\default=false
profiles\1\button_b="button:1,engine:sdl,guid:030079f6de280000ff11000001000000,port:0"
profiles\1\button_b\default=false
profiles\1\button_debug="code:79,engine:keyboard"
profiles\1\button_debug\default=true
profiles\1\button_down="direction:down,engine:sdl,guid:030079f6de280000ff11000001000000,hat:0,port:0"
profiles\1\button_down\default=false
profiles\1\button_gpio14="code:80,engine:keyboard"
profiles\1\button_gpio14\default=true
profiles\1\button_home="code:66,engine:keyboard"
profiles\1\button_home\default=true
profiles\1\button_l="axis:2,direction:+,engine:sdl,guid:030079f6de280000ff11000001000000,port:0,threshold:0.5"
profiles\1\button_l\default=false
profiles\1\button_left="direction:left,engine:sdl,guid:030079f6de280000ff11000001000000,hat:0,port:0"
profiles\1\button_left\default=false
profiles\1\button_power="code:86,engine:keyboard"
profiles\1\button_power\default=true
profiles\1\button_r="axis:5,direction:+,engine:sdl,guid:030079f6de280000ff11000001000000,port:0,threshold:0.5"
profiles\1\button_r\default=false
profiles\1\button_right="direction:right,engine:sdl,guid:030079f6de280000ff11000001000000,hat:0,port:0"
profiles\1\button_right\default=false
profiles\1\button_select="button:6,engine:sdl,guid:030079f6de280000ff11000001000000,port:0"
profiles\1\button_select\default=false
profiles\1\button_start="button:7,engine:sdl,guid:030079f6de280000ff11000001000000,port:0"
profiles\1\button_start\default=false
profiles\1\button_up="direction:up,engine:sdl,guid:030079f6de280000ff11000001000000,hat:0,port:0"
profiles\1\button_up\default=false
profiles\1\button_x="button:2,engine:sdl,guid:030079f6de280000ff11000001000000,port:0"
profiles\1\button_x\default=false
profiles\1\button_y="button:3,engine:sdl,guid:030079f6de280000ff11000001000000,port:0"
profiles\1\button_y\default=false
profiles\1\button_zl="button:4,engine:sdl,guid:030079f6de280000ff11000001000000,port:0"
profiles\1\button_zl\default=false
profiles\1\button_zr="button:5,engine:sdl,guid:030079f6de280000ff11000001000000,port:0"
profiles\1\button_zr\default=false
profiles\1\c_stick="axis_x:3,axis_y:4,deadzone:0.100000,engine:sdl,guid:030079f6de280000ff11000001000000,port:0"
profiles\1\c_stick\default=false
profiles\1\circle_pad="axis_x:0,axis_y:1,deadzone:0.100000,engine:sdl,guid:030079f6de280000ff11000001000000,port:0"
profiles\1\circle_pad\default=false
profiles\1\motion_device=engine:cemuhookudp
profiles\1\motion_device\default=false
profiles\1\name=default
profiles\1\name\default=true
profiles\1\touch_device=engine:emu_window
profiles\1\touch_device\default=true
profiles\1\touch_from_button_map=0
profiles\1\touch_from_button_map\default=true
profiles\1\udp_input_address=127.0.0.1
profiles\1\udp_input_address\default=true
profiles\1\udp_input_port=26760
profiles\1\udp_input_port\default=true
profiles\1\udp_pad_index=0
profiles\1\udp_pad_index\default=true
profiles\1\use_touch_from_button=false
profiles\1\use_touch_from_button\default=true
profiles\size=1
touch_from_button_maps\1\entries\size=0
touch_from_button_maps\1\name=default
touch_from_button_maps\1\name\default=true
touch_from_button_maps\size=1
[Core]
cpu_clock_percentage=100
cpu_clock_percentage\default=true
use_cpu_jit=true
use_cpu_jit\default=true
[Data%20Storage]
nand_directory=RETRODECKHOMEDIR/saves/n3ds/citra/nand/
nand_directory\default=false
sdmc_directory=RETRODECKHOMEDIR/saves/n3ds/citra/sdmc/
sdmc_directory\default=false
use_custom_storage=true
use_custom_storage\default=false
use_virtual_sd=true
use_virtual_sd\default=true
[Debugging]
LLE\AC=false
LLE\AC\default=true
LLE\ACT=false
LLE\ACT\default=true
LLE\AM=false
LLE\AM\default=true
LLE\BOSS=false
LLE\BOSS\default=true
LLE\CAM=false
LLE\CAM\default=true
LLE\CDC=false
LLE\CDC\default=true
LLE\CECD=false
LLE\CECD\default=true
LLE\CFG=false
LLE\CFG\default=true
LLE\CSND=false
LLE\CSND\default=true
LLE\DLP=false
LLE\DLP\default=true
LLE\DSP=false
LLE\DSP\default=true
LLE\ERR=false
LLE\ERR\default=true
LLE\FRD=false
LLE\FRD\default=true
LLE\FS=false
LLE\FS\default=true
LLE\GPIO=false
LLE\GPIO\default=true
LLE\GSP=false
LLE\GSP\default=true
LLE\HID=false
LLE\HID\default=true
LLE\HTTP=false
LLE\HTTP\default=true
LLE\I2C=false
LLE\I2C\default=true
LLE\IR=false
LLE\IR\default=true
LLE\LDR=false
LLE\LDR\default=true
LLE\MCU=false
LLE\MCU\default=true
LLE\MIC=false
LLE\MIC\default=true
LLE\MP=false
LLE\MP\default=true
LLE\MVD=false
LLE\MVD\default=true
LLE\NDM=false
LLE\NDM\default=true
LLE\NEWS=false
LLE\NEWS\default=true
LLE\NFC=false
LLE\NFC\default=true
LLE\NIM=false
LLE\NIM\default=true
LLE\NS=false
LLE\NS\default=true
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
LLE\PS\default=true
LLE\PTM=false
LLE\PTM\default=true
LLE\PXI=false
LLE\PXI\default=true
LLE\QTM=false
LLE\QTM\default=true
LLE\SOC=false
LLE\SOC\default=true
LLE\SPI=false
LLE\SPI\default=true
LLE\SSL=false
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
custom_bottom_left\default=true
custom_bottom_right=360
custom_bottom_right\default=true
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
custom_top_left\default=true
custom_top_right=400
custom_top_right\default=true
custom_top_top=0
custom_top_top\default=true
factor_3d=0
factor_3d\default=true
filter_mode=true
filter_mode\default=true
large_screen_proportion=4
large_screen_proportion\default=true
layout_option=4
layout_option\default=false
mono_render_option=0
mono_render_option\default=true
pp_shader_name=none (builtin)
pp_shader_name\default=true
render_3d=0
render_3d\default=true
swap_screen=true
swap_screen\default=false
upright_screen=false
upright_screen\default=true
[Miscellaneous]
log_filter=*:Info
log_filter\default=true
[Renderer]
async_presentation=true
async_presentation\default=true
async_shader_compilation=false
async_shader_compilation\default=true
bg_blue=0
bg_blue\default=true
bg_green=0
bg_green\default=true
bg_red=0
bg_red\default=true
frame_limit=100
frame_limit\default=true
frame_limit_alternate=500
graphics_api=1
graphics_api\default=true
physical_device=0
physical_device\default=true
resolution_factor=2
resolution_factor\default=false
shaders_accurate_mul=true
shaders_accurate_mul\default=true
spirv_shader_gen=true
spirv_shader_gen\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_hw_renderer=true
use_hw_renderer\default=true
use_hw_shader=true
use_hw_shader\default=true
use_shader_jit=true
use_shader_jit\default=true
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=@Variant(\0\0\0\x84\0\0\0\0\x38m5\xbd)
init_time\default=true
init_time_offset=@Variant(\0\0\0\x81\0\0\0\0\0\0\0\0)
init_time_offset\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
[UI]
GameList\hideNoIcon=false
GameList\hideNoIcon\default=true
GameList\iconSize=2
GameList\iconSize\default=true
GameList\row1=2
GameList\row1\default=true
GameList\row2=0
GameList\row2\default=true
GameList\show_compat_column=true
GameList\show_compat_column\default=true
GameList\show_region_column=true
GameList\show_region_column\default=true
GameList\show_size_column=true
GameList\show_size_column\default=true
GameList\show_type_column=true
GameList\show_type_column\default=true
GameList\singleLineMode=false
GameList\singleLineMode\default=true
Multiplayer\game_id=0
Multiplayer\game_id\default=true
Multiplayer\host_type=0
Multiplayer\host_type\default=true
Multiplayer\ip=
Multiplayer\ip\default=true
Multiplayer\ip_ban_list\size=0
Multiplayer\max_player=8
Multiplayer\max_player\default=true
Multiplayer\nickname=
Multiplayer\nickname\default=true
Multiplayer\port=24872
Multiplayer\port\default=true
Multiplayer\room_description=
Multiplayer\room_description\default=true
Multiplayer\room_name=
Multiplayer\room_name\default=true
Multiplayer\room_nickname=
Multiplayer\room_nickname\default=true
Multiplayer\room_port=24872
Multiplayer\room_port\default=true
Multiplayer\username_ban_list\size=0
Paths\gamedirs\1\deep_scan=false
Paths\gamedirs\1\deep_scan\default=true
Paths\gamedirs\1\expanded=true
Paths\gamedirs\1\expanded\default=true
Paths\gamedirs\1\path=INSTALLED
Paths\gamedirs\2\deep_scan=false
Paths\gamedirs\2\deep_scan\default=true
Paths\gamedirs\2\expanded=true
Paths\gamedirs\2\expanded\default=true
Paths\gamedirs\2\path=SYSTEM
Paths\gamedirs\3\deep_scan=false
Paths\gamedirs\3\deep_scan\default=true
Paths\gamedirs\3\expanded=true
Paths\gamedirs\3\expanded\default=true
Paths\gamedirs\3\path=RETRODECKHOMEDIR/roms/n3ds
Paths\gamedirs\size=3
Paths\language=en
Paths\language\default=false
Paths\moviePlaybackPath=
Paths\movieRecordPath=
Paths\recentFiles=@Invalid()
Paths\romsPath=
Paths\screenshotPath=RETRODECKHOMEDIR/screenshots
Paths\screenshotPath\default=false
Paths\symbolsPath=
Paths\videoDumpingPath=
Shortcuts\Main%20Window\Advance%20Frame\Context=1
Shortcuts\Main%20Window\Advance%20Frame\Context\default=false
Shortcuts\Main%20Window\Advance%20Frame\KeySeq=
Shortcuts\Main%20Window\Advance%20Frame\KeySeq\default=true
Shortcuts\Main%20Window\Capture%20Screenshot\Context=3
Shortcuts\Main%20Window\Capture%20Screenshot\Context\default=true
Shortcuts\Main%20Window\Capture%20Screenshot\KeySeq=Ctrl+X
Shortcuts\Main%20Window\Capture%20Screenshot\KeySeq\default=false
Shortcuts\Main%20Window\Continue\Pause%20Emulation\Context=1
Shortcuts\Main%20Window\Continue\Pause%20Emulation\Context\default=true
Shortcuts\Main%20Window\Continue\Pause%20Emulation\KeySeq=Ctrl+P
Shortcuts\Main%20Window\Continue\Pause%20Emulation\KeySeq\default=false
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=Ctrl+2
Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq\default=false
Shortcuts\Main%20Window\Exit%20Citra\Context=1
Shortcuts\Main%20Window\Exit%20Citra\Context\default=true
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=Ctrl+O
Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq\default=false
Shortcuts\Main%20Window\Fullscreen\Context=1
Shortcuts\Main%20Window\Fullscreen\Context\default=true
Shortcuts\Main%20Window\Fullscreen\KeySeq=Ctrl+Return
Shortcuts\Main%20Window\Fullscreen\KeySeq\default=false
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=Ctrl+1
Shortcuts\Main%20Window\Increase%20Speed%20Limit\KeySeq\default=false
Shortcuts\Main%20Window\Load%20Amiibo\Context=3
Shortcuts\Main%20Window\Load%20Amiibo\Context\default=true
Shortcuts\Main%20Window\Load%20Amiibo\KeySeq=Alt+M
Shortcuts\Main%20Window\Load%20Amiibo\KeySeq\default=false
Shortcuts\Main%20Window\Load%20File\Context=1
Shortcuts\Main%20Window\Load%20File\Context\default=false
Shortcuts\Main%20Window\Load%20File\KeySeq=
Shortcuts\Main%20Window\Load%20File\KeySeq\default=false
Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\Context=1
Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\Context\default=true
Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\KeySeq=Ctrl+A
Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\KeySeq\default=false
Shortcuts\Main%20Window\Mute%20Audio\Context=1
Shortcuts\Main%20Window\Mute%20Audio\Context\default=true
Shortcuts\Main%20Window\Mute%20Audio\KeySeq=
Shortcuts\Main%20Window\Mute%20Audio\KeySeq\default=false
Shortcuts\Main%20Window\Remove%20Amiibo\Context=2
Shortcuts\Main%20Window\Remove%20Amiibo\Context\default=true
Shortcuts\Main%20Window\Remove%20Amiibo\KeySeq=Alt+N
Shortcuts\Main%20Window\Remove%20Amiibo\KeySeq\default=false
Shortcuts\Main%20Window\Restart%20Emulation\Context=1
Shortcuts\Main%20Window\Restart%20Emulation\Context\default=true
Shortcuts\Main%20Window\Restart%20Emulation\KeySeq=Ctrl+R
Shortcuts\Main%20Window\Restart%20Emulation\KeySeq\default=false
Shortcuts\Main%20Window\Rotate%20Screens%20Upright\Context=1
Shortcuts\Main%20Window\Rotate%20Screens%20Upright\Context\default=true
Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq=
Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq\default=false
Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\Context=1
Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\Context\default=true
Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\KeySeq=Ctrl+S
Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\KeySeq\default=false
Shortcuts\Main%20Window\Stop%20Emulation\Context=1
Shortcuts\Main%20Window\Stop%20Emulation\Context\default=true
Shortcuts\Main%20Window\Stop%20Emulation\KeySeq=
Shortcuts\Main%20Window\Stop%20Emulation\KeySeq\default=false
Shortcuts\Main%20Window\Swap%20Screens\Context=1
Shortcuts\Main%20Window\Swap%20Screens\Context\default=true
Shortcuts\Main%20Window\Swap%20Screens\KeySeq=Ctrl+Tab
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=F7
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=
Shortcuts\Main%20Window\Toggle%20Filter%20Bar\KeySeq\default=false
Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\Context=1
Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\Context\default=false
Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\KeySeq=
Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\KeySeq\default=false
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=Ctrl+L
Shortcuts\Main%20Window\Toggle%20Screen%20Layout\KeySeq\default=false
Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context=1
Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context\default=false
Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq=Ctrl+S
Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq\default=false
Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\Context=1
Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\Context\default=false
Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq=
Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq\default=false
UILayout\gameListHeaderState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\x5\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\n\0\0\0\0\x5\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x5\0\0\x2\x80\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\x6T\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64\0\0\0\0)
UILayout\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\xd6\0\0\0\xb4\0\0\x4*\0\0\x2\x43\0\0\0\xd6\0\0\0\xb4\0\0\x4*\0\0\x2\x43\0\0\0\0\0\0\0\0\x5\0\0\0\0\xd6\0\0\0\xb4\0\0\x4*\0\0\x2\x43)
UILayout\geometryRenderWindow=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x14\0\0\0\x63\0\0\0\x31\0\0\0\0\0\0\0\x14\0\0\0\x63\0\0\0\x31\0\0\0\0\0\0\0\0\x4\xfd\0\0\0\0\0\0\0\x14\0\0\0\x63\0\0\0\x31)
UILayout\microProfileDialogGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\x1\0\0\0\x19\0\0\x3\xe8\0\0\x2p\0\0\0\x1\0\0\0\x19\0\0\x3\xe8\0\0\x2p\0\0\0\0\0\0\0\0\x5\0\0\0\0\x1\0\0\0\x19\0\0\x3\xe8\0\0\x2p)
UILayout\microProfileDialogVisible=false
UILayout\microProfileDialogVisible\default=true
UILayout\state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\0\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x1\xfb\0\0\0\x1c\0W\0\x61\0i\0t\0T\0r\0\x65\0\x65\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\0\0\0\x1\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\b\xfb\0\0\0\x18\0\x41\0R\0M\0R\0\x65\0g\0i\0s\0t\0\x65\0r\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0h\0\xff\xff\xff\xfb\0\0\0 \0G\0r\0\x61\0p\0h\0i\0\x63\0s\0\x44\0\x65\0\x62\0u\0g\0g\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\"\0P\0i\0\x63\0\x61\0 \0\x43\0o\0m\0m\0\x61\0n\0\x64\0 \0L\0i\0s\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x87\0\xff\xff\xff\xfb\0\0\0*\0P\0i\0\x63\0\x61\0\x42\0r\0\x65\0\x61\0k\0P\0o\0i\0n\0t\0s\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x87\0\xff\xff\xff\xfb\0\0\0 \0P\0i\0\x63\0\x61\0V\0\x65\0r\0t\0\x65\0x\0S\0h\0\x61\0\x64\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\xa9\0\xff\xff\xff\xfb\0\0\0\x12\0\x43\0i\0T\0r\0\x61\0\x63\0i\0n\0g\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x41\0\xff\xff\xff\xfb\0\0\0.\0L\0L\0\x45\0S\0\x65\0r\0v\0i\0\x63\0\x65\0M\0o\0\x64\0u\0l\0\x65\0s\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x16\0I\0P\0\x43\0R\0\x65\0\x63\0o\0r\0\x64\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xc2\0\xff\xff\xff\0\0\x5\0\0\0\x3 \0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
Updater\check_for_update_on_start=true
Updater\check_for_update_on_start\default=true
Updater\update_on_close=false
Updater\update_on_close\default=true
calloutFlags=1
calloutFlags\default=false
confirmClose=false
confirmClose\default=false
displayTitleBars=true
displayTitleBars\default=true
enable_discord_presence=true
enable_discord_presence\default=true
firstStart=false
firstStart\default=false
fullscreen=true
fullscreen\default=false
hideInactiveMouse=false
hideInactiveMouse\default=true
pauseWhenInBackground=false
pauseWhenInBackground\default=true
saveStateWarning=true
saveStateWarning\default=true
screenshot_resolution_factor=0
screenshot_resolution_factor\default=true
showConsole=false
showConsole\default=true
showFilterBar=true
showFilterBar\default=true
showStatusBar=true
showStatusBar\default=true
singleWindowMode=true
singleWindowMode\default=true
theme=colorful_dark
theme\default=false
[Utility]
async_custom_loading=true
async_custom_loading\default=true
custom_textures=false
custom_textures\default=true
dump_textures=false
dump_textures\default=true
preload_textures=false
preload_textures\default=true
[VideoDumping]
audio_bitrate=64000
audio_bitrate\default=true
audio_encoder=libvorbis
audio_encoder\default=true
audio_encoder_options=
audio_encoder_options\default=true
format_options=
output_format=webm
output_format\default=true
video_bitrate=2500000
video_bitrate\default=true
video_encoder=libvpx-vp9
video_encoder\default=true
video_encoder_options="quality:realtime,speed:6,tile-columns:4,frame-parallel:1,threads:8,row-mt:1"
video_encoder_options\default=true
[WebService]
citra_token=
citra_username=RetroDECK
enable_telemetry=false
enable_telemetry\default=false
web_api_url=https://api.citra-emu.org
web_api_url\default=true

View file

@ -0,0 +1,535 @@
[Audio]
audio_emulation=0
audio_emulation\default=true
enable_audio_stretching=true
enable_audio_stretching\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
mic_input_type\default=true
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
[Camera]
camera_inner_config=
camera_inner_config\default=true
camera_inner_flip=0
camera_inner_flip\default=true
camera_inner_name=blank
camera_inner_name\default=true
camera_outer_left_config=
camera_outer_left_config\default=true
camera_outer_left_flip=0
camera_outer_left_flip\default=true
camera_outer_left_name=blank
camera_outer_left_name\default=true
camera_outer_right_config=
camera_outer_right_config\default=true
camera_outer_right_flip=0
camera_outer_right_flip\default=true
camera_outer_right_name=blank
camera_outer_right_name\default=true
[Controls]
profile=0
profile\default=true
profiles\1\button_a="code:65,engine:keyboard"
profiles\1\button_a\default=true
profiles\1\button_b="code:83,engine:keyboard"
profiles\1\button_b\default=true
profiles\1\button_debug="code:79,engine:keyboard"
profiles\1\button_debug\default=true
profiles\1\button_down="code:71,engine:keyboard"
profiles\1\button_down\default=true
profiles\1\button_gpio14="code:80,engine:keyboard"
profiles\1\button_gpio14\default=true
profiles\1\button_home="code:66,engine:keyboard"
profiles\1\button_home\default=true
profiles\1\button_l="code:81,engine:keyboard"
profiles\1\button_l\default=true
profiles\1\button_left="code:70,engine:keyboard"
profiles\1\button_left\default=true
profiles\1\button_r="code:87,engine:keyboard"
profiles\1\button_r\default=true
profiles\1\button_right="code:72,engine:keyboard"
profiles\1\button_right\default=true
profiles\1\button_select="code:78,engine:keyboard"
profiles\1\button_select\default=true
profiles\1\button_start="code:77,engine:keyboard"
profiles\1\button_start\default=true
profiles\1\button_up="code:84,engine:keyboard"
profiles\1\button_up\default=true
profiles\1\button_x="code:90,engine:keyboard"
profiles\1\button_x\default=true
profiles\1\button_y="code:88,engine:keyboard"
profiles\1\button_y\default=true
profiles\1\button_zl="code:49,engine:keyboard"
profiles\1\button_zl\default=true
profiles\1\button_zr="code:50,engine:keyboard"
profiles\1\button_zr\default=true
profiles\1\c_stick="down:code$075$1engine$0keyboard,engine:analog_from_button,left:code$074$1engine$0keyboard,modifier:code$068$1engine$0keyboard,modifier_scale:0.500000,right:code$076$1engine$0keyboard,up:code$073$1engine$0keyboard"
profiles\1\c_stick\default=true
profiles\1\circle_pad="down:code$016777237$1engine$0keyboard,engine:analog_from_button,left:code$016777234$1engine$0keyboard,modifier:code$068$1engine$0keyboard,modifier_scale:0.500000,right:code$016777236$1engine$0keyboard,up:code$016777235$1engine$0keyboard"
profiles\1\circle_pad\default=true
profiles\1\motion_device="engine:motion_emu,update_period:100,sensitivity:0.01,tilt_clamp:90.0"
profiles\1\motion_device\default=true
profiles\1\name=default
profiles\1\name\default=true
profiles\1\touch_device=engine:emu_window
profiles\1\touch_device\default=true
profiles\1\touch_from_button_map=0
profiles\1\touch_from_button_map\default=true
profiles\1\udp_input_address=127.0.0.1
profiles\1\udp_input_address\default=true
profiles\1\udp_input_port=26760
profiles\1\udp_input_port\default=true
profiles\1\udp_pad_index=0
profiles\1\udp_pad_index\default=true
profiles\1\use_touch_from_button=false
profiles\1\use_touch_from_button\default=true
profiles\size=1
touch_from_button_maps\1\entries\size=0
touch_from_button_maps\1\name=default
touch_from_button_maps\1\name\default=true
touch_from_button_maps\size=1
[Core]
cpu_clock_percentage=100
cpu_clock_percentage\default=true
use_cpu_jit=true
use_cpu_jit\default=true
[Data%20Storage]
nand_directory=
nand_directory\default=true
sdmc_directory=
sdmc_directory\default=true
use_virtual_sd=true
use_virtual_sd\default=true
[Debugging]
LLE\AC=false
LLE\AC\default=true
LLE\ACT=false
LLE\ACT\default=true
LLE\AM=false
LLE\AM\default=true
LLE\BOSS=false
LLE\BOSS\default=true
LLE\CAM=false
LLE\CAM\default=true
LLE\CDC=false
LLE\CDC\default=true
LLE\CECD=false
LLE\CECD\default=true
LLE\CFG=false
LLE\CFG\default=true
LLE\CSND=false
LLE\CSND\default=true
LLE\DLP=false
LLE\DLP\default=true
LLE\DSP=false
LLE\DSP\default=true
LLE\ERR=false
LLE\ERR\default=true
LLE\FRD=false
LLE\FRD\default=true
LLE\FS=false
LLE\FS\default=true
LLE\GPIO=false
LLE\GPIO\default=true
LLE\GSP=false
LLE\GSP\default=true
LLE\HID=false
LLE\HID\default=true
LLE\HTTP=false
LLE\HTTP\default=true
LLE\I2C=false
LLE\I2C\default=true
LLE\IR=false
LLE\IR\default=true
LLE\LDR=false
LLE\LDR\default=true
LLE\MCU=false
LLE\MCU\default=true
LLE\MIC=false
LLE\MIC\default=true
LLE\MP=false
LLE\MP\default=true
LLE\MVD=false
LLE\MVD\default=true
LLE\NDM=false
LLE\NDM\default=true
LLE\NEWS=false
LLE\NEWS\default=true
LLE\NFC=false
LLE\NFC\default=true
LLE\NIM=false
LLE\NIM\default=true
LLE\NS=false
LLE\NS\default=true
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
LLE\PS\default=true
LLE\PTM=false
LLE\PTM\default=true
LLE\PXI=false
LLE\PXI\default=true
LLE\QTM=false
LLE\QTM\default=true
LLE\SOC=false
LLE\SOC\default=true
LLE\SPI=false
LLE\SPI\default=true
LLE\SSL=false
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
custom_bottom_left\default=true
custom_bottom_right=360
custom_bottom_right\default=true
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
custom_top_left\default=true
custom_top_right=400
custom_top_right\default=true
custom_top_top=0
custom_top_top\default=true
factor_3d=0
factor_3d\default=true
filter_mode=true
filter_mode\default=true
layout_option=0
pp_shader_name=none (builtin)
pp_shader_name\default=true
render_3d=0
render_3d\default=true
swap_screen=false
swap_screen\default=true
upright_screen=false
upright_screen\default=true
[Miscellaneous]
log_filter=*:Info
log_filter\default=true
[Renderer]
bg_blue=0
bg_blue\default=true
bg_green=0
bg_green\default=true
bg_red=0
bg_red\default=true
frame_limit=100
frame_limit\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=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_hw_renderer=true
use_hw_renderer\default=true
use_hw_shader=true
use_hw_shader\default=true
use_shader_jit=true
use_shader_jit\default=true
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
[UI]
GameList\hideNoIcon=false
GameList\hideNoIcon\default=true
GameList\iconSize=2
GameList\iconSize\default=true
GameList\row1=2
GameList\row1\default=true
GameList\row2=0
GameList\row2\default=true
GameList\singleLineMode=false
GameList\singleLineMode\default=true
Multiplayer\game_id=0
Multiplayer\game_id\default=true
Multiplayer\host_type=0
Multiplayer\host_type\default=true
Multiplayer\ip=
Multiplayer\ip\default=true
Multiplayer\ip_ban_list\size=0
Multiplayer\max_player=8
Multiplayer\max_player\default=true
Multiplayer\nickname=
Multiplayer\nickname\default=true
Multiplayer\port=24872
Multiplayer\port\default=true
Multiplayer\room_description=
Multiplayer\room_description\default=true
Multiplayer\room_name=
Multiplayer\room_name\default=true
Multiplayer\room_nickname=
Multiplayer\room_nickname\default=true
Multiplayer\room_port=24872
Multiplayer\room_port\default=true
Multiplayer\username_ban_list\size=0
Paths\gamedirs\1\deep_scan=false
Paths\gamedirs\1\deep_scan\default=true
Paths\gamedirs\1\expanded=true
Paths\gamedirs\1\expanded\default=true
Paths\gamedirs\1\path=INSTALLED
Paths\gamedirs\2\deep_scan=false
Paths\gamedirs\2\deep_scan\default=true
Paths\gamedirs\2\expanded=true
Paths\gamedirs\2\expanded\default=true
Paths\gamedirs\2\path=SYSTEM
Paths\gamedirs\3\deep_scan=false
Paths\gamedirs\3\deep_scan\default=true
Paths\gamedirs\3\expanded=true
Paths\gamedirs\3\expanded\default=true
Paths\gamedirs\3\path=
Paths\gamedirs\size=3
Paths\language=en
Paths\language\default=false
Paths\moviePlaybackPath=
Paths\movieRecordPath=
Paths\recentFiles=@Invalid()
Paths\romsPath=
Paths\screenshotPath=RETRODECKHOMEDIR/screenshots
Paths\symbolsPath=
Paths\videoDumpingPath=
Shortcuts\Main%20Window\Advance%20Frame\Context=2
Shortcuts\Main%20Window\Advance%20Frame\Context\default=true
Shortcuts\Main%20Window\Advance%20Frame\KeySeq=\\
Shortcuts\Main%20Window\Advance%20Frame\KeySeq\default=true
Shortcuts\Main%20Window\Capture%20Screenshot\Context=2
Shortcuts\Main%20Window\Capture%20Screenshot\Context\default=true
Shortcuts\Main%20Window\Capture%20Screenshot\KeySeq=Ctrl+P
Shortcuts\Main%20Window\Capture%20Screenshot\KeySeq\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\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=-
Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq\default=true
Shortcuts\Main%20Window\Exit%20Citra\Context=1
Shortcuts\Main%20Window\Exit%20Citra\Context\default=true
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=
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=+
Shortcuts\Main%20Window\Increase%20Speed%20Limit\KeySeq\default=true
Shortcuts\Main%20Window\Load%20Amiibo\Context=2
Shortcuts\Main%20Window\Load%20Amiibo\Context\default=true
Shortcuts\Main%20Window\Load%20Amiibo\KeySeq=F2
Shortcuts\Main%20Window\Load%20Amiibo\KeySeq\default=true
Shortcuts\Main%20Window\Load%20File\Context=1
Shortcuts\Main%20Window\Load%20File\Context\default=true
Shortcuts\Main%20Window\Load%20File\KeySeq=Ctrl+O
Shortcuts\Main%20Window\Load%20File\KeySeq\default=true
Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\Context=1
Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\Context\default=true
Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\KeySeq=Ctrl+V
Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\KeySeq\default=true
Shortcuts\Main%20Window\Remove%20Amiibo\Context=2
Shortcuts\Main%20Window\Remove%20Amiibo\Context\default=true
Shortcuts\Main%20Window\Remove%20Amiibo\KeySeq=F3
Shortcuts\Main%20Window\Remove%20Amiibo\KeySeq\default=true
Shortcuts\Main%20Window\Restart%20Emulation\Context=1
Shortcuts\Main%20Window\Restart%20Emulation\Context\default=true
Shortcuts\Main%20Window\Restart%20Emulation\KeySeq=F6
Shortcuts\Main%20Window\Restart%20Emulation\KeySeq\default=true
Shortcuts\Main%20Window\Rotate%20Screens%20Upright\Context=1
Shortcuts\Main%20Window\Rotate%20Screens%20Upright\Context\default=true
Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq=F8
Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq\default=true
Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\Context=1
Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\Context\default=true
Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\KeySeq=Ctrl+C
Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\KeySeq\default=true
Shortcuts\Main%20Window\Stop%20Emulation\Context=1
Shortcuts\Main%20Window\Stop%20Emulation\Context\default=true
Shortcuts\Main%20Window\Stop%20Emulation\KeySeq=F5
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=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=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
Shortcuts\Main%20Window\Toggle%20Screen%20Layout\KeySeq\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\KeySeq=Ctrl+S
Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq\default=true
Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\Context=2
Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\Context\default=true
Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq=Ctrl+D
Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq\default=true
UILayout\gameListHeaderState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\x5\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4\x33\0\0\0\x5\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x5\0\0\x2\x80\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x87\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64)
UILayout\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x1\r\0\0\0\xbb\0\0\x5?\0\0\x2\xb6\0\0\x1\r\0\0\0\xd8\0\0\x5?\0\0\x2\xb6\0\0\0\0\0\0\0\0\x6M\0\0\x1\r\0\0\0\xd8\0\0\x5?\0\0\x2\xb6)
UILayout\geometryRenderWindow=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\0\x63\0\0\0\x1d\0\0\0\0\0\0\0\0\0\0\0\x63\0\0\0\x1d\0\0\0\0\0\0\0\0\x6M\0\0\0\0\0\0\0\0\0\0\0\x63\0\0\0\x1d)
UILayout\microProfileDialogGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x3\xe7\0\0\x2W\0\0\0\0\0\0\0\0\0\0\x3\xe7\0\0\x2W\0\0\0\0\0\0\0\0\x6M\0\0\0\0\0\0\0\0\0\0\x3\xe7\0\0\x2W)
UILayout\microProfileDialogVisible=false
UILayout\microProfileDialogVisible\default=true
UILayout\state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\0\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x1\xfb\0\0\0\x1c\0W\0\x61\0i\0t\0T\0r\0\x65\0\x65\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0y\x1\0\0\x3\0\0\0\x1\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\b\xfb\0\0\0\x18\0\x41\0R\0M\0R\0\x65\0g\0i\0s\0t\0\x65\0r\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x85\x1\0\0\x3\xfb\0\0\0 \0G\0r\0\x61\0p\0h\0i\0\x63\0s\0\x44\0\x65\0\x62\0u\0g\0g\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0y\x1\0\0\x3\xfb\0\0\0\"\0P\0i\0\x63\0\x61\0 \0\x43\0o\0m\0m\0\x61\0n\0\x64\0 \0L\0i\0s\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xad\x1\0\0\x3\xfb\0\0\0*\0P\0i\0\x63\0\x61\0\x42\0r\0\x65\0\x61\0k\0P\0o\0i\0n\0t\0s\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xad\x1\0\0\x3\xfb\0\0\0 \0P\0i\0\x63\0\x61\0V\0\x65\0r\0t\0\x65\0x\0S\0h\0\x61\0\x64\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\xde\x1\0\0\x3\xfb\0\0\0\x12\0\x43\0i\0T\0r\0\x61\0\x63\0i\0n\0g\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\x1\0\0\x3\xfb\0\0\0.\0L\0L\0\x45\0S\0\x65\0r\0v\0i\0\x63\0\x65\0M\0o\0\x64\0u\0l\0\x65\0s\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0y\x1\0\0\x3\xfb\0\0\0\x16\0I\0P\0\x43\0R\0\x65\0\x63\0o\0r\0\x64\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xef\x1\0\0\x3\0\0\x4\x33\0\0\x1\xa2\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
Updater\check_for_update_on_start=true
Updater\check_for_update_on_start\default=true
Updater\update_on_close=false
Updater\update_on_close\default=true
calloutFlags=1
calloutFlags\default=false
confirmClose=true
confirmClose\default=true
displayTitleBars=true
displayTitleBars\default=true
enable_discord_presence=true
enable_discord_presence\default=true
firstStart=false
firstStart\default=false
fullscreen=false
fullscreen\default=true
hideInactiveMouse=false
hideInactiveMouse\default=true
pauseWhenInBackground=false
pauseWhenInBackground\default=true
screenshot_resolution_factor=0
screenshot_resolution_factor\default=true
showConsole=false
showConsole\default=true
showFilterBar=true
showFilterBar\default=true
showStatusBar=true
showStatusBar\default=true
singleWindowMode=true
singleWindowMode\default=true
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
dump_textures\default=true
preload_textures=false
preload_textures\default=true
[VideoDumping]
audio_bitrate=64000
audio_bitrate\default=true
audio_encoder=libvorbis
audio_encoder\default=true
audio_encoder_options=
audio_encoder_options\default=true
format_options=
output_format=webm
output_format\default=true
video_bitrate=2500000
video_bitrate\default=true
video_encoder=libvpx-vp9
video_encoder\default=true
video_encoder_options="quality:realtime,speed:6,tile-columns:4,frame-parallel:1,threads:8,row-mt:1"
video_encoder_options\default=true
[WebService]
citra_token=
citra_username=
enable_telemetry=false
enable_telemetry\default=false
web_api_url=https://api.citra-emu.org
web_api_url\default=true

View file

@ -4,4 +4,4 @@ change^ask_to_exit^confirmClose\default^true^UI^$citraconf^$emuconfigs/citra/qt-
change^abxy_button_swap^profiles\1\button_a^button:1,engine:sdl,guid:030079f6de280000ff11000001000000,port:0^Controls^$citraconf^$emuconfigs/citra/qt-config.ini
change^abxy_button_swap^profiles\1\button_b^button:0,engine:sdl,guid:030079f6de280000ff11000001000000,port:0^Controls^$citraconf^$emuconfigs/citra/qt-config.ini
change^abxy_button_swap^profiles\1\button_x^button:3,engine:sdl,guid:030079f6de280000ff11000001000000,port:0^Controls^$citraconf^$emuconfigs/citra/qt-config.ini
change^abxy_button_swap^profiles\1\button_y^button:2,engine:sdl,guid:030079f6de280000ff11000001000000,port:0^Controls^$citraconf^$emuconfigs/citra/qt-config.ini
change^abxy_button_swap^profiles\1\button_y^button:2,engine:sdl,guid:030079f6de280000ff11000001000000,port:0^Controls^$citraconf^$emuconfigs/citra/qt-config.ini

View file

@ -0,0 +1,7 @@
config_file_format^yuzu
change^ask_to_exit^confirmClose^true^UI^$yuzuconf^$emuconfigs/yuzu/qt-config.ini
change^ask_to_exit^confirmClose\default^true^UI^$yuzuconf^$emuconfigs/yuzu/qt-config.ini
change^abxy_button_swap^player_0_button_a^"engine:sdl,guid:03000000de280000ff11000001000000,port:0,button:0,pad:0"^Controls^$yuzuconf^$emuconfigs/yuzu/qt-config.ini
change^abxy_button_swap^player_0_button_b^"engine:sdl,guid:03000000de280000ff11000001000000,port:0,button:1,pad:0"^Controls^$yuzuconf^$emuconfigs/yuzu/qt-config.ini
change^abxy_button_swap^player_0_button_x^"engine:sdl,guid:03000000de280000ff11000001000000,port:0,button:2,pad:0"^Controls^$yuzuconf^$emuconfigs/yuzu/qt-config.ini
change^abxy_button_swap^player_0_button_y^"engine:sdl,guid:03000000de280000ff11000001000000,port:0,button:3,pad:0"^Controls^$yuzuconf^$emuconfigs/yuzu/qt-config.ini

View file

@ -8,3 +8,5 @@ primehack
rpcs3
Ryujinx
xemu
yuzu
citra-emu

View file

@ -13,3 +13,5 @@ psx_ra^Sony Playstation (RetroArch Core)
retroarch^RetroArch (Multi-emulator Frontend)
ryujinx^Ryujinx (Nintendo Switch Standalone Emulator)
snes^Nintendo Super Nintendo
yuzu^Yuzu (Nintendo Switch Standalone Emulator, via Ponzu)
citra^Citra (Nintendo Switch Standalone Emulator, via Ponzu)

View file

@ -28,6 +28,8 @@ multi_user_mode=false
ask_default_user=true
default_user=
developer_options=false
kiroi_ponzu=false
akai_ponzu=false
[cheevos]
duckstation=false
@ -69,6 +71,7 @@ gba=false
gbc=false
n64=false
snes=false
citra=false
[quick_resume]
retroarch=true
@ -78,3 +81,4 @@ dolphin=false
duckstation=false
pcsx2=false
primehack=false
citra=false

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -170,6 +170,7 @@
<entry>org.citra_emu.citra</entry>
</rule>
<rule type="staticpath">
<entry>/var/data/ponzu/Citra/bin/citra-qt</entry> <!-- RetroDECK, ponzu -->
<entry>~/Applications/citra-qt*.AppImage</entry>
<entry>~/.local/share/applications/citra-qt*.AppImage</entry>
<entry>~/.local/bin/citra-qt*.AppImage</entry>
@ -1049,6 +1050,22 @@
<entry>~/bin/xroar/xroar</entry>
</rule>
</emulator>
<emulator name="YUZU">
<!-- Nintendo Switch emulator Yuzu -->
<rule type="systempath">
<entry>yuzu</entry>
<entry>org.yuzu_emu.yuzu</entry>
</rule>
<rule type="staticpath">
<entry>/var/data/ponzu/Yuzu/bin/yuzu</entry> <!-- RetroDECK, ponzu -->
<entry>~/Applications/yuzu*.AppImage</entry>
<entry>~/.local/share/applications/yuzu*.AppImage</entry>
<entry>~/.local/bin/yuzu*.AppImage</entry>
<entry>~/bin/yuzu*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
<entry>~/.local/share/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
</rule>
</emulator>
<emulator name="ZESARUX">
<!-- Sinclair ZX Spectrum emulator ZEsarUX -->
<rule type="systempath">

View file

@ -1172,9 +1172,9 @@
<fullname>Nintendo 3DS</fullname>
<path>%ROMPATH%/n3ds</path>
<extension>.3ds .3DS .3dsx .3DSX .app .APP .axf .AXF .cci .CCI .cxi .CXI .elf .ELF .7z .7Z .zip .ZIP</extension>
<!-- <command label="Citra (Standalone)">%EMULATOR_CITRA% %ROM%</command> -->
<command label="Citra">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/citra_libretro.so %ROM%</command>
<command label="Citra 2018">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/citra2018_libretro.so %ROM%</command>
<command label="Citra (via Ponzu)">%EMULATOR_CITRA% %ROM%</command>
<platform>n3ds</platform>
<theme>n3ds</theme>
</system>
@ -1878,6 +1878,7 @@
<path>%ROMPATH%/switch</path>
<extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI</extension>
<command label="Ryujinx (Standalone)">%EMULATOR_RYUJINX% %ROM%</command>
<command label="Yuzu (via Ponzu)">%INJECT%=%BASENAME%.esprefix %EMULATOR_YUZU% -f -g %ROM%</command>
<platform>switch</platform>
<theme>switch</theme>
</system>

View file

@ -657,6 +657,98 @@ manage_ryujinx_keys() {
fi
}
ponzu() {
# This function is used to extract some specific appimages
# Check if any of the specified files exist
# If RetroDECK is reset Ponzu must re-cooked
log d "Checking for Ponzu"
local tmp_folder="/tmp/extracted"
local ponzu_files=("$rdhome"/ponzu/Citra*.AppImage "$rdhome"/ponzu/citra*.AppImage "$rdhome"/ponzu/Yuzu*.AppImage "$rdhome"/ponzu/yuzu*.AppImage)
local data_dir
local appimage
local executable
# Loop through all ponzu files
for ponzu_file in "${ponzu_files[@]}"; do
# Check if the current ponzu file exists
if [ -f "$ponzu_file" ]; then
if [[ "$ponzu_file" == *itra* ]]; then
log i "Found akai ponzu! Elaborating it"
data_dir="/var/data/ponzu/Citra"
local message="Akai ponzu is served, enjoy"
elif [[ "$ponzu_file" == *uzu* ]]; then
log i "Found kiroi ponzu! Elaborating it"
data_dir="/var/data/ponzu/Yuzu"
local message="Kiroi ponzu is served, enjoy"
else
log e "AppImage not recognized, not a ponzu ingredient!"
exit 1
fi
appimage="$ponzu_file"
chmod +x "$ponzu_file"
create_dir "$data_dir"
log d "Moving AppImage in \"$data_dir\""
mv "$appimage" "$data_dir"
cd "$data_dir"
local filename=$(basename "$ponzu_file")
log d "Setting appimage=$data_dir/$filename"
appimage="$data_dir/$filename"
log d "Extracting AppImage"
"$appimage" --appimage-extract
create_dir "$tmp_folder"
log d "Cleaning up"
cp -r squashfs-root/* "$tmp_folder"
rm -rf *
if [[ "$ponzu_file" == *itra* ]]; then
mv "$tmp_folder/usr/"** .
executable="$data_dir/bin/citra-qt"
log d "Making $executable executable"
chmod +x "$executable"
prepare_component "reset" "yuzu"
set_setting_value $rd_conf "akai_ponzu" "true" retrodeck "options"
elif [[ "$ponzu_file" == *uzu* ]]; then
mv "$tmp_folder/usr/"** .
executable="$data_dir/bin/yuzu"
log d "Making $executable executable"
chmod +x "$executable"
prepare_component "reset" "citra"
set_setting_value $rd_conf "kiroi_ponzu" "true" retrodeck "options"
fi
cd -
log i "$message"
rm -rf "$tmp_folder"
fi
done
rm -rf "$rdhome/ponzu"
}
ponzu_remove(){
# Call me with yuzu or citra and I will remove them
if [[ "$1" == "citra" ]]; then
if [[ $(configurator_generic_question_dialog "Ponzu - Remove Citra" "Do you really want to remove Citra binaries?\n\nYour games and saves will not be deleted.") == "true" ]]; then
log i "Ponzu: removing Citra"
rm -rf "/var/data/ponzu/Citra"
set_setting_value $rd_conf "akai_ponzu" "false" retrodeck "options"
configurator_generic_dialog "Ponzu - Remove Citra" "Done, Citra is now removed from RetroDECK"
fi
elif [[ "$1" == "yuzu" ]]; then
if [[ $(configurator_generic_question_dialog "Ponzu - Remove Yuzu" "Do you really want to remove Yuzu binaries?\n\nYour games and saves will not be deleted.") == "true" ]]; then
log i "Ponzu: removing Yuzu"
rm -rf "/var/data/ponzu/Yuzu"
set_setting_value $rd_conf "kiroi_ponzu" "false" retrodeck "options"
configurator_generic_dialog "Ponzu - Remove Yuzu" "Done, Yuzu is now removed from RetroDECK"
fi
else
log e "Ponzu: \"$1\" is not a vaild choice for removal, quitting"
fi
configurator_retrodeck_tools_dialog
}
# TODO: this function is not yet used
branch_selector() {
log d "Fetch branches from GitHub API excluding \"main\""
@ -726,6 +818,7 @@ quit_retrodeck() {
start_retrodeck() {
easter_eggs # Check if today has a surprise splashscreen and load it if so
ponzu
log i "Starting RetroDECK v$version"
es-de --home /var/config/
}

View file

@ -59,6 +59,8 @@ duckstationconf="/var/config/duckstation/settings.ini"
melondsconf="/var/config/melonDS/melonDS.ini"
ryujinxconf="/var/config/Ryujinx/Config.json"
xemuconf="/var/config/xemu/xemu.toml"
yuzuconf="/var/config/yuzu/qt-config.ini"
citraconf="/var/config/citra-emu/qt-config.ini"
# ES-DE config files

View file

@ -12,7 +12,7 @@ set_setting_value() {
case $4 in
"retrodeck" | "melonds" | "libretro_scummvm" )
"retrodeck" | "melonds" | "yuzu" | "citra" | "libretro_scummvm" )
if [[ -z $current_section_name ]]; then
sed -i 's^\^'"$setting_name_to_change"'=.*^'"$setting_name_to_change"'='"$setting_value_to_change"'^' "$1"
else
@ -107,7 +107,7 @@ get_setting_value() {
case $3 in
"retrodeck" | "melonds" ) # For files with this syntax - setting_name=setting_value
"retrodeck" | "melonds" | "yuzu" ) # For files with this syntax - setting_name=setting_value
if [[ -z $current_section_name ]]; then
echo $(grep -o -P "(?<=^$current_setting_name=).*" "$1")
else

View file

@ -171,6 +171,51 @@ prepare_component() {
fi
fi
if [[ "$component" =~ ^(citra|citra-emu|Citra|all)$ ]]; then
if [[ "$action" == "reset" ]]; then # Run reset-only commands
log i "------------------------"
log i "Prepearing CITRA"
log i "------------------------"
if [[ $multi_user_mode == "true" ]]; then # Multi-user actions
create_dir -d "$multi_user_data_folder/$SteamAppUser/config/citra-emu"
cp -fv $emuconfigs/citra/qt-config.ini "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini"
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "nand_directory" "$saves_folder/n3ds/citra/nand/" "citra" "Data%20Storage"
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "sdmc_directory" "$saves_folder/n3ds/citra/sdmc/" "citra" "Data%20Storage"
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "citra" "UI"
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "Paths\screenshotPath" "$screenshots_folder" "citra" "UI"
dir_prep "$multi_user_data_folder/$SteamAppUser/config/citra-emu" "/var/config/citra-emu"
else # Single-user actions
create_dir -d /var/config/citra-emu/
cp -f $emuconfigs/citra/qt-config.ini /var/config/citra-emu/qt-config.ini
set_setting_value "$citraconf" "nand_directory" "$saves_folder/n3ds/citra/nand/" "citra" "Data%20Storage"
set_setting_value "$citraconf" "sdmc_directory" "$saves_folder/n3ds/citra/sdmc/" "citra" "Data%20Storage"
set_setting_value "$citraconf" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "citra" "UI"
set_setting_value "$citraconf" "Paths\screenshotPath" "$screenshots_folder" "citra" "UI"
fi
# Shared actions
create_dir "$saves_folder/n3ds/citra/nand/"
create_dir "$saves_folder/n3ds/citra/sdmc/"
dir_prep "$bios_folder/citra/sysdata" "/var/data/citra-emu/sysdata"
dir_prep "$logs_folder/citra" "/var/data/citra-emu/log"
dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods"
dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures"
# Reset default preset settings
set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "abxy_button_swap")" "retrodeck" "abxy_button_swap"
set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$rdhome/bios/citra/sysdata" "/var/data/citra-emu/sysdata"
dir_prep "$rdhome/logs/citra" "/var/data/citra-emu/log"
dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods"
dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures"
set_setting_value "$citraconf" "nand_directory" "$saves_folder/n3ds/citra/nand/" "citra" "Data%20Storage"
set_setting_value "$citraconf" "sdmc_directory" "$saves_folder/n3ds/citra/sdmc/" "citra" "Data%20Storage"
set_setting_value "$citraconf" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "citra" "UI"
set_setting_value "$citraconf" "Paths\screenshotPath" "$screenshots_folder" "citra" "UI"
fi
fi
if [[ "$component" =~ ^(cemu|Cemu|all)$ ]]; then
if [[ "$action" == "reset" ]]; then # Run reset-only commands
log i "----------------------"
@ -537,6 +582,60 @@ prepare_component() {
fi
fi
if [[ "$component" =~ ^(yuzu|Yuzu|all)$ ]]; then
if [[ "$action" == "reset" ]]; then # Run reset-only commands
log i "----------------------"
log i "Prepearing YUZU"
log i "----------------------"
if [[ $multi_user_mode == "true" ]]; then # Multi-user actions
create_dir -d "$multi_user_data_folder/$SteamAppUser/config/yuzu"
cp -fvr "$emuconfigs/yuzu/"* "$multi_user_data_folder/$SteamAppUser/config/yuzu/"
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "nand_directory" "$saves_folder/switch/yuzu/nand" "yuzu" "Data%20Storage"
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "sdmc_directory" "$saves_folder/switch/yuzu/sdmc" "yuzu" "Data%20Storage"
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "Paths\gamedirs\4\path" "$roms_folder/switch" "yuzu" "UI"
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "Screenshots\screenshot_path" "$screenshots_folder" "yuzu" "UI"
dir_prep "$multi_user_data_folder/$SteamAppUser/config/yuzu" "/var/config/yuzu"
else # Single-user actions
create_dir -d /var/config/yuzu/
cp -fvr "$emuconfigs/yuzu/"* /var/config/yuzu/
set_setting_value "$yuzuconf" "nand_directory" "$saves_folder/switch/yuzu/nand" "yuzu" "Data%20Storage"
set_setting_value "$yuzuconf" "sdmc_directory" "$saves_folder/switch/yuzu/sdmc" "yuzu" "Data%20Storage"
set_setting_value "$yuzuconf" "Paths\gamedirs\4\path" "$roms_folder/switch" "yuzu" "UI"
set_setting_value "$yuzuconf" "Screenshots\screenshot_path" "$screenshots_folder" "yuzu" "UI"
fi
# Shared actions
dir_prep "$saves_folder/switch/yuzu/nand" "/var/data/yuzu/nand"
dir_prep "$saves_folder/switch/yuzu/sdmc" "/var/data/yuzu/sdmc"
dir_prep "$bios_folder/switch/keys" "/var/data/yuzu/keys"
dir_prep "$bios_folder/switch/firmware" "/var/data/yuzu/nand/system/Contents/registered"
dir_prep "$logs_folder/yuzu" "/var/data/yuzu/log"
dir_prep "$screenshots_folder" "/var/data/yuzu/screenshots"
dir_prep "$mods_folder/Yuzu" "/var/data/yuzu/load"
create_dir "$rdhome/customs/yuzu"
# removing dead symlinks as they were present in a past version
if [ -d $bios_folder/switch ]; then
find $bios_folder/switch -xtype l -exec rm {} \;
fi
# Reset default preset settings
set_setting_value "$rd_conf" "yuzu" "$(get_setting_value "$rd_defaults" "yuzu" "retrodeck" "abxy_button_swap")" "retrodeck" "abxy_button_swap"
set_setting_value "$rd_conf" "yuzu" "$(get_setting_value "$rd_defaults" "yuzu" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$bios_folder/switch/keys" "/var/data/yuzu/keys"
dir_prep "$bios_folder/switch/firmware" "/var/data/yuzu/nand/system/Contents/registered"
dir_prep "$saves_folder/switch/yuzu/nand" "/var/data/yuzu/nand"
dir_prep "$saves_folder/switch/yuzu/sdmc" "/var/data/yuzu/sdmc"
dir_prep "$logs_folder/yuzu" "/var/data/yuzu/log"
dir_prep "$screenshots_folder" "/var/data/yuzu/screenshots"
dir_prep "$mods_folder/Yuzu" "/var/data/yuzu/load"
set_setting_value "$yuzuconf" "nand_directory" "$saves_folder/switch/yuzu/nand" "yuzu" "Data%20Storage"
set_setting_value "$yuzuconf" "sdmc_directory" "$saves_folder/switch/yuzu/sdmc" "yuzu" "Data%20Storage"
set_setting_value "$yuzuconf" "Paths\gamedirs\4\path" "$roms_folder/switch" "yuzu" "UI"
set_setting_value "$yuzuconf" "Screenshots\screenshot_path" "$screenshots_folder" "yuzu" "UI"
fi
fi
if [[ "$component" =~ ^(xemu|XEMU|all)$ ]]; then
if [[ "$action" == "reset" ]]; then # Run reset-only commands
log i "------------------------"

View file

@ -129,7 +129,8 @@ command_list_default={
"x68000": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/px68k_libretro.so",
"zx81": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/81_libretro.so",
"zxspectrum": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fuse_libretro.so",
"n3ds": "flatpak run --command=citra net.retrodeck.retrodeck",
"switch": "flatpak run --command=/var/data/ponzu/Yuzu/bin/yuzu net.retrodeck.retrodeck -f -g",
"n3ds": "flatpak run --command=/var/data/ponzu/Citra/bin/citra-qt net.retrodeck.retrodeck",
"ps2": "flatpak run --command=pcsx2-qt net.retrodeck.retrodeck -batch",
"wiiu": "flatpak run --command=Cemu-wrapper net.retrodeck.retrodeck -g",
"gc": "flatpak run --command=dolphin-emu-wrapper net.retrodeck.retrodeck -b -e",
@ -169,6 +170,8 @@ alt_command_list={
"Beetle Saturn": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_saturn_libretro.so",
"Snes 9x - Current": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so",
"Beetle SuperGrafx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_supergrafx_libretro.so",
"Yuzu (Standalone)": "flatpak run --command=yuzu net.retrodeck.retrodeck -f -g",
"Citra (Standalone)": "flatpak run --command=citra net.retrodeck.retrodeck",
"PCSX2 (Standalone)": "flatpak run --command=pcsx2-qt net.retrodeck.retrodeck -batch",
"Dolphin (Standalone)": "flatpak run --command=dolphin-emu-wrapper net.retrodeck.retrodeck -b -e",
"RPCS3 Directory (Standalone)": "flatpak run --command=pcsx3 net.retrodeck.retrodeck --no-gui",

View file

@ -27,6 +27,7 @@ source /app/libexec/global.sh
# - Open Emulator (Behind one-time power user warning dialog)
# - RetroArch
# - Cemu
# - Citra
# - Dolphin
# - Duckstation
# - MAME
@ -38,6 +39,7 @@ source /app/libexec/global.sh
# - Ryujinx
# - Vita3K
# - XEMU
# - Yuzu
# - Tools
# - Tool: Move Folders
# - Move all of RetroDECK
@ -70,6 +72,7 @@ source /app/libexec/global.sh
# - Reset Specific Emulator
# - Reset RetroArch
# - Reset Cemu
# - Reset Citra
# - Reset Dolphin
# - Reset Duckstation
# - Reset GZDoom
@ -82,6 +85,7 @@ source /app/libexec/global.sh
# - Reset Ryujinx
# - Reset Vita3k
# - Reset XEMU
# - Reset Yuzu
# - Reset All Emulators
# - Reset EmulationStation DE
# - Reset RetroDECK
@ -425,25 +429,38 @@ configurator_power_user_warning_dialog() {
}
configurator_open_emulator_dialog() {
local emulator_list=(
"RetroArch" "Open the multi-emulator frontend RetroArch"
"Cemu" "Open the Wii U emulator CEMU"
"Dolphin" "Open the Wii & GC emulator Dolphin"
"Duckstation" "Open the PSX emulator Duckstation"
"MAME" "Open the Multiple Arcade Machine Emulator emulator MAME"
"MelonDS" "Open the NDS emulator MelonDS"
"PCSX2" "Open the PS2 emulator PSXC2"
"PPSSPP" "Open the PSP emulator PPSSPP"
"Primehack" "Open the Metroid Prime emulator Primehack"
"RPCS3" "Open the PS3 emulator RPCS3"
"Ryujinx" "Open the Switch emulator Ryujinx"
"Vita3K" "Open the PSVita emulator Vita3K"
"XEMU" "Open the Xbox emulator XEMU"
)
# Check if any ponzu is true before adding Yuzu or Citra to the list
if [[ $(get_setting_value "$rd_conf" "kiroi_ponzu" "retrodeck" "options") == "true" ]]; then
emulator_list+=("Yuzu" "Open the Switch emulator Yuzu")
fi
if [[ $(get_setting_value "$rd_conf" "akai_ponzu" "retrodeck" "options") == "true" ]]; then
emulator_list+=("Citra" "Open the 3DS emulator Citra")
fi
emulator=$(zenity --list \
--title "RetroDECK Configurator Utility - Open Emulator" --cancel-label="Back" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
--text="Which emulator do you want to launch?" \
--hide-header \
--column="Emulator" --column="Action" \
"RetroArch" "Open the multi-emulator frontend RetroArch" \
"Cemu" "Open the Wii U emulator CEMU" \
"Dolphin" "Open the Wii & GC emulator Dolphin" \
"Duckstation" "Open the PSX emulator Duckstation" \
"MAME" "Open the Multiple Arcade Machine Emulator emulator MAME" \
"MelonDS" "Open the NDS emulator MelonDS" \
"PCSX2" "Open the PS2 emulator PSXC2" \
"PPSSPP" "Open the PSP emulator PPSSPP" \
"Primehack" "Open the Metroid Prime emulator Primehack" \
"RPCS3" "Open the PS3 emulator RPCS3" \
"Ryujinx" "Open the Switch emulator Ryujinx" \
"Vita3K" "Open the PSVita emulator Vita3K" \
"XEMU" "Open the Xbox emulator XEMU" )
"${emulator_list[@]}")
case $emulator in
@ -457,6 +474,11 @@ configurator_open_emulator_dialog() {
Cemu-wrapper
;;
"Citra" )
log i "Configurator: \"$emulator\""
/var/data/ponzu/Citra/bin/citra-qt
;;
"Dolphin" )
log i "Configurator: \"$emulator\""
dolphin-emu
@ -512,6 +534,11 @@ configurator_open_emulator_dialog() {
xemu
;;
"Yuzu" )
log i "Configurator: \"$emulator\""
/var/data/ponzu/Yuzu/bin/yuzu
;;
"" ) # No selection made or Back button clicked
log i "Configurator: going back"
configurator_welcome_dialog
@ -523,15 +550,27 @@ configurator_open_emulator_dialog() {
}
configurator_retrodeck_tools_dialog() {
local choices=(
"Tool: Move Folders" "Move RetroDECK folders between internal/SD card or to a custom location"
"Tool: Compress Games" "Compress games for systems that support it"
"Install: RetroDECK SD Controller Profile" "Install the custom RetroDECK controller layout for the Steam Deck"
"Install: PS3 Firmware" "Download and install PS3 firmware for use with the RPCS3 emulator"
"Install: PS Vita Firmware" "Download and install PS Vita firmware for use with the Vita3K emulator"
"RetroDECK: Change Update Setting" "Enable or disable online checks for new versions of RetroDECK"
)
if [[ $(get_setting_value "$rd_conf" "kiroi_ponzu" "retrodeck" "options") == "true" ]]; then
choices+=("Ponzu - Remove Yuzu" "Run Ponzu to remove Yuzu from RetroDECK. Configurations and saves will be mantained.")
fi
if [[ $(get_setting_value "$rd_conf" "akai_ponzu" "retrodeck" "options") == "true" ]]; then
choices+=("Ponzu - Remove Citra" "Run Ponzu to remove Citra from RetroDECK. Configurations and saves will be mantained.")
fi
choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Tools" --cancel-label="Back" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
--column="Choice" --column="Action" \
"Tool: Move Folders" "Move RetroDECK folders between internal/SD card or to a custom location" \
"Tool: Compress Games" "Compress games for systems that support it" \
"Install: RetroDECK SD Controller Profile" "Install the custom RetroDECK controller layout for the Steam Deck" \
"Install: PS3 Firmware" "Download and install PS3 firmware for use with the RPCS3 emulator" \
"Install: PS Vita Firmware" "Download and install PS Vita firmware for use with the Vita3K emulator" \
"RetroDECK: Change Update Setting" "Enable or disable online checks for new versions of RetroDECK" )
"${choices[@]}")
case $choice in
@ -598,6 +637,14 @@ configurator_retrodeck_tools_dialog() {
configurator_online_update_setting_dialog
;;
"Ponzu - Remove Yuzu" )
ponzu_remove "yuzu"
;;
"Ponzu - Remove Citra" )
ponzu_remove "citra"
;;
"" ) # No selection made or Back button clicked
log i "Configurator: going back"
configurator_welcome_dialog
@ -1032,13 +1079,43 @@ configurator_check_multifile_game_structure() {
}
configurator_reset_dialog() {
local choices=(
"Reset Specific Emulator" "Reset only one specific emulator or engine to default settings"
"Reset RetroDECK Component" "Reset a single component, components are parts of RetroDECK that are not emulators"
"Reset All Emulators and Components" "Reset all emulators and components to default settings"
"Reset RetroDECK" "Reset RetroDECK to default settings"
)
choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Reset" --cancel-label="Back" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
--column="Choice" --column="Action" \
"Reset Specific Emulator" "Reset only one specific emulator or engine to default settings" \
"Reset RetroDECK Component" "Reset a single component, components are parts of RetroDECK that are not emulators" \
"Reset All Emulators and Components" "Reset all emulators and components to default settings" \
"Reset RetroDECK" "Reset RetroDECK to default settings" )
"${choices[@]}")
local emulator_list=(
"RetroArch" "Reset the multi-emulator frontend RetroArch to default settings"
"Cemu" "Reset the Wii U emulator Cemu to default settings"
"Dolphin" "Reset the Wii/GameCube emulator Dolphin to default settings"
"Duckstation" "Reset the PSX emulator Duckstation to default settings"
"GZDoom" "Reset the GZDoom Doom engine to default settings"
"MAME" "Reset the Multiple Arcade Machine Emulator (MAME) to default settings"
"MelonDS" "Reset the NDS emulator MelonDS to default settings"
"PCSX2" "Reset the PS2 emulator PCSX2 to default settings"
"PPSSPP" "Reset the PSP emulator PPSSPP to default settings"
"Primehack" "Reset the Metroid Prime emulator Primehack to default settings"
"RPCS3" "Reset the PS3 emulator RPCS3 to default settings"
"Ryujinx" "Reset the Switch emulator Ryujinx to default settings"
"Vita3k" "Reset the PS Vita emulator Vita3k to default settings"
"XEMU" "Reset the XBOX emulator XEMU to default settings"
)
# Check if any ponzu is true before adding Yuzu or Citra to the list
if [[ $(get_setting_value "$rd_conf" "kiroi_ponzu" "retrodeck" "options") == "true" ]]; then
emulator_list+=("Yuzu" "Reset the Switch emulator Yuzu")
fi
if [[ $(get_setting_value "$rd_conf" "akai_ponzu" "retrodeck" "options") == "true" ]]; then
emulator_list+=("Citra" "Reset the 3DS emulator Citra")
fi
case $choice in
@ -1049,22 +1126,7 @@ configurator_reset_dialog() {
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
--text="Which emulator or engine do you want to reset to default?" \
--column="Emulator" --column="Action" \
"RetroArch" "Reset the multi-emulator frontend RetroArch to default settings" \
"Cemu" "Reset the Wii U emulator Cemu to default settings" \
"Dolphin" "Reset the Wii/GameCube emulator Dolphin to default settings" \
"Duckstation" "Reset the PSX emulator Duckstation to default settings" \
"GZDoom" "Reset the GZDoom Doom engine to default settings" \
"MAME" "Reset the Multiple Arcade Machine Emulator (MAME) to default settings" \
"MelonDS" "Reset the NDS emulator MelonDS to default settings" \
"PCSX2" "Reset the PS2 emulator PCSX2 to default settings" \
"PPSSPP" "Reset the PSP emulator PPSSPP to default settings" \
"Primehack" "Reset the Metroid Prime emulator Primehack to default settings" \
"RPCS3" "Reset the PS3 emulator RPCS3 to default settings" \
"Ryujinx" "Reset the Switch emulator Ryujinx to default settings" \
"Vita3k" "Reset the PS Vita emulator Vita3k to default settings" \
"XEMU" "Reset the XBOX emulator XEMU to default settings" )
# "Ryujinx" "Reset the Switch emulator Ryujinx to default settings" \
"${emulator_list[@]}")
case $component_to_reset in
@ -1083,7 +1145,7 @@ configurator_reset_dialog() {
fi
;;
"Cemu" | "Dolphin" | "Duckstation" | "MelonDS" | "MAME" | "PCSX2" | "PPSSPP" | "Primehack" | "RPCS3" | "Ryujinx" )
"Cemu" | "Citra" | "Dolphin" | "Duckstation" | "MelonDS" | "MAME" | "PCSX2" | "PPSSPP" | "Primehack" | "RPCS3" | "Ryujinx" )
if [[ $(configurator_reset_confirmation_dialog "$component_to_reset" "Are you sure you want to reset the $component_to_reset emulator to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
prepare_component "reset" "$component_to_reset" "configurator"
configurator_process_complete_dialog "resetting $component_to_reset"