From 3cdc9e376f8218be475a102a49e99880e99362d7 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 11 May 2023 10:17:55 -0400 Subject: [PATCH] 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 --- functions.sh | 14 +++++----- tools/configurator.sh | 63 +++++++++++++++++++++++++++---------------- 2 files changed, 47 insertions(+), 30 deletions(-) diff --git a/functions.sh b/functions.sh index 7edf9da7..ed19aa71 100644 --- a/functions.sh +++ b/functions.sh @@ -1388,19 +1388,19 @@ prepare_emulator() { if [[ "$action" == "reset" ]]; then rm -rf /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 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" - 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 if [[ "$action" == "postmove" ]]; then - 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" + 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" + dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists" fi fi diff --git a/tools/configurator.sh b/tools/configurator.sh index a97238c7..d5dddc1f 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -34,7 +34,7 @@ source /app/libexec/functions.sh # - RPCS3 # - XEMU # - Yuzu -# - RetroDECK Tools +# - RetroDECK: Tools # - RetroDECK: Move Tool # - Move all of RetroDECK # - Move ROMs folder @@ -56,7 +56,7 @@ source /app/libexec/functions.sh # - Install: RetroDECK Controller Profile # - Install: RetroDECK Starter Pack # - Install: PS3 firmware -# - RetroDECK Troubleshooting +# - RetroDECK: Troubleshooting # - Backup: RetroDECK Userdata # - Check & Verify: BIOS # - Check & Verify: Multi-file structure @@ -76,7 +76,7 @@ source /app/libexec/functions.sh # - Reset Yuzu # - Reset All Emulators # - Reset RetroDECK -# - About RetroDECK +# - RetroDECK: About # - RetroDECK Version History # - Full changelog # - Version-specific changelogs @@ -93,16 +93,16 @@ configurator_welcome_dialog() { if [[ $developer_options == "true" ]]; then 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)" \ - "RetroDECK Tools" "Compress games, move RetroDECK and install optional features" \ - "RetroDECK Troubleshooting" "Backup data, perform BIOS / multi-disc file checks checks and emulator resets" \ - "About RetroDECK" "Show additional information about RetroDECK" \ + "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: About" "Show additional information about RetroDECK" \ "Developer Options" "Welcome to the DANGER ZONE") else 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)" \ - "RetroDECK Tools" "Compress games, move RetroDECK and install optional features" \ - "RetroDECK Troubleshooting" "Backup data, perform BIOS / multi-disc file checks checks and emulator resets" \ - "About RetroDECK" "Show additional information about RetroDECK" ) + "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: About" "Show additional information about RetroDECK" ) fi choice=$(zenity --list --title="RetroDECK Configurator Utility" --cancel-label="Quit" \ @@ -120,15 +120,15 @@ configurator_welcome_dialog() { configurator_power_user_warning_dialog ;; - "RetroDECK Tools" ) + "RetroDECK: Tools" ) configurator_retrodeck_tools_dialog ;; - "RetroDECK Troubleshooting" ) + "RetroDECK: Troubleshooting" ) configurator_retrodeck_troubleshooting_dialog ;; - "About RetroDECK" ) + "RetroDECK: About" ) configurator_about_retrodeck_dialog ;; @@ -137,6 +137,13 @@ configurator_welcome_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 } @@ -244,7 +251,7 @@ configurator_retroarch_rewind_dialog() { set_setting_value "$raconf" "rewind_enable" "false" retroarch configurator_process_complete_dialog "disabling Rewind" else - configurator_retroarch_presets_dialog + configurator_retroarch_presets_and_settings_dialog fi else zenity --question \ @@ -257,12 +264,12 @@ configurator_retroarch_rewind_dialog() { set_setting_value "$raconf" "rewind_enable" "true" retroarch configurator_process_complete_dialog "enabling Rewind" else - configurator_retroarch_presets_dialog + configurator_retroarch_presets_and_settings_dialog 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" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ @@ -299,7 +306,7 @@ configurator_dolphin_input_textures_dialog() { rm -rf "/var/data/dolphin-emu/Load/DynamicInputTextures" configurator_process_complete_dialog "disabling Dolphin custom input textures" else - configurator_wii_and_gamecube_presets_dialog + configurator_wii_and_gamecube_presets_and_settings_dialog fi else zenity --question \ @@ -319,7 +326,7 @@ configurator_dolphin_input_textures_dialog() { --title "RetroDECK Configurator Utility - Dolphin Custom Input Textures Install" configurator_process_complete_dialog "enabling Dolphin custom input textures" else - configurator_wii_and_gamecube_presets_dialog + configurator_wii_and_gamecube_presets_and_settings_dialog fi fi } @@ -337,7 +344,7 @@ configurator_primehack_input_textures_dialog() { rm -rf "/var/data/primehack/Load/DynamicInputTextures" configurator_process_complete_dialog "disabling Primehack custom input textures" else - configurator_wii_and_gamecube_presets_dialog + configurator_wii_and_gamecube_presets_and_settings_dialog fi else zenity --question \ @@ -357,7 +364,7 @@ configurator_primehack_input_textures_dialog() { --title "RetroDECK Configurator Utility - Primehack Custom Input Textures Install" configurator_process_complete_dialog "enabling Primehack custom input textures" else - configurator_wii_and_gamecube_presets_dialog + configurator_wii_and_gamecube_presets_and_settings_dialog fi fi } @@ -400,7 +407,7 @@ configurator_open_emulator_dialog() { "Primehack" "Open the Metroid Prime emulator Primehack" \ "RPCS3" "Open the PS3 emulator RPCS3" \ "XEMU" "Open the Xbox emulator XEMU" \ - "Yuzu" "Open the switch emulator Yuzu" ) + "Yuzu" "Open the Switch emulator Yuzu" ) case $emulator in @@ -462,7 +469,7 @@ configurator_open_emulator_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 \ --column="Choice" --column="Action" \ "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() { - 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 \ --column="Choice" --column="Action" \ "Backup: RetroDECK Userdata" "Compress and backup important RetroDECK user data folders" \ @@ -995,7 +1002,7 @@ configurator_reset_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 \ --column="Choice" --column="Description" \ "Version History" "View the version changelogs for RetroDECK" \ @@ -1169,6 +1176,16 @@ configurator_online_update_setting_dialog() { 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 configurator_welcome_dialog