mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-25 15:35:38 +00:00
New retrodeck.cfg file updating
This commit is contained in:
parent
1c20c8e8cf
commit
8d81ac9858
10
emu-configs/defaults/retrodeck.cfg
Normal file
10
emu-configs/defaults/retrodeck.cfg
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
version=
|
||||||
|
rdhome=/home/deck/retrodeck
|
||||||
|
roms_folder=/home/deck/retrodeck/roms
|
||||||
|
saves_folder=/home/deck/retrodeck/saves
|
||||||
|
states_folder=/home/deck/retrodeck/states
|
||||||
|
bios_folder=/home/deck/retrodeck/bios
|
||||||
|
media_folder=/home/deck/retrodeck/downloaded_media
|
||||||
|
themes_folder=/home/deck/retrodeck/themes
|
||||||
|
logs_folder=/home/deck/retrodeck/.logs
|
||||||
|
sdcard=/run/media/mmcblk0p1
|
17
functions.sh
17
functions.sh
|
@ -166,7 +166,7 @@ desktop_mode_warning() {
|
||||||
zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \
|
zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
--title "RetroDECK Desktop Mode Warning" \
|
--title "RetroDECK Desktop Mode Warning" \
|
||||||
--text="You appear to be running RetroDECK in the Steam Deck's Desktop mode!\n\nSome functions of RetroDECK may not work properly in Desktop mode, such as the Steam Decks normal controls.\n\nRetroDECK is best enjoyed in Game mode!"
|
--text="You appear to be running RetroDECK in the Steam Deck's Desktop mode!\n\nSome functions of RetroDECK may not work properly in Desktop mode, such as the Steam Deck's normal controls.\n\nRetroDECK is best enjoyed in Game mode!"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_setting_value() {
|
set_setting_value() {
|
||||||
|
@ -547,11 +547,24 @@ do
|
||||||
* )
|
* )
|
||||||
echo "Config file malformed"
|
echo "Config file malformed"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
esac
|
esac
|
||||||
done < $1
|
done < $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
update_rd_conf() {
|
||||||
|
# This function will import a default retrodeck.cfg file and update it with any current settings. This will allow us to expand the file over time while retaining current user settings.
|
||||||
|
# USAGE: update_rd_conf
|
||||||
|
|
||||||
|
mv -f $rd_conf $rd_conf_backup # Backup config file before update
|
||||||
|
|
||||||
|
generate_single_patch $rd_defaults $rd_conf_backup $rd_update_patch retrodeck
|
||||||
|
sed -i '/change^^version/d' $rd_update_patch # Remove version line from temporary patch file
|
||||||
|
deploy_single_patch $rd_defaults $rd_update_patch $rd_conf
|
||||||
|
rm -f $rd_update_patch # Cleanup temporary patch file
|
||||||
|
source $rd_conf # Load new config file variables
|
||||||
|
}
|
||||||
|
|
||||||
conf_write() {
|
conf_write() {
|
||||||
# writes the variables in the retrodeck config file
|
# writes the variables in the retrodeck config file
|
||||||
|
|
||||||
|
|
34
global.sh
34
global.sh
|
@ -6,7 +6,10 @@ source /app/libexec/functions.sh
|
||||||
|
|
||||||
# Static variables
|
# Static variables
|
||||||
rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path
|
rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path
|
||||||
|
rd_conf_backup="/var/config/retrodeck/retrodeck.bak" # Backup of RetroDECK config file from update
|
||||||
emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs
|
emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs
|
||||||
|
rd_defaults="$emuconfigs/defaults/retrodeck.cfg" # A default RetroDECK config file
|
||||||
|
rd_update_patch="/var/config/retrodeck/rd_update.patch" # A static location for the temporary patch file used during retrodeck.cfg updates
|
||||||
lockfile="/var/config/retrodeck/.lock" # where the lockfile is located
|
lockfile="/var/config/retrodeck/.lock" # where the lockfile is located
|
||||||
default_sd="/run/media/mmcblk0p1" # Steam Deck SD default path
|
default_sd="/run/media/mmcblk0p1" # Steam Deck SD default path
|
||||||
hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem)
|
hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem)
|
||||||
|
@ -74,32 +77,17 @@ then
|
||||||
configurator_generic_dialog "The SD card was not found in the expected location.\nThis may happen when SteamOS is updated.\n\nPlease browse to the current location of the SD card.\n\nIf you are not using an SD card, please click \"Cancel\"."
|
configurator_generic_dialog "The SD card was not found in the expected location.\nThis may happen when SteamOS is updated.\n\nPlease browse to the current location of the SD card.\n\nIf you are not using an SD card, please click \"Cancel\"."
|
||||||
default_sd=$(directory_browse "SD Card Location")
|
default_sd=$(directory_browse "SD Card Location")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck
|
cp $rd_defaults $rd_conf # Load default settings
|
||||||
roms_folder="$rdhome/roms" # the default roms folder path
|
set_setting_value $rd_conf "version" "$version" retrodeck # Set current version for new installs
|
||||||
saves_folder="$rdhome/saves" # the default saves folder path
|
set_setting_value $rd_conf "sdcard" "$default_sd" retrodeck # Set SD card location if default path has changed
|
||||||
states_folder="$rdhome/states" # the default states folder path
|
|
||||||
bios_folder="$rdhome/bios" # the default bios folder
|
|
||||||
media_folder="$rdhome/downloaded_media" # the media folder, where all the scraped data is downloaded into
|
|
||||||
themes_folder="$rdhome/themes" # the themes folder
|
|
||||||
logs_folder="$rdhome/.logs" # the logs folder
|
|
||||||
sdcard="$default_sd" # Steam Deck SD default path
|
|
||||||
|
|
||||||
# Writing the variables for the first time
|
|
||||||
echo '#!/bin/bash' >> $rd_conf
|
|
||||||
echo "version=$version" >> $rd_conf
|
|
||||||
echo "rdhome=$rdhome" >> $rd_conf
|
|
||||||
echo "roms_folder=$roms_folder" >> $rd_conf
|
|
||||||
echo "saves_folder=$saves_folder" >> $rd_conf
|
|
||||||
echo "states_folder=$states_folder" >> $rd_conf
|
|
||||||
echo "bios_folder=$bios_folder" >> $rd_conf
|
|
||||||
echo "media_folder=$media_folder" >> $rd_conf
|
|
||||||
echo "themes_folder=$themes_folder" >> $rd_conf
|
|
||||||
echo "logs_folder=$logs_folder" >> $rd_conf
|
|
||||||
echo "sdcard=$sdcard" >> $rd_conf
|
|
||||||
|
|
||||||
echo "Setting config file permissions"
|
echo "Setting config file permissions"
|
||||||
chmod +rw $rd_conf
|
chmod +rw $rd_conf
|
||||||
|
echo "RetroDECK config file initialized. Contents:"
|
||||||
|
echo
|
||||||
|
cat $rd_conf
|
||||||
|
source $rd_conf # Load new variables into memory
|
||||||
|
|
||||||
# If the config file is existing i just read the variables (source it)
|
# If the config file is existing i just read the variables (source it)
|
||||||
else
|
else
|
||||||
|
|
|
@ -197,6 +197,7 @@ post_update() {
|
||||||
# The following commands are run every time.
|
# The following commands are run every time.
|
||||||
|
|
||||||
tools_init
|
tools_init
|
||||||
|
update_rd_conf
|
||||||
) |
|
) |
|
||||||
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
|
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
|
|
Loading…
Reference in a new issue