EmuDeck/functions/EmuScripts/emuDeckSupermodel.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

141 lines
3.2 KiB
Bash

#!/bin/bash
#variables
Supermodel_emuName="Supermodel"
Supermodel_emuType="$emuDeckEmuTypeFlatpak"
Supermodel_emuPath="com.supermodel3.Supermodel"
Supermodel_releaseURL=""
Supermodel_configFile="$HOME/.supermodel/Config/Supermodel.ini"
Supermodel_gamesList="https://raw.githubusercontent.com/trzy/Supermodel/master/Config/Games.xml"
#cleanupOlderThings
Supermodel_cleanup(){
echo "NYI"
}
#Install
Supermodel_install(){
setMSG "Installing $Supermodel_emuName"
installEmuFP "${Supermodel_emuName}" "${Supermodel_emuPath}" "emulator" ""
}
#ApplyInitialSettings
Supermodel_init(){
# Flatpak does not install to flatpak directory
mkdir -p $HOME/.supermodel/Analysis $HOME/.supermodel/Log
rsync -avhp --mkpath "$EMUDECKGIT/configs/supermodel/Config/Supermodel.ini" "$HOME/.supermodel/Config/Supermodel.ini" --backup --suffix=.bak
rsync -avhp --mkpath "$EMUDECKGIT/configs/supermodel/." "$HOME/.supermodel/." --backup --suffix=.bak
# Download updated gamelist from source
if [ -e "$HOME/.supermodel/Config/Games.xml" ]; then
rm -rf "$HOME/.supermodel/Config/Games.xml"
fi
wget "$Supermodel_gamesList" -P "$HOME/.supermodel/Config/"
Supermodel_setupStorage
Supermodel_setEmulationFolder
Supermodel_setupSaves
#SRM_createParsers
Supermodel_flushEmulatorLauncher
Supermodel_addSteamInputProfile
}
#update
Supermodel_update(){
# Flatpak does not install to flatpak directory
mkdir -p $HOME/.supermodel/Analysis $HOME/.supermodel/Log
rsync -avhp --mkpath "$EMUDECKGIT/configs/supermodel" "$HOME/.supermodel/" --ignore-existing
# Download updated gamelist from source
if [ -e "$HOME/.supermodel/Config/Games.xml" ]; then
rm -rf "$HOME/.supermodel/Config/Games.xml"
fi
wget "$Supermodel_gamesList" -P "$HOME/.supermodel/Config/"
updateEmuFP "${Supermodel_emuName}" "${Supermodel_emuPath}" "emulator" ""
Supermodel_setupStorage
Supermodel_setEmulationFolder
Supermodel_setupSaves
Supermodel_flushEmulatorLauncher
Supermodel_addSteamInputProfile
}
#ConfigurePaths
Supermodel_setEmulationFolder(){
echo "NYI"
}
#SetupSaves
Supermodel_setupSaves(){
echo "NYI"
}
#SetupStorage
Supermodel_setupStorage(){
echo "NYI"
}
#WipeSettings
Supermodel_wipe(){
echo "NYI"
}
#Uninstall
Supermodel_uninstall(){
uninstallEmuFP "${Supermodel_emuName}" "${Supermodel_emuPath}" "emulator" ""
rm -rf "$HOME/.supermodel"
}
#setABXYstyle
Supermodel_setABXYstyle(){
echo "NYI"
}
#Migrate
Supermodel_migrate(){
echo "NYI"
}
#WideScreenOn
Supermodel_wideScreenOn(){
echo "NYI"
}
#WideScreenOff
Supermodel_wideScreenOff(){
echo "NYI"
}
#BezelOn
Supermodel_bezelOn(){
echo "NYI"
}
#BezelOff
Supermodel_bezelOff(){
echo "NYI"
}
#finalExec - Extra stuff
Supermodel_finalize(){
echo "NYI"
}
Supermodel_IsInstalled(){
isFpInstalled "$Supermodel_emuPath"
}
Supermodel_resetConfig(){
Supermodel_init &>/dev/null && echo "true" || echo "false"
}
Supermodel_flushEmulatorLauncher(){
flushEmulatorLaunchers "supermodel"
}
Supermodel_addSteamInputProfile(){
setMSG "Adding $Supermodel_emuName Steam Input Profile."
rsync -r --exclude='*/' "$EMUDECKGIT/configs/steam-input/emudeck_steam_deck_light_gun_controls.vdf" "$HOME/.steam/steam/controller_base/templates/emudeck_steam_deck_light_gun_controls.vdf"
}