EmuDeck/functions/EmuScripts/emuDeckPrimehack.sh
rawdatafeel d21319055d
Fix launchers not resetting properly (#1108)
* If a user clicked reset config instead of reinstall, they would not get the latest version of the launchers. This would cause the common issue of launching into the emulator instead of directly into the game.
2024-03-11 11:57:24 -04:00

142 lines
2.9 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}"
}
#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}"
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() {
flatpak uninstall "${Primehack_emuPath}" -y
}
#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"
}