EmuDeck/functions/updateEmuFP.sh
rawdatafeel 5dbee04a3d Cloud Services Manager/Emulators: Clean up (#1270)
* Updated installEmuAI and installEmuFP to be more dynamic
    * Allows for selecting if the application is an "emulator", "remoteplay", or "genericapplication"
        * Based off the choice, copies the respective bash file to the correct location
    * Allows for selecting file format of the downloaded AppImage (in case it's compressed and needs to be extracted)
    * Updated relevant scripts to match new changes
    * Cleaned up formatting of these two scripts
    * Cleaned up remoteplay Flatpak scripts to match new changes (allows for easier maintenance)
    * With these changes, remoteplay and generic application AppImages will now have a desktop file created
        * Added relevant desktop icons
* Added generic applications to cloud services manager
    * Added Cider, Heroic Games Launcher, Plexamp, Spotify, and Tidal
    * Moved Spotify here from remoteplay scripts
* Added chiaki4deck to remote play scripts
    * Added copying configs from Chiaki to chiaki4deck (if one does not exist already)
* Added uninstall option if bash scripts are detected in the remoteplay or generic-applications folder
    * If user installed these applications independent of EmuDeck, these folders would be empty and therefore can be skipped in the uninstallation
* Updated emulator, remoteplay, and generic-application scripts to rely more heavily on installEmuAI, installEmuFP, uninstallEmuFP, uninstallEmuAI, and uninstallGeneric
    * This should ideally improve maintenance in the future and allow for easier contribution
* Updated emulator scripts to remove redunant/outdated code
* Added emulator folder for ES-DE and Pegasus (official support was added to ES-DE)
    * Added copying emulator scripts to the emulator folder and removing when uninstalled
* Updated binupdate and flatpakupdate to be in alphabetical order/tidied these scripts
2024-09-26 12:26:39 +02:00

56 lines
1.5 KiB
Bash

#!/bin/bash
updateEmuFP(){
name=$1
ID=$2
type="$3"
scriptname="$4"
if [[ "$type" == "emulator" ]]; then
gitPath="${EMUDECKGIT}/tools/launchers/"
launcherPath="${toolsPath}/launchers"
elif [[ "$type" == "remoteplay" ]]; then
gitPath="${EMUDECKGIT}/tools/remoteplayclients/"
launcherPath="${romsPath}/remoteplay"
elif [[ "$type" == "genericapplication" ]]; then
gitPath="${EMUDECKGIT}/tools/generic-applications/"
launcherPath="${romsPath}/generic-applications"
fi
if [[ -z "$scriptname" ]]; then
scriptname="$name"
fi
echo "1, Flatpak Name: $name"
echo "2, Flatpak ID: $ID"
echo "3, Flatpak Type: $type"
echo "4, Flatpak Script Name: $scriptname"
setMSG "Updating $name"
flatpak update $ID -y
flatpak override $ID --filesystem=host --user
flatpak override $ID --share=network --user
shName=$(echo "$name" | awk '{print tolower($0)}')
mkdir -p "${romsPath}/emulators"
mkdir -p "$launcherPath"
find "${launcherPath}/" "${romsPath}/emulators" -maxdepth 1 -type f \( -iname "$shName.sh" -o -iname "$shName-emu.sh" \) | \
while read -r f
do
echo "deleting $f"
rm -f "$f"
done
find "$gitPath" -type f \( -iname "${shName}.sh" -o -iname "$shName-emu.sh" \) | while read -r l; do
echo "deploying new: $l"
chmod +x "$l"
cp -v "$l" "${launcherPath}"
if [[ "$type" == "emulator" ]]; then
cp -v "$l" "${romsPath}/emulators"
chmod +x "${romsPath}/emulators/"*
fi
done
}