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

143 lines
3.0 KiB
Bash

#!/bin/bash
#variables
Primehack_emuName="Primehack"
Primehack_emuType="$emuDeckEmuTypeFlatpak"
Primehack_emuPath="io.github.shiiion.primehack"
Primehack_configFile="$HOME/.var/app/io.github.shiiion.primehack/config/dolphin-emu/Dolphin.ini"
Primehack_configFileGFX="$HOME/.var/app/io.github.shiiion.primehack/config/dolphin-emu/GFX.ini"
releaseURL=""
#cleanupOlderThings
Primehack_cleanup(){
echo "NYI"
}
#Install
Primehack_install() {
setMSG "Installing $Primehack_emuName"
installEmuFP "${Primehack_emuName}" "${Primehack_emuPath}" "emulator" ""
}
#ApplyInitialSettings
Primehack_init() {
setMSG "Initializing $Primehack_emuName settings."
configEmuFP "${Primehack_emuName}" "${Primehack_emuPath}" "true"
Primehack_setupStorage
Primehack_setEmulationFolder
Primehack_setupSaves
#SRM_createParsers
#Primehack_migrate
Primehack_flushEmulatorLauncher
}
#update
Primehack_update() {
setMSG "Updating $Primehack_emuName settings."
configEmuFP "${Primehack_emuName}" "${Primehack_emuPath}"
updateEmuFP "${Primehack_emuName}" "${Primehack_emuPath}" "emulator" ""
Primehack_setupStorage
Primehack_setEmulationFolder
Primehack_setupSaves
Primehack_flushEmulatorLauncher
}
#ConfigurePaths
Primehack_setEmulationFolder() {
setMSG "Setting $Primehack_emuName Emulation Folder"
configFile="$HOME/.var/app/${Primehack_emuPath}/config/dolphin-emu/Dolphin.ini"
gameDirOpt='ISOPath0 = '
newGameDirOpt='ISOPath0 = '"${romsPath}/primehacks"
sed -i "/${gameDirOpt}/c\\${newGameDirOpt}" "$configFile"
}
#SetupSaves
Primehack_setupSaves(){
unlink "$savesPath/primehack/states"
linkToSaveFolder primehack GC "$HOME/.var/app/io.github.shiiion.primehack/data/dolphin-emu/GC"
linkToSaveFolder primehack Wii "$HOME/.var/app/io.github.shiiion.primehack/data/dolphin-emu/Wii"
linkToSaveFolder primehack StateSaves "$HOME/.var/app/io.github.shiiion.primehack/data/dolphin-emu/StateSaves/"
}
#SetupStorage
Primehack_setupStorage(){
echo "NYI"
}
#WipeSettings
Primehack_wipe() {
rm -rf "$HOME/.var/app/${Primehack_emuPath}"
}
#Uninstall
Primehack_uninstall() {
uninstallEmuFP "${Primehack_emuName}" "${Primehack_emuPath}" "emulator" ""
}
#setABXYstyle
Primehack_setABXYstyle(){
echo "NYI"
}
#Migrate
Primehack_migrate(){
migrateDolphinStates "primehack" "io.github.shiiion.primehack"
}
#WideScreenOn
Primehack_wideScreenOn(){
echo "NYI"
}
#WideScreenOff
Primehack_wideScreenOff(){
echo "NYI"
}
#BezelOn
Primehack_bezelOn(){
echo "NYI"
}
#BezelOff
Primehack_BezelOff(){
echo "NYI"
}
Primehack_IsInstalled(){
isFpInstalled "$Primehack_emuPath"
}
Primehack_resetConfig(){
Primehack_init &>/dev/null && echo "true" || echo "false"
}
#finalExec - Extra stuff
Primehack_finalize(){
echo "NYI"
}
Primehack_setResolution(){
case $dolphinResolution in
"720P") multiplier=2;;
"1080P") multiplier=3;;
"1440P") multiplier=4;;
"4K") multiplier=6;;
*) echo "Error"; return 1;;
esac
RetroArch_setConfigOverride "InternalResolution" $multiplier "$Primehack_configFileGFX"
}
Primehack_flushEmulatorLauncher(){
flushEmulatorLaunchers "primehack"
}