diff --git a/emu-configs/defaults/retrodeck/input_validation.cfg b/emu-configs/defaults/retrodeck/input_validation.cfg index e0a15ba5..fab4efc4 100644 --- a/emu-configs/defaults/retrodeck/input_validation.cfg +++ b/emu-configs/defaults/retrodeck/input_validation.cfg @@ -1,6 +1,6 @@ -uuddlrlrstart^set_setting_value $rd_conf developer_options true retrodeck +uuddlrlrstart^set_setting_value $rd_conf developer_options true retrodeck options uuddlrlrstart^echo Visit the Configurator to behold your new-found powers. uuddlrlrstart^echo But beware, with great power comes great responsibility... -gameovermangameover^set_setting_value $rd_conf developer_options false retrodeck +gameovermangameover^set_setting_value $rd_conf developer_options false retrodeck options gameovermangameover^echo You have relinquished your powers in the name of saftey. gameovermangameover^echo This was a wise choice. \ No newline at end of file diff --git a/emu-configs/defaults/retrodeck/retrodeck.cfg b/emu-configs/defaults/retrodeck/retrodeck.cfg index 6c85592b..79d7407d 100644 --- a/emu-configs/defaults/retrodeck/retrodeck.cfg +++ b/emu-configs/defaults/retrodeck/retrodeck.cfg @@ -1,3 +1,4 @@ +[paths] version= rdhome=/home/deck/retrodeck roms_folder=/home/deck/retrodeck/roms @@ -12,6 +13,7 @@ mods_folder=/home/deck/retrodeck/mods texture_packs_folder=/home/deck/retrodeck/texture_packs sdcard=/run/media/mmcblk0p1 +[options] power_user_warning=true desktop_mode_warning=true update_check=false diff --git a/functions.sh b/functions.sh index b66b092f..8b240e63 100644 --- a/functions.sh +++ b/functions.sh @@ -310,7 +310,7 @@ desktop_mode_warning() { if [[ $choice == "No" ]]; then exit 1 elif [[ $choice == "Never show this again" ]]; then - set_setting_value $rd_conf "desktop_mode_warning" "false" retrodeck # Store desktop mode warning variable for future checks + set_setting_value $rd_conf "desktop_mode_warning" "false" retrodeck "options" # Store desktop mode warning variable for future checks fi fi fi @@ -735,7 +735,7 @@ check_for_version_update() { rc=$? # Capture return code, as "Yes" button has no text value if [[ $rc == "1" ]]; then # If any button other than "Yes" was clicked if [[ $choice == "Ignore this version" ]]; then - set_setting_value $rd_conf "update_ignore" "$online_version" retrodeck # Store version to ignore for future checks + set_setting_value $rd_conf "update_ignore" "$online_version" retrodeck "options" # Store version to ignore for future checks fi else # User clicked "Yes" configurator_generic_dialog "The update process may take several minutes.\n\nAfter the update is complete, RetroDECK will close. When you run it again you will be using the latest version." @@ -750,7 +750,7 @@ check_for_version_update() { rc=$? # Capture return code, as "Yes" button has no text value if [[ $rc == "1" ]]; then # If any button other than "Yes" was clicked if [[ $choice == "Ignore this version" ]]; then - set_setting_value $rd_conf "update_ignore" "$online_version" retrodeck # Store version to ignore for future checks. + set_setting_value $rd_conf "update_ignore" "$online_version" retrodeck "options" # Store version to ignore for future checks. fi else # User clicked "Yes" configurator_generic_dialog "The update process may take several minutes.\n\nAfter the update is complete, RetroDECK will close. When you run it again you will be using the latest version." @@ -819,10 +819,10 @@ multi_user_set_default_dialog() { rc=$? # Capture return code, as "Yes" button has no text value if [[ $rc == "1" ]]; then # If any button other than "Yes" was clicked if [[ $choice == "No and don't ask again" ]]; then - set_setting_value $rd_conf "ask_default_user" "false" retrodeck + set_setting_value $rd_conf "ask_default_user" "false" retrodeck "options" fi else # User clicked "Yes" - set_setting_value $rd_conf "default_user" "$chosen_user" retrodeck + set_setting_value $rd_conf "default_user" "$chosen_user" retrodeck "options" fi } @@ -858,7 +858,7 @@ multi_user_enable_multi_user_mode() { rm -rf "$multi_user_data_folder/$SteamAppUser" # Remove stale data after backup fi fi - set_setting_value $rd_conf "multi_user_mode" "true" retrodeck + set_setting_value $rd_conf "multi_user_mode" "true" retrodeck "options" multi_user_determine_current_user if [[ -d "$multi_user_data_folder/$SteamAppUser" ]]; then configurator_process_complete_dialog "enabling multi-user support" @@ -884,7 +884,7 @@ multi_user_disable_multi_user_mode() { if [[ ! -z "$single_user" ]]; then # Single user was selected multi_user_return_to_single_user "$single_user" - set_setting_value $rd_conf "multi_user_mode" "false" retrodeck + set_setting_value $rd_conf "multi_user_mode" "false" retrodeck "options" configurator_process_complete_dialog "disabling multi-user support" else configurator_generic_dialog "No single user was selected, please try the process again." @@ -893,13 +893,13 @@ multi_user_disable_multi_user_mode() { else single_user=$(ls -1 "$multi_user_data_folder") multi_user_return_to_single_user "$single_user" - set_setting_value $rd_conf "multi_user_mode" "false" retrodeck + set_setting_value $rd_conf "multi_user_mode" "false" retrodeck "options" configurator_process_complete_dialog "disabling multi-user support" fi } multi_user_determine_current_user() { - if [[ $(get_setting_value $rd_conf "multi_user_mode" retrodeck) == "true" ]]; then # If multi-user environment is enabled in rd_conf + if [[ $(get_setting_value $rd_conf "multi_user_mode" retrodeck "options") == "true" ]]; then # If multi-user environment is enabled in rd_conf if [[ -d "$multi_user_data_folder" ]]; then if [[ ! -z $SteamAppUser ]]; then # If running in Game Mode and this variable exists if [[ -z $(ls -1 "$multi_user_data_folder" | grep "$SteamAppUser") ]]; then @@ -944,11 +944,11 @@ multi_user_determine_current_user() { multi_user_setup_new_user else # But dialog box was blank configurator_generic_dialog "No username was entered, so multi-user data folder cannot be created.\n\nDisabling multi-user mode, please try the process again." - set_setting_value $rd_conf "multi_user_mode" "false" retrodeck + set_setting_value $rd_conf "multi_user_mode" "false" retrodeck "options" fi else # User clicked "Cancel" configurator_generic_dialog "Cancelling multi-user mode activation." - set_setting_value $rd_conf "multi_user_mode" "false" retrodeck + set_setting_value $rd_conf "multi_user_mode" "false" retrodeck "options" fi fi fi diff --git a/global.sh b/global.sh index cd0136fd..195b7285 100755 --- a/global.sh +++ b/global.sh @@ -102,7 +102,7 @@ then cp $rd_defaults $rd_conf # Load default settings set_setting_value $rd_conf "version" "$version" retrodeck # Set current version for new installs - set_setting_value $rd_conf "sdcard" "$default_sd" retrodeck # Set SD card location if default path has changed + set_setting_value $rd_conf "sdcard" "$default_sd" retrodeck "paths" # Set SD card location if default path has changed echo "Setting config file permissions" chmod +rw $rd_conf diff --git a/post_update.sh b/post_update.sh index 1b2db422..8e605744 100644 --- a/post_update.sh +++ b/post_update.sh @@ -65,6 +65,7 @@ post_update() { # In version 0.7.0b, the following changes were made that required config file updates/reset or other changes to the filesystem: # - New ~/retrodeck/mods and ~/retrodeck/texture_packs directories are added and symlinked to multiple different emulators (where supported) # - Expose ES-DE gamelists folder to user at ~/retrodeck/gamelists + # - Add new sections [paths] and [options] headers to retrodeck.cfg mkdir -p "$mods_folder" mkdir -p "$texture_packs_folder" @@ -77,6 +78,10 @@ post_update() { dir_prep "$mods_folder/Yuzu" "/var/data/yuzu/load" dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists" + + sed -i '/version=.*/G' $rd_conf + sed -i '3i [paths]' $rd_conf + sed -i '/^power_user=.*/i [options]' $rd_conf fi # The following commands are run every time. diff --git a/tools/configurator.sh b/tools/configurator.sh index 4ef0261c..93258be0 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -285,7 +285,7 @@ configurator_power_user_warning_dialog() { if [[ $choice == "No" ]]; then configurator_welcome_dialog elif [[ $choice == "Never show this again" ]]; then - set_setting_value $rd_conf "power_user_warning" "false" retrodeck # Store desktop mode warning variable for future checks + set_setting_value $rd_conf "power_user_warning" "false" retrodeck "options" # Store desktop mode warning variable for future checks source $rd_conf configurator_power_user_changes_dialog fi @@ -867,7 +867,7 @@ configurator_move_dialog() { case $destination in "Back" ) - configurator_move_dialog + configurator_tools_and_troubleshooting_dialog ;; "Internal Storage" ) @@ -1016,7 +1016,7 @@ configurator_move_dialog() { } configurator_online_update_setting_dialog() { - if [[ $(get_setting_value $rd_conf "update_check" retrodeck) == "true" ]]; then + if [[ $(get_setting_value $rd_conf "update_check" retrodeck "options") == "true" ]]; then zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - RetroDECK Online Update Check" \ @@ -1024,7 +1024,7 @@ configurator_online_update_setting_dialog() { if [ $? == 0 ] # User clicked "Yes" then - set_setting_value $rd_conf "update_check" "false" retrodeck + set_setting_value $rd_conf "update_check" "false" retrodeck "options" else # User clicked "Cancel" configurator_developer_dialog fi @@ -1036,7 +1036,7 @@ configurator_online_update_setting_dialog() { if [ $? == 0 ] # User clicked "Yes" then - set_setting_value $rd_conf "update_check" "true" retrodeck + set_setting_value $rd_conf "update_check" "true" retrodeck "options" else # User clicked "Cancel" configurator_developer_dialog fi @@ -1044,7 +1044,7 @@ configurator_online_update_setting_dialog() { } configurator_online_update_channel_dialog() { - if [[ $(get_setting_value $rd_conf "update_repo" retrodeck) == "RetroDECK" ]]; then + if [[ $(get_setting_value $rd_conf "update_repo" retrodeck "options") == "RetroDECK" ]]; then zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - RetroDECK Change Update Branch" \ @@ -1052,7 +1052,7 @@ configurator_online_update_channel_dialog() { if [ $? == 0 ] # User clicked "Yes" then - set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck + set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options" else # User clicked "Cancel" configurator_developer_dialog fi @@ -1064,7 +1064,7 @@ configurator_online_update_channel_dialog() { if [ $? == 0 ] # User clicked "Yes" then - set_setting_value $rd_conf "update_repo" "RetroDECK" retrodeck + set_setting_value $rd_conf "update_repo" "RetroDECK" retrodeck "options" else # User clicked "Cancel" configurator_developer_dialog fi @@ -1072,7 +1072,7 @@ configurator_online_update_channel_dialog() { } configurator_retrodeck_multiuser_dialog() { - if [[ $(get_setting_value $rd_conf "multi_user_mode" retrodeck) == "true" ]]; then + if [[ $(get_setting_value $rd_conf "multi_user_mode" retrodeck "options") == "true" ]]; then zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - RetroDECK Multi-user Support" \