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>
@ -123,9 +124,9 @@
At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs. At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs.
</p> </p>
</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
@ -1152,10 +1154,13 @@ modules:
- mkdir -p ${FLATPAK_DEST}/retrodeck/tools/ - mkdir -p ${FLATPAK_DEST}/retrodeck/tools/
- cp tools/* ${FLATPAK_DEST}/retrodeck/tools/ - cp tools/* ${FLATPAK_DEST}/retrodeck/tools/
- mv -f es-configs/tools-gamelist.xml ${FLATPAK_DEST}/retrodeck/ - mv -f es-configs/tools-gamelist.xml ${FLATPAK_DEST}/retrodeck/
- 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
@ -1174,4 +1179,4 @@ modules:
sources: sources:
- type: git - type: git
url: https://github.com/XargonWan/RetroDECK.git url: https://github.com/XargonWan/RetroDECK.git
branch: cooker branch: cooker

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