Add user-specific dirs for media and roms to ESDE

Update Configurator menu labels and fix some navigation dead ends
Add "Launch RetroDECK on exit" to Configurator while in desktop mode
This commit is contained in:
icenine451 2023-05-11 10:17:55 -04:00
parent 122f70614e
commit 3cdc9e376f
2 changed files with 47 additions and 30 deletions

View file

@ -1388,19 +1388,19 @@ prepare_emulator() {
if [[ "$action" == "reset" ]]; then if [[ "$action" == "reset" ]]; then
rm -rf /var/config/emulationstation/ rm -rf /var/config/emulationstation/
mkdir -p /var/config/emulationstation/ mkdir -p /var/config/emulationstation/
cp -f /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml
set_setting_value "es_settings.xml" "ROMDirectory" "$roms_folder" "es_settings"
set_setting_value "es_settings.xml" "MediaDirectory" "$media_folder" "es_settings"
set_setting_value "es_settings.xml" "UserThemeDirectory" "$themes_folder" "es_settings"
emulationstation --home /var/config/emulationstation --create-system-dirs emulationstation --home /var/config/emulationstation --create-system-dirs
update_splashscreens update_splashscreens
dir_prep "$roms_folder" "/var/config/emulationstation/ROMs"
dir_prep "$media_folder" "/var/config/emulationstation/.emulationstation/downloaded_media"
dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists" dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists"
cp -f /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml
set_setting_value "es_settings.xml" "UserThemeDirectory" "$themes_folder" "es_settings"
fi fi
if [[ "$action" == "postmove" ]]; then if [[ "$action" == "postmove" ]]; then
dir_prep "$roms_folder" "/var/config/emulationstation/ROMs" set_setting_value "es_settings.xml" "ROMDirectory" "$roms_folder" "es_settings"
dir_prep "$media_folder" "/var/config/emulationstation/.emulationstation/downloaded_media" set_setting_value "es_settings.xml" "MediaDirectory" "$media_folder" "es_settings"
dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists"
set_setting_value "es_settings.xml" "UserThemeDirectory" "$themes_folder" "es_settings" set_setting_value "es_settings.xml" "UserThemeDirectory" "$themes_folder" "es_settings"
dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists"
fi fi
fi fi

View file

@ -34,7 +34,7 @@ source /app/libexec/functions.sh
# - RPCS3 # - RPCS3
# - XEMU # - XEMU
# - Yuzu # - Yuzu
# - RetroDECK Tools # - RetroDECK: Tools
# - RetroDECK: Move Tool # - RetroDECK: Move Tool
# - Move all of RetroDECK # - Move all of RetroDECK
# - Move ROMs folder # - Move ROMs folder
@ -56,7 +56,7 @@ source /app/libexec/functions.sh
# - Install: RetroDECK Controller Profile # - Install: RetroDECK Controller Profile
# - Install: RetroDECK Starter Pack # - Install: RetroDECK Starter Pack
# - Install: PS3 firmware # - Install: PS3 firmware
# - RetroDECK Troubleshooting # - RetroDECK: Troubleshooting
# - Backup: RetroDECK Userdata # - Backup: RetroDECK Userdata
# - Check & Verify: BIOS # - Check & Verify: BIOS
# - Check & Verify: Multi-file structure # - Check & Verify: Multi-file structure
@ -76,7 +76,7 @@ source /app/libexec/functions.sh
# - Reset Yuzu # - Reset Yuzu
# - Reset All Emulators # - Reset All Emulators
# - Reset RetroDECK # - Reset RetroDECK
# - About RetroDECK # - RetroDECK: About
# - RetroDECK Version History # - RetroDECK Version History
# - Full changelog # - Full changelog
# - Version-specific changelogs # - Version-specific changelogs
@ -93,16 +93,16 @@ configurator_welcome_dialog() {
if [[ $developer_options == "true" ]]; then if [[ $developer_options == "true" ]]; then
welcome_menu_options=("Presets & Settings" "Here you find various presets, tweaks and settings to customize your RetroDECK experience" \ welcome_menu_options=("Presets & Settings" "Here you find various presets, tweaks and settings to customize your RetroDECK experience" \
"Open Emulator" "Launch and configure each emulators settings (for advanced users)" \ "Open Emulator" "Launch and configure each emulators settings (for advanced users)" \
"RetroDECK Tools" "Compress games, move RetroDECK and install optional features" \ "RetroDECK: Tools" "Compress games, move RetroDECK and install optional features" \
"RetroDECK Troubleshooting" "Backup data, perform BIOS / multi-disc file checks checks and emulator resets" \ "RetroDECK: Troubleshooting" "Backup data, perform BIOS / multi-disc file checks checks and emulator resets" \
"About RetroDECK" "Show additional information about RetroDECK" \ "RetroDECK: About" "Show additional information about RetroDECK" \
"Developer Options" "Welcome to the DANGER ZONE") "Developer Options" "Welcome to the DANGER ZONE")
else else
welcome_menu_options=("Presets & Settings" "Here you find various presets, tweaks and settings to customize your RetroDECK experience" \ welcome_menu_options=("Presets & Settings" "Here you find various presets, tweaks and settings to customize your RetroDECK experience" \
"Open Emulator" "Launch and configure each emulators settings (for advanced users)" \ "Open Emulator" "Launch and configure each emulators settings (for advanced users)" \
"RetroDECK Tools" "Compress games, move RetroDECK and install optional features" \ "RetroDECK: Tools" "Compress games, move RetroDECK and install optional features" \
"RetroDECK Troubleshooting" "Backup data, perform BIOS / multi-disc file checks checks and emulator resets" \ "RetroDECK: Troubleshooting" "Backup data, perform BIOS / multi-disc file checks checks and emulator resets" \
"About RetroDECK" "Show additional information about RetroDECK" ) "RetroDECK: About" "Show additional information about RetroDECK" )
fi fi
choice=$(zenity --list --title="RetroDECK Configurator Utility" --cancel-label="Quit" \ choice=$(zenity --list --title="RetroDECK Configurator Utility" --cancel-label="Quit" \
@ -120,15 +120,15 @@ configurator_welcome_dialog() {
configurator_power_user_warning_dialog configurator_power_user_warning_dialog
;; ;;
"RetroDECK Tools" ) "RetroDECK: Tools" )
configurator_retrodeck_tools_dialog configurator_retrodeck_tools_dialog
;; ;;
"RetroDECK Troubleshooting" ) "RetroDECK: Troubleshooting" )
configurator_retrodeck_troubleshooting_dialog configurator_retrodeck_troubleshooting_dialog
;; ;;
"About RetroDECK" ) "RetroDECK: About" )
configurator_about_retrodeck_dialog configurator_about_retrodeck_dialog
;; ;;
@ -137,6 +137,13 @@ configurator_welcome_dialog() {
configurator_developer_dialog configurator_developer_dialog
;; ;;
"" )
if [[ $(check_desktop_mode) == "true" ]]; then
launch_rd_after_exit=$(configurator_generic_question_dialog "RetroDECK Configurator" "Would you like to launch RetroDECK after closing the Configurator?")
fi
exit 1
;;
esac esac
} }
@ -244,7 +251,7 @@ configurator_retroarch_rewind_dialog() {
set_setting_value "$raconf" "rewind_enable" "false" retroarch set_setting_value "$raconf" "rewind_enable" "false" retroarch
configurator_process_complete_dialog "disabling Rewind" configurator_process_complete_dialog "disabling Rewind"
else else
configurator_retroarch_presets_dialog configurator_retroarch_presets_and_settings_dialog
fi fi
else else
zenity --question \ zenity --question \
@ -257,12 +264,12 @@ configurator_retroarch_rewind_dialog() {
set_setting_value "$raconf" "rewind_enable" "true" retroarch set_setting_value "$raconf" "rewind_enable" "true" retroarch
configurator_process_complete_dialog "enabling Rewind" configurator_process_complete_dialog "enabling Rewind"
else else
configurator_retroarch_presets_dialog configurator_retroarch_presets_and_settings_dialog
fi fi
fi fi
} }
configurator_wii_and_gamecube_presets_dialog() { configurator_wii_and_gamecube_presets_and_settings_dialog() {
choice=$(zenity --list --title="RetroDECK Configurator Utility - Wii & GameCube: Presets & Settings" --cancel-label="Back" \ choice=$(zenity --list --title="RetroDECK Configurator Utility - Wii & GameCube: Presets & Settings" --cancel-label="Back" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
--column="Choice" --column="Action" \ --column="Choice" --column="Action" \
@ -299,7 +306,7 @@ configurator_dolphin_input_textures_dialog() {
rm -rf "/var/data/dolphin-emu/Load/DynamicInputTextures" rm -rf "/var/data/dolphin-emu/Load/DynamicInputTextures"
configurator_process_complete_dialog "disabling Dolphin custom input textures" configurator_process_complete_dialog "disabling Dolphin custom input textures"
else else
configurator_wii_and_gamecube_presets_dialog configurator_wii_and_gamecube_presets_and_settings_dialog
fi fi
else else
zenity --question \ zenity --question \
@ -319,7 +326,7 @@ configurator_dolphin_input_textures_dialog() {
--title "RetroDECK Configurator Utility - Dolphin Custom Input Textures Install" --title "RetroDECK Configurator Utility - Dolphin Custom Input Textures Install"
configurator_process_complete_dialog "enabling Dolphin custom input textures" configurator_process_complete_dialog "enabling Dolphin custom input textures"
else else
configurator_wii_and_gamecube_presets_dialog configurator_wii_and_gamecube_presets_and_settings_dialog
fi fi
fi fi
} }
@ -337,7 +344,7 @@ configurator_primehack_input_textures_dialog() {
rm -rf "/var/data/primehack/Load/DynamicInputTextures" rm -rf "/var/data/primehack/Load/DynamicInputTextures"
configurator_process_complete_dialog "disabling Primehack custom input textures" configurator_process_complete_dialog "disabling Primehack custom input textures"
else else
configurator_wii_and_gamecube_presets_dialog configurator_wii_and_gamecube_presets_and_settings_dialog
fi fi
else else
zenity --question \ zenity --question \
@ -357,7 +364,7 @@ configurator_primehack_input_textures_dialog() {
--title "RetroDECK Configurator Utility - Primehack Custom Input Textures Install" --title "RetroDECK Configurator Utility - Primehack Custom Input Textures Install"
configurator_process_complete_dialog "enabling Primehack custom input textures" configurator_process_complete_dialog "enabling Primehack custom input textures"
else else
configurator_wii_and_gamecube_presets_dialog configurator_wii_and_gamecube_presets_and_settings_dialog
fi fi
fi fi
} }
@ -400,7 +407,7 @@ configurator_open_emulator_dialog() {
"Primehack" "Open the Metroid Prime emulator Primehack" \ "Primehack" "Open the Metroid Prime emulator Primehack" \
"RPCS3" "Open the PS3 emulator RPCS3" \ "RPCS3" "Open the PS3 emulator RPCS3" \
"XEMU" "Open the Xbox emulator XEMU" \ "XEMU" "Open the Xbox emulator XEMU" \
"Yuzu" "Open the switch emulator Yuzu" ) "Yuzu" "Open the Switch emulator Yuzu" )
case $emulator in case $emulator in
@ -462,7 +469,7 @@ configurator_open_emulator_dialog() {
} }
configurator_retrodeck_tools_dialog() { configurator_retrodeck_tools_dialog() {
choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK Tools" --cancel-label="Back" \ 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 \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
--column="Choice" --column="Action" \ --column="Choice" --column="Action" \
"RetroDECK: Move Tool" "Move RetroDECK folders between internal/SD card or to a custom location" \ "RetroDECK: Move Tool" "Move RetroDECK folders between internal/SD card or to a custom location" \
@ -803,7 +810,7 @@ configurator_compression_cleanup_dialog() {
} }
configurator_retrodeck_troubleshooting_dialog() { configurator_retrodeck_troubleshooting_dialog() {
choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK Troubleshooting" --cancel-label="Back" \ choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Troubleshooting" --cancel-label="Back" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
--column="Choice" --column="Action" \ --column="Choice" --column="Action" \
"Backup: RetroDECK Userdata" "Compress and backup important RetroDECK user data folders" \ "Backup: RetroDECK Userdata" "Compress and backup important RetroDECK user data folders" \
@ -995,7 +1002,7 @@ configurator_reset_dialog() {
} }
configurator_about_retrodeck_dialog() { configurator_about_retrodeck_dialog() {
choice=$(zenity --list --title="RetroDECK Configurator Utility - About RetroDECK" --cancel-label="Back" \ choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: About" --cancel-label="Back" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
--column="Choice" --column="Description" \ --column="Choice" --column="Description" \
"Version History" "View the version changelogs for RetroDECK" \ "Version History" "View the version changelogs for RetroDECK" \
@ -1169,6 +1176,16 @@ configurator_online_update_setting_dialog() {
fi fi
} }
# 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
fi
}
trap 'launch_retrodeck_after_configurator_close' EXIT
# START THE CONFIGURATOR # START THE CONFIGURATOR
configurator_welcome_dialog configurator_welcome_dialog