cooker <- cooker-main-vars

This commit is contained in:
Steam Deck User 2022-07-18 10:04:17 +02:00
commit aba01cec13
19 changed files with 255 additions and 22 deletions

View file

@ -42,17 +42,17 @@
<bool name="QuickSystemSelect" value="true" /> <bool name="QuickSystemSelect" value="true" />
<bool name="RandomAddButton" value="false" /> <bool name="RandomAddButton" value="false" />
<bool name="RunInBackground" value="false" /> <bool name="RunInBackground" value="false" />
<bool name="Scrape3DBoxes" value="true" /> <bool name="Scrape3DBoxes" value="false" />
<bool name="ScrapeBackCovers" value="true" /> <bool name="ScrapeBackCovers" value="false" />
<bool name="ScrapeControllers" value="true" /> <bool name="ScrapeControllers" value="false" />
<bool name="ScrapeCovers" value="true" /> <bool name="ScrapeCovers" value="true" />
<bool name="ScrapeGameNames" value="true" /> <bool name="ScrapeGameNames" value="true" />
<bool name="ScrapeMarquees" value="true" /> <bool name="ScrapeMarquees" value="true" />
<bool name="ScrapeMetadata" value="true" /> <bool name="ScrapeMetadata" value="true" />
<bool name="ScrapePhysicalMedia" value="true" /> <bool name="ScrapePhysicalMedia" value="false" />
<bool name="ScrapeRatings" value="true" /> <bool name="ScrapeRatings" value="true" />
<bool name="ScrapeScreenshots" value="true" /> <bool name="ScrapeScreenshots" value="false" />
<bool name="ScrapeTitleScreens" value="true" /> <bool name="ScrapeTitleScreens" value="false" />
<bool name="ScrapeVideos" value="true" /> <bool name="ScrapeVideos" value="true" />
<bool name="ScraperExcludeRecursively" value="true" /> <bool name="ScraperExcludeRecursively" value="true" />
<bool name="ScraperHaltOnInvalidMedia" value="true" /> <bool name="ScraperHaltOnInvalidMedia" value="true" />

View file

@ -63,4 +63,32 @@
<nogamecount>true</nogamecount> <nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape> <nomultiscrape>true</nomultiscrape>
</game> </game>
<game>
<path>./move-roms.sh</path>
<name>Move roms folder</name>
<desc>Move roms folder from internal to external and vice versa.</desc>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
<game>
<path>./overlays.sh</path>
<name>Overlays configuration</name>
<desc>Configure or disable borders and shaders.</desc>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
<game>
<path>./theme-fix.sh</path>
<name>Theme fix</name>
<desc>Clean some of the scraped data in order to beautify the new theme. This is needed if you got scraped data since v0.4.2 or earlier.</desc>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
<game>
<path>./configure-emulators.sh</path>
<name>Configure Emulators</name>
<desc>Choose an emulator to configure.</desc>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
</gameList> </gameList>

39
global.sh Executable file
View file

@ -0,0 +1,39 @@
#!/bin/bash
# This file is containing some global function needed for the script such as the config file tools
rd_conf="/app/retrodeck/retrodeck.cfg"
conf_init() {
# initializing and reading the retrodeck config file
if [ ! -f $rd_conf ]
then # I have to initialize the variables as they cannot be red from an empty config file
touch $rd_conf
# Variables to manage: adding a variable here means adding it to conf_write()
version="$(cat /app/retrodeck/version)" # version info taken from the version file
rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck
roms_folder="$rdhome/roms" # default roms folder location (intenral)
else # i just read the variables
source $rd_conf
fi
}
conf_write() {
# writes the variables in the retrodeck config file
# TODO: this can be optimized with a while and a list of variables to check
if [ ! -z "$version" ] then #if the variable is not null then I update it
sed -i "s%version=.*%version=$version%" $rd_conf
fi
if [ ! -z "$rdhome" ] then
sed -i "s%rdhome=.*%rdhome=$rdhome%" $rd_conf
fi
if [ ! -z "$roms_folder" ] then
sed -i "s%rdhome=.*%rdhome=$roms_folder" $rd_conf
fi
}

View file

@ -56,9 +56,10 @@
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.5.5b</url> <url>https://github.com/XargonWan/RetroDECK/releases/tag/0.5.5b</url>
<description> <description>
<ul> <ul>
<li>New Theme!</li> <li>Theme revamp!</li>
<li>Updated RetroArch and its cores from 1.10.2 to 1.10.3</li> <li>Updated RetroArch and its cores from 1.10.2 to 1.10.3</li>
<li>Added a tool to clean up the scraped data in order to make it compatible with the new Art-Book, it's suggested to run it</li> <li>Added a tool to clean up the scraped data in order to make it compatible with the new Art-Book, it's suggested to run it</li>
<li>New varialbes system: now some variables such as game folder location are saved in /app/retrodeck/retrodeck.cfg.</li>
</ul> </ul>
<p>Known Issues:</p> <p>Known Issues:</p>
@ -125,7 +126,7 @@
</description> </description>
</release> </release>
<release version="0.4.2b" date="2022-05-11"> <release version="0.4.2b" date="2022-07-01">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.4.2b</url> <url>https://github.com/XargonWan/RetroDECK/releases/tag/0.4.2b</url>
<description> <description>
<p><b>Emulators:</b></p> <p><b>Emulators:</b></p>

View file

@ -79,7 +79,9 @@ modules:
VERSION="0.5.0b-cooker" VERSION="0.5.0b-cooker"
if [[ $VERSION == *"cooker"* ]]; if [[ $VERSION == *"cooker"* ]];
then then
VERSION=$(git describe --tags | tr - .) # Disabled until I figure it out
# VERSION=$(git describe --tags | tr - .)
VERSION="cooker-"$(date +%d%m%y.%H%M)
fi fi
echo $VERSION >> ${FLATPAK_DEST}/retrodeck/version echo $VERSION >> ${FLATPAK_DEST}/retrodeck/version
cat ${FLATPAK_DEST}/retrodeck/version cat ${FLATPAK_DEST}/retrodeck/version
@ -218,7 +220,7 @@ modules:
sources: sources:
- type: git - type: git
url: https://github.com/anthonycaccese/art-book-next-retropie.git url: https://github.com/anthonycaccese/art-book-next-retropie.git
commit: 9c5312084bb4b906da5b610fd50bab2afe697cac commit: 53ef4aa8a23ebac7c2c473d32b189d58533429ec
# External manifests start # External manifests start
@ -1065,7 +1067,6 @@ modules:
url: https://github.com/hrydgard/ppsspp.git url: https://github.com/hrydgard/ppsspp.git
tag: v1.12.3 tag: v1.12.3
commit: ce0a45cf0fcdd5bebf32208b9998f68dfc1107b7 commit: ce0a45cf0fcdd5bebf32208b9998f68dfc1107b7
disable-submodules: true # Part of the PPSSPP Flathub Workaround
x-checker-data: x-checker-data:
type: git type: git
tag-pattern: ^v([\d.]+)$ tag-pattern: ^v([\d.]+)$
@ -1073,6 +1074,7 @@ modules:
# PPSSPP Flathub Workaround - START # PPSSPP Flathub Workaround - START
# This workaround disables the PPSSPP libraries (disable-submodules: true) and install them separately # This workaround disables the PPSSPP libraries (disable-submodules: true) and install them separately
# This is only to make it buildable by the flathub builder as normaly it seems not to be needed # This is only to make it buildable by the flathub builder as normaly it seems not to be needed
disable-submodules: true
- type: git - type: git
dest: SDL/macOS dest: SDL/macOS
commit: f19a1d54b8a5af6cc378ea307e0ec676922eb4cc commit: f19a1d54b8a5af6cc378ea307e0ec676922eb4cc
@ -1156,6 +1158,9 @@ modules:
- cp retrodeck.sh /app/bin/retrodeck.sh - cp retrodeck.sh /app/bin/retrodeck.sh
- chmod +x /app/bin/retrodeck.sh - chmod +x /app/bin/retrodeck.sh
- cp global.sh /app/bin/global.sh
- chmod +x /app/bin/global.sh
# Desktop entry # Desktop entry
- cp net.retrodeck.retrodeck.desktop /app/share/applications/net.retrodeck.retrodeck.desktop - cp net.retrodeck.retrodeck.desktop /app/share/applications/net.retrodeck.retrodeck.desktop

View file

@ -1,10 +1,15 @@
#!/bin/bash #!/bin/bash
lockfile="/var/config/retrodeck/.lock" # where the lockfile is located # Init default values, this may be overwritten by retrodeck.cfg as it sourced later with global.sh
version="$(cat /app/retrodeck/version)" # version info taken from the version file
rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodecck lockfile=lockfile="/var/config/retrodeck/.lock" # where the lockfile is located
emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs
sdcard="/run/media/mmcblk0p1" # Steam Deck SD default path sdcard="/run/media/mmcblk0p1" # Steam Deck SD default path
rd_conf="/app/retrodeck/retrodeck.cfg" # RetroDECK config file path
version="$(cat /app/retrodeck/version)" # version info taken from the version file
rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck
source global.sh
# We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions # We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions
if [ -f "$HOME/retrodeck/.lock" ] if [ -f "$HOME/retrodeck/.lock" ]
@ -310,7 +315,8 @@ https://retrodeck.net
exit exit
;; ;;
--version*|-v*) --version*|-v*)
cat /var/config/retrodeck/version conf_init
echo $version
exit exit
;; ;;
--reset-ra*) --reset-ra*)
@ -343,7 +349,9 @@ done
if [ -f "$lockfile" ] && [ "$(cat "$lockfile")" != "$version" ]; if [ -f "$lockfile" ] && [ "$(cat "$lockfile")" != "$version" ];
then then
echo "Lockfile version is "$(cat "$lockfile")" but the actual version is $version" echo "Lockfile version is "$(cat "$lockfile")" but the actual version is $version"
post_update conf_init # Initializing/reading the config file (sourced from global.sh)
post_update # Executing post update script
conf_write # Writing variables in the config file (sourced from global.sh)
start_retrodeck start_retrodeck
exit 0 exit 0
fi fi
@ -353,7 +361,9 @@ fi
if [ ! -f "$lockfile" ]; if [ ! -f "$lockfile" ];
then then
echo "Lockfile not found" echo "Lockfile not found"
finit conf_init # Initializing/reading the config file (sourced from global.sh)
finit # Executing First/Force init
conf_write # Writing variables in the config file (sourced from global.sh)
exit 0 exit 0
fi fi

View file

@ -0,0 +1,48 @@
#!/bin/bash
zenity --title "RetroDECK" --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --text="Doing some changes in the emulator's configuration may create serious issues,\nplease continue only if you know what you're doing.\n\nDo you want to continue?"
if [ $? == 1 ] #no
then
exit 0
fi
emulator="$(zenity --list \
--title "RetroDECK" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--text="Which emulator do you want to configure?" \
--hide-header \
--column=emulator \
"RetroArch" \
"Citra" \
"Dolphin" \
"MelonDS" \
"PCSX2" \
"PPSSPP" \
"RPCS3" \
"Yuzu")"
if [ $emulator == "RetroArch" ]
then
retroarch
elif [ $emulator == "Citra" ]
then
citra-qt
elif [ $emulator == "Dolphin" ]
then
dolphin-emu
elif [ $emulator == "MelonDS" ]
then
melonDS
elif [ $emulator == "PCSX2" ]
then
pcsx2
elif [ $emulator == "PPSSPP" ]
then
PPSSPPSDL
elif [ $emulator == "RPCS3" ]
then
rpcs3
elif [ $emulator == "Yuzu" ]
then
yuzu
fi

32
tools/move-roms.sh Normal file
View file

@ -0,0 +1,32 @@
#!/bin/bash
source global.sh
zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="Quit" --ok-label "Continue" --text="WARNING: this script is experimental\nplease be sure to backup your data before continuing.\n\nDo you want to continue?"
if [ $? == 1 ] #cancel
then
exit 0
fi
conf_init
zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="Cancel" --ok-label "Browse" --text="The roms folder is now: $roms_folder\nplease select the new location.\nA retrodeck/roms folder will be created starting from the directory that you selected."
if [ $? == 1 ] #cancel
then
exit 0
fi
new_roms_path="$(zenity --file-selection --title="Choose a new roms folder location" --directory)"/retrodeck/roms
zenity --title "RetroDECK" --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --text="Should I move the roms from\n\n$roms_folder\n\nto\n\n$new_roms_path?"
if [ $? == 0 ] #yes
then
mkdir -p $new_roms_path
mv -f $roms_folder $new_roms_path
rm -f /var/config/emulationstation/ROMs
ln -s $new_roms_path /var/config/emulationstation/ROMs
rm -f $roms_folder
zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --text="Done\nYour roms are now located in:\n\n$roms_folder\n\nPress OK to continue."
$roms_folder=$new_roms_path # Updating variable
conf_write # Writing variables in the config file (sourced from global.sh)
fi

39
tools/overlays.sh Normal file
View file

@ -0,0 +1,39 @@
#!/bin/bash
border="$(zenity --list \
--title "RetroDECK" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--text="Select the borders type" \
--hide-header \
--column=Border \
"None" \
"Light" \
"Dark")"
if [ $border == "None" ]
then
return
elif [ $border == "Light" ]
then
return
elif [ $border == "Dark" ]
then
return
fi
shader="$(zenity --list \
--title "RetroDECK" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--text="Select the shader type" \
--hide-header \
--column=Border \
"None" \
"Retro")"
if [ $shader == "None" ]
then
return
elif [ $shader == "Retro" ]
then
return
fi

31
tools/theme-fix.sh Normal file
View file

@ -0,0 +1,31 @@
#!/bin/bash
zenity \
--icon-name=net.retrodeck.retrodeck \
--question \
--no-wrap \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--title "RetroDECK" \
--ok-label "Yes" \
--cancel-label "No" \
--text="This tool is will clean some unuseful scraped data in order to beautify the theme.\nDo you want to delete and fix it?"
if [ $? == 0 ] #yes - Internal
then
find ~/retrodeck/.downloaded_media -name miximages -type d -print0|xargs -0 rm -rfv --
find ~/retrodeck/.downloaded_media -name 3dboxes -type d -print0|xargs -0 rm -rfv --
find ~/retrodeck/.downloaded_media -name titlescreens -type d -print0|xargs -0 rm -rfv --
find ~/retrodeck/.downloaded_media -name backcovers -type d -print0|xargs -0 rm -rfv --
find ~/retrodeck/.downloaded_media -namephysicalmedia -type d -print0|xargs -0 rm -rfv --
find ~/retrodeck/.downloaded_media -namescreenshots -type d -print0|xargs -0 rm -rfv --
rm -rf ~/retrodeck/.downloaded_media/thumbnails
ln -s ~/retrodeck/.downloaded_media/covers ~/retrodeck/.downloaded_media/thumbnails
fi
zenity \
--icon-name=net.retrodeck.retrodeck \
--info \
--no-wrap \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--title "RetroDECK" \
--text="Scraped data is now cleaned and fixed, please restart RetroDECK to reload the games list."