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
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

View file

@ -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