mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2025-03-06 14:27:48 +00:00
Merge pull request #393 from icenine451/cooker-0.7.0b-icenine451
Cooker 0.7.0b icenine451
This commit is contained in:
commit
14cfbfe8e9
|
@ -1,5 +1,5 @@
|
|||
config_file_format^pcsx2
|
||||
target_file^$pcsx2qtconf
|
||||
target_file^$pcsx2conf
|
||||
defaults_file^$emuconfigs/PCSX2/PCSX2.ini
|
||||
change^cheevos^Enabled^true^Achievements
|
||||
change^cheevos^Username^$cheevos_username^Achievements
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
config_file_format^retroarch
|
||||
target_file^/var/config/retroarch/config/Snes9x/snes.cfg
|
||||
defaults_file^$emuconfigs/retroarch/retroarch.cfg
|
||||
change^cheevos^cheevos_enable^true
|
||||
change^cheevos^cheevos_token^$cheevos_token
|
||||
change^cheevos^cheevos_username^$cheevos_username
|
||||
change^cheevos_hardcore^cheevos_hardcore_mode_enable^true
|
||||
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/snes87.cfg
|
||||
change^borders^input_overlay_aspect_adjust_landscape^0.305000
|
||||
change^borders^input_overlay_scale_landscape^1.050000
|
||||
|
|
14
emu-configs/defaults/retrodeck/presets/gb_presets.cfg
Normal file
14
emu-configs/defaults/retrodeck/presets/gb_presets.cfg
Normal file
|
@ -0,0 +1,14 @@
|
|||
config_file_format^retroarch
|
||||
target_file^/var/config/retroarch/config/Gambatte/gb.cfg
|
||||
defaults_file^$emuconfigs/retroarch/retroarch.cfg
|
||||
change^borders^aspect_ratio_index^23
|
||||
change^borders^custom_viewport_height^576
|
||||
change^borders^custom_viewport_width^640
|
||||
change^borders^custom_viewport_x^320
|
||||
change^borders^custom_viewport_y^20
|
||||
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gb.cfg
|
||||
change^borders^input_overlay_aspect_adjust_landscape^0.110000
|
||||
change^borders^input_overlay_enable^true
|
||||
change^borders^input_overlay_scale_landscape^1.205000
|
||||
change^borders^input_overlay_y_offset_landscape^0.005000
|
||||
enable^nintendo_button_layout^/var/config/retroarch/config/remaps/Gambatte/gb.rmp
|
13
emu-configs/defaults/retrodeck/presets/gba_presets.cfg
Normal file
13
emu-configs/defaults/retrodeck/presets/gba_presets.cfg
Normal file
|
@ -0,0 +1,13 @@
|
|||
config_file_format^retroarch
|
||||
target_file^/var/config/retroarch/config/mGBA/gba.cfg
|
||||
defaults_file^$emuconfigs/retroarch/retroarch.cfg
|
||||
change^borders^aspect_ratio_index^23
|
||||
change^borders^custom_viewport_height^600
|
||||
change^borders^custom_viewport_width^900
|
||||
change^borders^custom_viewport_x^190
|
||||
change^borders^custom_viewport_y^37
|
||||
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gba.cfg
|
||||
change^borders^input_overlay_aspect_adjust_landscape^0.105000
|
||||
change^borders^input_overlay_enable^true
|
||||
change^borders^input_overlay_scale_landscape^1.140000
|
||||
enable^nintendo_button_layout^/var/config/retroarch/config/remaps/Gambatte/gbc.rmp
|
14
emu-configs/defaults/retrodeck/presets/gbc_presets.cfg
Normal file
14
emu-configs/defaults/retrodeck/presets/gbc_presets.cfg
Normal file
|
@ -0,0 +1,14 @@
|
|||
config_file_format^retroarch
|
||||
target_file^/var/config/retroarch/config/Gambatte/gbc.cfg
|
||||
defaults_file^$emuconfigs/retroarch/retroarch.cfg
|
||||
change^borders^aspect_ratio_index^23
|
||||
change^borders^custom_viewport_height^576
|
||||
change^borders^custom_viewport_width^640
|
||||
change^borders^custom_viewport_x^320
|
||||
change^borders^custom_viewport_y^20
|
||||
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gbc.cfg
|
||||
change^borders^input_overlay_aspect_adjust_landscape^0.110000
|
||||
change^borders^input_overlay_enable^true
|
||||
change^borders^input_overlay_scale_landscape^1.205000
|
||||
change^borders^input_overlay_y_offset_landscape^0.005000
|
||||
enable^nintendo_button_layout^/var/config/retroarch/config/remaps/Gambatte/gbc.rmp
|
|
@ -0,0 +1,8 @@
|
|||
config_file_format^retroarch
|
||||
target_file^/var/config/retroarch/config/Genesis Plus GX/genesis.cfg
|
||||
defaults_file^$emuconfigs/retroarch/retroarch.cfg
|
||||
change^borders^input_overlay^input_overlay^/var/config/retroarch/overlays/borders/pegasus/genesis.cfg
|
||||
change^borders^input_overlay_aspect_adjust_landscape^0.100000
|
||||
change^borders^input_overlay_enable^true
|
||||
change^borders^input_overlay_scale_landscape^1.040000
|
||||
change^widescreen^aspect_ratio_index^24
|
11
emu-configs/defaults/retrodeck/presets/gg_presets.cfg
Normal file
11
emu-configs/defaults/retrodeck/presets/gg_presets.cfg
Normal file
|
@ -0,0 +1,11 @@
|
|||
config_file_format^retroarch
|
||||
target_file^/var/config/retroarch/config/Genesis Plus GX/gg.cfg
|
||||
defaults_file^$emuconfigs/retroarch/retroarch.cfg
|
||||
change^borders^input_overlay^aspect_ratio_index^23
|
||||
change^borders^custom_viewport_width^800
|
||||
change^borders^custom_viewport_x^240
|
||||
change^borders^custom_viewport_y^43
|
||||
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gg.cfg
|
||||
change^borders^input_overlay_aspect_adjust_landscape^-0.080000
|
||||
change^borders^input_overlay_enable^true
|
||||
change^borders^input_overlay_scale_landscape^1.345000
|
8
emu-configs/defaults/retrodeck/presets/n64_presets.cfg
Normal file
8
emu-configs/defaults/retrodeck/presets/n64_presets.cfg
Normal file
|
@ -0,0 +1,8 @@
|
|||
config_file_format^retroarch
|
||||
target_file^/var/config/retroarch/config/Mupen64Plus-Next/n64.cfg
|
||||
defaults_file^$emuconfigs/retroarch/retroarch.cfg
|
||||
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/N64.cfg
|
||||
change^borders^input_overlay_aspect_adjust_landscape^0.145000
|
||||
change^borders^input_overlay_enable^true
|
||||
change^widescreen^aspect_ratio_index^24
|
||||
enable^nintendo_button_layout^/var/config/retroarch/config/remaps/Snes9x/snes.rmp
|
|
@ -0,0 +1,8 @@
|
|||
config_file_format^retroarch
|
||||
target_file^/var/config/retroarch/config/SwanStation/psx.cfg
|
||||
defaults_file^$emuconfigs/retroarch/retroarch.cfg
|
||||
change^borders^input_overlay^/var/config/retrodeck/overlays/borders/pegasus/psx.cfg
|
||||
change^borders^input_overlay_aspect_adjust_landscape^0.120000
|
||||
change^borders^input_overlay_enable^true
|
||||
change^borders^input_overlay_scale_landscape^1.040000
|
||||
change^widescreen^aspect_ratio_index^24
|
|
@ -0,0 +1,4 @@
|
|||
input_player1_btn_a = "0"
|
||||
input_player1_btn_b = "8"
|
||||
input_player1_btn_x = "1"
|
||||
input_player1_btn_y = "9"
|
|
@ -0,0 +1,4 @@
|
|||
input_player1_btn_a = "0"
|
||||
input_player1_btn_b = "8"
|
||||
input_player1_btn_x = "1"
|
||||
input_player1_btn_y = "9"
|
|
@ -0,0 +1,4 @@
|
|||
input_player1_btn_a = "0"
|
||||
input_player1_btn_b = "8"
|
||||
input_player1_btn_x = "1"
|
||||
input_player1_btn_y = "9"
|
|
@ -0,0 +1,4 @@
|
|||
input_player1_btn_a = "0"
|
||||
input_player1_btn_b = "8"
|
||||
input_player1_btn_x = "1"
|
||||
input_player1_btn_y = "9"
|
|
@ -0,0 +1,4 @@
|
|||
input_player1_btn_a = "0"
|
||||
input_player1_btn_b = "8"
|
||||
input_player1_btn_x = "1"
|
||||
input_player1_btn_y = "9"
|
|
@ -0,0 +1,11 @@
|
|||
duckstation^Duckstation (Sony Playstation Standalone)
|
||||
gb^Nintendo GameBoy
|
||||
gba^Nintendo GameBoy Advance
|
||||
gbc^Nintendo GameBoy Color
|
||||
genesis^Sega Genesis/Master System
|
||||
gg^Sega GameGear
|
||||
n64^Nintendo 64
|
||||
pcsx2^PCSX2 (Sony Playstation 2 Standalone)
|
||||
psx_ra^Sony Playstation (RetroArch Core)
|
||||
retroarch^RetroArch (Multi-emulator Frontend)
|
||||
snes^Nintendo Super Nintendo
|
|
@ -29,20 +29,34 @@ default_user=
|
|||
developer_options=false
|
||||
|
||||
[cheevos]
|
||||
Duckstation=false
|
||||
PCSX2=false
|
||||
RetroArch=false
|
||||
duckstation=false
|
||||
pcsx2=false
|
||||
retroarch=false
|
||||
|
||||
[cheevos_hardcore]
|
||||
Duckstation=false
|
||||
PCSX2=false
|
||||
RetroArch=false
|
||||
duckstation=false
|
||||
pcsx2=false
|
||||
retroarch=false
|
||||
|
||||
[borders]
|
||||
SNES=false
|
||||
gb=false
|
||||
gba=false
|
||||
gbc=false
|
||||
genesis=false
|
||||
gg=false
|
||||
n64=false
|
||||
psx_ra=false
|
||||
snes=false
|
||||
|
||||
[widescreen]
|
||||
SNES=false
|
||||
genesis=false
|
||||
n64=false
|
||||
psx_ra=false
|
||||
snes=false
|
||||
|
||||
[nintendo_button_layout]
|
||||
SNES=false
|
||||
gb=false
|
||||
gba=false
|
||||
gbc=false
|
||||
n64=false
|
||||
snes=false
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
change^DSP^Backend^Pulse^primehack^$primehackconf
|
||||
change^Settings^AspectRatio^1^primehack^$primehackgfxconf
|
||||
# Update "ask on quit" and "save on quit" on supported emulators (PCSX2, Duckstation)
|
||||
change^UI^ConfirmShutdown^false^pcsx2^$pcsx2qtconf
|
||||
change^Main^ConfirmPowerOff^false^duckstation^$duckstationconf
|
||||
change^UI^ConfirmShutdown^false^pcsx2^$pcsx2conf
|
||||
change^Main^ConfirmPowerOff^false^duckstation^$duckstationconf
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
accessibility_enable = "false"
|
||||
accessibility_narrator_speech_speed = "5"
|
||||
ai_service_enable = "true"
|
||||
ai_service_enable = "false"
|
||||
ai_service_mode = "1"
|
||||
ai_service_pause = "false"
|
||||
ai_service_source_lang = "0"
|
||||
|
|
|
@ -1269,7 +1269,7 @@
|
|||
<platform>ps3</platform>
|
||||
<theme>ps3</theme>
|
||||
</system>
|
||||
<system>
|
||||
<!-- <system>
|
||||
<name>ps4</name>
|
||||
<fullname>Sony PlayStation 4</fullname>
|
||||
<path>%ROMPATH%/ps4</path>
|
||||
|
@ -1277,7 +1277,7 @@
|
|||
<command>PLACEHOLDER %ROM%</command>
|
||||
<platform>ps4</platform>
|
||||
<theme>ps4</theme>
|
||||
</system>
|
||||
</system> -->
|
||||
<system>
|
||||
<name>psp</name>
|
||||
<fullname>Sony PlayStation Portable</fullname>
|
||||
|
|
|
@ -238,6 +238,14 @@ backup_retrodeck_userdata() {
|
|||
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
|
||||
}
|
||||
|
||||
make_name_pretty() {
|
||||
# This function will take an internal system name (like "gbc") and return a pretty version for user display ("Nintendo GameBoy Color")
|
||||
# USAGE: make_name_pretty "system name"
|
||||
local system=$(grep "$1^" "$pretty_system_names_reference_list")
|
||||
IFS='^' read -r internal_name pretty_name < <(echo "$system")
|
||||
echo "$pretty_name"
|
||||
}
|
||||
|
||||
finit_browse() {
|
||||
# Function for choosing data directory location during first/forced init
|
||||
path_selected=false
|
||||
|
|
|
@ -43,8 +43,9 @@ helper_files_list="$emuconfigs/defaults/retrodeck/reference_lists/helper_files_l
|
|||
rd_appdata="/app/share/appdata/net.retrodeck.retrodeck.appdata.xml" # The shipped appdata XML file for this version
|
||||
rpcs3_firmware="http://dus01.ps3.update.playstation.net/update/ps3/image/us/2023_0228_05fe32f5dc8c78acbcd84d36ee7fdc5b/PS3UPDAT.PUP"
|
||||
RA_API_URL="https://retroachievements.org/dorequest.php" # API URL for RetroAchievements.org
|
||||
presets_dir="$emuconfigs/defaults/retrodeck/presets"
|
||||
incompatible_presets_reference_list="$emuconfigs/defaults/retrodeck/reference_lists/incompatible_presets.cfg"
|
||||
presets_dir="$emuconfigs/defaults/retrodeck/presets" # Repository for all system preset config files
|
||||
incompatible_presets_reference_list="$emuconfigs/defaults/retrodeck/reference_lists/incompatible_presets.cfg" # A config file listing all incompatible presets for reference (eg. cannot have borders and widescreen enabled simultaniously)
|
||||
pretty_system_names_reference_list="$emuconfigs/defaults/retrodeck/reference_lists/pretty_system_names.cfg" # An internal translation list for turning internal names (eg. gbc) to "pretty" names (Nintendo GameBoy Color)
|
||||
|
||||
# Config files for emulators with single config files
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ get_setting_value() {
|
|||
if [[ -z $current_section_name ]]; then
|
||||
echo $(grep -o -P "(?<=^$current_setting_name=).*" $1)
|
||||
else
|
||||
sed -n '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' $1 | grep -o -P "(?<=^$current_setting_name=).*"
|
||||
sed -n -E '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'|\[^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' $1 | grep -o -P "(?<=^$current_setting_name=).*"
|
||||
fi
|
||||
;;
|
||||
|
||||
|
@ -96,7 +96,7 @@ get_setting_value() {
|
|||
if [[ -z $current_section_name ]]; then
|
||||
echo $(grep -o -P "(?<=^$current_setting_name = \").*(?=\")" $1)
|
||||
else
|
||||
sed -n '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' $1 | grep -o -P "(?<=^$current_setting_name = \").*(?=\")"
|
||||
sed -n -E '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'|\[^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' $1 | grep -o -P "(?<=^$current_setting_name = \").*(?=\")"
|
||||
fi
|
||||
;;
|
||||
|
||||
|
@ -104,7 +104,7 @@ get_setting_value() {
|
|||
if [[ -z $current_section_name ]]; then
|
||||
echo $(grep -o -P "(?<=^$current_setting_name = ).*" $1)
|
||||
else
|
||||
sed -n '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' $1 | grep -o -P "(?<=^$current_setting_name = ).*"
|
||||
sed -n -E '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'|\[^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' $1 | grep -o -P "(?<=^$current_setting_name = ).*"
|
||||
fi
|
||||
;;
|
||||
|
||||
|
|
|
@ -90,9 +90,9 @@ post_update() {
|
|||
set_setting_value $rd_conf "borders_folder" "$rdhome/borders"
|
||||
conf_read
|
||||
|
||||
mv -f "$pcsx2qtconf" "$pcsx2qtconf.bak"
|
||||
generate_single_patch "$emuconfigs/PCSX2/PCSX2.ini" "$pcsx2qtconf.bak" "/var/config/PCSX2/inis/PCSX2-cheevos-upgrade.patch" pcsx2
|
||||
deploy_single_patch "$emuconfigs/PCSX2/PCSX2.ini" "/var/config/PCSX2/inis/PCSX2-cheevos-upgrade.patch" "$pcsx2qtconf"
|
||||
mv -f "$pcsx2conf" "$pcsx2conf.bak"
|
||||
generate_single_patch "$emuconfigs/PCSX2/PCSX2.ini" "$pcsx2conf.bak" "/var/config/PCSX2/inis/PCSX2-cheevos-upgrade.patch" pcsx2
|
||||
deploy_single_patch "$emuconfigs/PCSX2/PCSX2.ini" "/var/config/PCSX2/inis/PCSX2-cheevos-upgrade.patch" "$pcsx2conf"
|
||||
rm -f "/var/config/PCSX2/inis/PCSX2-cheevos-upgrade.patch"
|
||||
mv -f "$duckstationconf" "$duckstationconf.bak"
|
||||
generate_single_patch "$emuconfigs/duckstation/settings.ini" "$duckstationconf.bak" "/var/config/duckstation/duckstation-cheevos-upgrade.patch" pcsx2
|
||||
|
@ -152,6 +152,7 @@ post_update() {
|
|||
set_setting_value "$duckstationconf" "Card1Path" "$saves_folder/psx/duckstation/memcards/shared_card_1.mcd" "duckstation" "MemoryCards"
|
||||
set_setting_value "$duckstationconf" "Card2Path" "$saves_folder/psx/duckstation/memcards/shared_card_2.mcd" "duckstation" "MemoryCards"
|
||||
set_setting_value "$duckstationconf" "Directory" "$saves_folder/psx/duckstation/memcards" "duckstation" "MemoryCards"
|
||||
set_setting_value "$duckstationconf" "RecursivePaths" "$roms_folder/psx" "duckstation" "GameList"
|
||||
mkdir -p "$states_folder/psx"
|
||||
mv -t "$states_folder/psx/" "$states_folder/duckstation"
|
||||
unlink "/var/data/duckstation/savestates"
|
||||
|
|
|
@ -83,6 +83,7 @@ prepare_emulator() {
|
|||
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"
|
||||
set_setting_value "$raconf" "log_dir" "$logs_folder" "retroarch"
|
||||
fi
|
||||
|
||||
# PPSSPP
|
||||
|
@ -126,6 +127,7 @@ prepare_emulator() {
|
|||
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"
|
||||
set_setting_value "$raconf" "log_dir" "$logs_folder" "retroarch"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -258,6 +260,7 @@ prepare_emulator() {
|
|||
set_setting_value "$multi_user_data_folder/$SteamAppUser/data/duckstation/settings.ini" "Card1Path" "$saves_folder/psx/duckstation/memcards/shared_card_1.mcd" "duckstation" "MemoryCards"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/data/duckstation/settings.ini" "Card2Path" "$saves_folder/psx/duckstation/memcards/shared_card_2.mcd" "duckstation" "MemoryCards"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/data/duckstation/settings.ini" "Directory" "$saves_folder/psx/duckstation/memcards" "duckstation" "MemoryCards"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/data/duckstation/settings.ini" "RecursivePaths" "$roms_folder/psx" "duckstation" "GameList"
|
||||
dir_prep "$multi_user_data_folder/$SteamAppUser/config/duckstation" "/var/config/duckstation"
|
||||
else # Single-user actions
|
||||
rm -rf /var/config/duckstation
|
||||
|
@ -267,6 +270,7 @@ prepare_emulator() {
|
|||
set_setting_value "$duckstationconf" "Card1Path" "$saves_folder/psx/duckstation/memcards/shared_card_1.mcd" "duckstation" "MemoryCards"
|
||||
set_setting_value "$duckstationconf" "Card2Path" "$saves_folder/psx/duckstation/memcards/shared_card_2.mcd" "duckstation" "MemoryCards"
|
||||
set_setting_value "$duckstationconf" "Directory" "$saves_folder/psx/duckstation/memcards" "duckstation" "MemoryCards"
|
||||
set_setting_value "$duckstationconf" "RecursivePaths" "$roms_folder/psx" "duckstation" "GameList"
|
||||
fi
|
||||
dir_prep "$saves_folder/psx/duckstation/memcards" "/var/config/duckstation/memcards" # TODO: This shouldn't be needed anymore, verify
|
||||
dir_prep "$states_folder/psx/duckstation" "/var/config/duckstation/savestates" # This is hard-coded in Duckstation, always needed
|
||||
|
@ -276,6 +280,7 @@ prepare_emulator() {
|
|||
set_setting_value "$duckstationconf" "Card1Path" "$saves_folder/psx/duckstation/memcards/shared_card_1.mcd" "duckstation" "MemoryCards"
|
||||
set_setting_value "$duckstationconf" "Card2Path" "$saves_folder/psx/duckstation/memcards/shared_card_2.mcd" "duckstation" "MemoryCards"
|
||||
set_setting_value "$duckstationconf" "Directory" "$saves_folder/psx/duckstation/memcards" "duckstation" "MemoryCards"
|
||||
set_setting_value "$duckstationconf" "RecursivePaths" "$roms_folder/psx" "duckstation" "GameList"
|
||||
dir_prep "$states_folder/psx/duckstation" "/var/config/duckstation/savestates" # This is hard-coded in Duckstation, always needed
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -24,16 +24,18 @@ change_preset_dialog() {
|
|||
elif [[ "$system_value" == "false" ]]; then
|
||||
current_disabled_systems=("${current_disabled_systems[@]}" "$system_name")
|
||||
fi
|
||||
current_preset_settings=("${current_preset_settings[@]}" "$system_value" "$system_name")
|
||||
current_preset_settings=("${current_preset_settings[@]}" "$system_value" "$(make_name_pretty $system_name)" "$system_name")
|
||||
done < <(printf '%s\n' "$section_results")
|
||||
|
||||
choice=$(zenity \
|
||||
--list --width=1200 --height=720 \
|
||||
--checklist \
|
||||
--separator="," \
|
||||
--hide-column=3 --print-column=3 \
|
||||
--text="Enable $pretty_preset_name:" \
|
||||
--column "Enabled" \
|
||||
--column "Emulator" \
|
||||
--column "internal_system_name" \
|
||||
"${current_preset_settings[@]}")
|
||||
|
||||
local rc=$?
|
||||
|
@ -101,9 +103,8 @@ build_preset_config(){
|
|||
local system_being_changed="$1"
|
||||
shift
|
||||
local presets_being_changed="$*"
|
||||
for preset in $presets_being_changed
|
||||
for current_preset in $presets_being_changed
|
||||
do
|
||||
current_preset="$preset"
|
||||
local preset_section=$(sed -n '/\['"$current_preset"'\]/, /\[/{ /\['"$current_preset"'\]/! { /\[/! p } }' $rd_conf | sed '/^$/d')
|
||||
while IFS= read -r system_line
|
||||
do
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 78786102fc04cf104ef9bf2f0ebcacbdda357ae0
|
||||
Subproject commit 0b1cfb79e591e10488a3262d6b38db843c39a409
|
|
@ -1 +1 @@
|
|||
Subproject commit 50314360ded6fa3b9f0b602513b1164b7a6636ed
|
||||
Subproject commit a2441b964afefd8cd1cebcdf562c7878670daf42
|
|
@ -137,10 +137,6 @@ configurator_welcome_dialog() {
|
|||
;;
|
||||
|
||||
"" )
|
||||
if [[ $(check_desktop_mode) == "true" && "$launched_from_cli" == "true" ]]; then
|
||||
launched_from_cli="false"
|
||||
launch_rd_after_exit=$(configurator_generic_question_dialog "RetroDECK Configurator" "Would you like to launch RetroDECK after closing the Configurator?")
|
||||
fi
|
||||
exit 1
|
||||
;;
|
||||
|
||||
|
@ -183,6 +179,7 @@ configurator_global_presets_and_settings_dialog() {
|
|||
"Enable/Disable Borders" "Enable or disable borders in supported systems" \
|
||||
"Enable/Disable Widescreen" "Enable or disable widescreen in supported systems" \
|
||||
"RetroAchievements Login" "Log into the RetroAchievements service in supported systems" \
|
||||
"RetroAchievements Logout" "Disable RetroAchievements service in supported systems" \
|
||||
"RetroAchievements Hardcore Mode" "Enable RetroAchievements hardcore mode (no cheats, rewind, save states etc.) in supported emulators" \
|
||||
"Nintendo Button Layout" "Enable or disable Nintendo button layout (swapped A/B and X/Y) in supported systems" )
|
||||
|
||||
|
@ -210,6 +207,11 @@ configurator_global_presets_and_settings_dialog() {
|
|||
configurator_global_presets_and_settings_dialog
|
||||
;;
|
||||
|
||||
"RetroAchievements Logout" ) # This is a workaround to allow disabling cheevos without having to enter login credentials
|
||||
change_preset_dialog "cheevos"
|
||||
configurator_global_presets_and_settings_dialog
|
||||
;;
|
||||
|
||||
"RetroAchievements Hardcore Mode" )
|
||||
change_preset_dialog "cheevos_hardcore"
|
||||
configurator_global_presets_and_settings_dialog
|
||||
|
@ -1079,7 +1081,8 @@ configurator_developer_dialog() {
|
|||
"Change Multi-user mode" "Enable or disable multi-user support" \
|
||||
"Change Update Channel" "Change between normal and cooker builds" \
|
||||
"Change Update Check Setting" "Enable or disable online checks for new versions of RetroDECK" \
|
||||
"Browse the Wiki" "Browse the RetroDECK wiki online" )
|
||||
"Browse the Wiki" "Browse the RetroDECK wiki online" \
|
||||
"USB Import" "Prepare a USB device for ROMs or import an existing collection" )
|
||||
|
||||
case $choice in
|
||||
|
||||
|
@ -1099,6 +1102,10 @@ configurator_developer_dialog() {
|
|||
xdg-open "https://github.com/XargonWan/RetroDECK/wiki"
|
||||
;;
|
||||
|
||||
"USB Import" )
|
||||
configurator_usb_import_dialog
|
||||
;;
|
||||
|
||||
"" ) # No selection made or Back button clicked
|
||||
configurator_welcome_dialog
|
||||
;;
|
||||
|
@ -1189,11 +1196,102 @@ configurator_online_update_setting_dialog() {
|
|||
fi
|
||||
}
|
||||
|
||||
configurator_usb_import_dialog() {
|
||||
choice=$(zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \
|
||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
||||
--column="Choice" --column="Description" \
|
||||
"Prepare USB device" "Create ROM folders on a selected USB device" \
|
||||
"Import from USB" "Import collection from a previously prepared device" )
|
||||
|
||||
case $choice in
|
||||
|
||||
"Prepare USB device" )
|
||||
external_devices=()
|
||||
|
||||
while read -r size device_path; do
|
||||
device_name=$(basename "$device_path")
|
||||
external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path")
|
||||
done < <(df --output=size,target | grep media | grep -v $default_sd | awk '{$1=$1;print}')
|
||||
|
||||
if [[ "${#external_devices[@]}" -gt 0 ]]; then
|
||||
choice=$(zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \
|
||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
||||
--hide-column=3 --print-column=3 \
|
||||
--column "Device Name" \
|
||||
--column "Device Size" \
|
||||
--column "path" \
|
||||
"${external_devices[@]}")
|
||||
|
||||
if [[ ! -z "$choice" ]]; then
|
||||
emulationstation --home "$choice" --create-system-dirs
|
||||
rm -rf "$choice/.emulationstation" # Cleanup unnecessary folder
|
||||
fi
|
||||
else
|
||||
configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found."
|
||||
fi
|
||||
configurator_usb_import_dialog
|
||||
;;
|
||||
|
||||
"Import from USB" )
|
||||
external_devices=()
|
||||
|
||||
while read -r size device_path; do
|
||||
if [[ -d "$device_path/ROMs" ]]; then
|
||||
device_name=$(basename "$device_path")
|
||||
external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path")
|
||||
fi
|
||||
done < <(df --output=size,target | grep media | grep -v $default_sd | awk '{$1=$1;print}')
|
||||
|
||||
if [[ "${#external_devices[@]}" -gt 0 ]]; then
|
||||
choice=$(zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \
|
||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
||||
--hide-column=3 --print-column=3 \
|
||||
--column "Device Name" \
|
||||
--column "Device Size" \
|
||||
--column "path" \
|
||||
"${external_devices[@]}")
|
||||
|
||||
if [[ ! -z "$choice" ]]; then
|
||||
if [[ $(verify_space "$choice/ROMs" "$roms_folder") == "false" ]];
|
||||
if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same ROMs in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then
|
||||
(
|
||||
rsync -a --mkpath "$choice/ROMs/"* "$roms_folder"
|
||||
) |
|
||||
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \
|
||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||
--title "RetroDECK Configurator Utility - USB Import In Progress"
|
||||
configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!"
|
||||
fi
|
||||
else
|
||||
(
|
||||
rsync -a --mkpath "$choice/ROMs/"* "$roms_folder"
|
||||
) |
|
||||
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \
|
||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||
--title "RetroDECK Configurator Utility - USB Import In Progress"
|
||||
configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found with an importable folder."
|
||||
fi
|
||||
configurator_usb_import_dialog
|
||||
;;
|
||||
|
||||
"" ) # No selection made or Back button clicked
|
||||
configurator_developer_dialog
|
||||
;;
|
||||
esac
|
||||
|
||||
}
|
||||
|
||||
# Functions to run at exit, without keeping Configurator running in background
|
||||
|
||||
launch_retrodeck_after_configurator_close() {
|
||||
if [[ $launch_rd_after_exit == "true" ]]; then
|
||||
start_retrodeck
|
||||
if [[ $(check_desktop_mode) == "true" && "$launched_from_cli" == "true" ]]; then
|
||||
if [[ $(configurator_generic_question_dialog "RetroDECK Configurator" "Would you like to launch RetroDECK after closing the Configurator?") == "true" ]]; then
|
||||
start_retrodeck
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue