EmuDeck/functions/EmuScripts/emuDeckPPSSPP.sh
Dragoon Dorise 00a8f1c19c
New paths (#1381)
* new paths

* /

* EmuDeck/

* mv

* no &

* ESDE new location

* ESDE new path

* no symlink load

* bigpemu new path

* force move

* global vars

* oopsie

* missing $emudeckBackend

* better migration detection

* Keep Appimages in Applications

* Keep Appimages in Applications
2025-01-02 13:42:31 +01:00

196 lines
4.2 KiB
Bash

#!/bin/bash
#variables
PPSSPP_emuName="PPSSPP"
PPSSPP_emuType="$emuDeckEmuTypeFlatpak"
PPSSPP_emuPath="org.ppsspp.PPSSPP"
PPSSPP_releaseURL=""
PPSSPP_configFile="$HOME/.var/app/${PPSSPP_emuPath}/config/ppsspp/PSP/SYSTEM/ppsspp.ini"
#cleanupOlderThings
PPSSPP_cleanup(){
echo "NYI"
}
#Install
PPSSPP_install(){
setMSG "Installing $PPSSPP_emuName"
installEmuFP "${PPSSPP_emuName}" "${PPSSPP_emuPath}" "emulator" ""
}
#Fix for autoupdate
Ppsspp_install(){
PPSSPP_install
}
#ApplyInitialSettings
PPSSPP_init(){
setMSG "Initializing $PPSSPP_emuName settings."
configEmuFP "${PPSSPP_emuName}" "${PPSSPP_emuPath}" "true"
PPSSPP_setupStorage
PPSSPP_setEmulationFolder
PPSSPP_setupSaves
#PPSSPP_addSteamInputProfile
PPSSPP_setRetroAchievements
#SRM_createParsers
PPSSPP_flushEmulatorLauncher
}
#update
PPSSPP_update(){
setMSG "Updating $PPSSPP_emuName settings."
configEmuFP "${PPSSPP_emuName}" "${PPSSPP_emuPath}"
updateEmuFP "${PPSSPP_emuName}" "${PPSSPP_emuPath}" "emulator" ""
PPSSPP_setupStorage
PPSSPP_setEmulationFolder
PPSSPP_setupSaves
#PPSSPP_addSteamInputProfile
PPSSPP_flushEmulatorLauncher
}
#ConfigurePaths
PPSSPP_setEmulationFolder(){
setMSG "Setting $PPSSPP_emuName Emulation Folder"
iniFieldUpdate "$PPSSPP_configFile" "General" "CurrentDirectory" "${romsPath}/psp"
}
#SetupSaves
PPSSPP_setupSaves(){
linkToSaveFolder ppsspp saves "$HOME/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/SAVEDATA"
linkToSaveFolder ppsspp states "$HOME/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/PPSSPP_STATE"
}
#SetupStorage
PPSSPP_setupStorage(){
echo "NYI"
}
#WipeSettings
PPSSPP_wipe(){
rm -rf "$HOME/.var/app/$PPSSPP_emuPath"
}
#Uninstall
PPSSPP_uninstall(){
uninstallEmuFP "${PPSSPP_emuName}" "${PPSSPP_emuPath}" "emulator" ""
}
#setABXYstyle
PPSSPP_setABXYstyle(){
echo "NYI"
}
#Migrate
PPSSPP_migrate(){
echo "NYI"
}
#WideScreenOn
PPSSPP_wideScreenOn(){
echo "NYI"
}
#WideScreenOff
PPSSPP_wideScreenOff(){
echo "NYI"
}
#BezelOn
PPSSPP_bezelOn(){
echo "NYI"
}
#BezelOff
PPSSPP_bezelOff(){
echo "NYI"
}
PPSSPP_IsInstalled(){
isFpInstalled "$PPSSPP_emuPath"
}
PPSSPP_resetConfig(){
PPSSPP_init &>/dev/null && echo "true" || echo "false"
}
#finalExec - Extra stuff
PPSSPP_finalize(){
echo "NYI"
}
PPSSPP_retroAchievementsOn() {
iniFieldUpdate "$PPSSPP_configFile" "Achievements" "AchievementsEnable" "True"
}
PPSSPP_retroAchievementsOff() {
iniFieldUpdate "$PPSSPP_configFile" "Achievements" "AchievementsEnable" "False"
}
PPSSPP_retroAchievementsHardCoreOn() {
iniFieldUpdate "$PPSSPP_configFile" "Achievements" "AchievementsChallengeMode" "True"
}
PPSSPP_retroAchievementsHardCoreOff() {
iniFieldUpdate "$PPSSPP_configFile" "Achievements" "AchievementsChallengeMode" "False"
}
PPSSPP_retroAchievementsSetLogin() {
# EmuDeck username and token files
rau=$(cat "$emudeckFolder/.rau")
rat=$(cat "$emudeckFolder/.rat")
# Create PPSSPP token file
PPSSPP_token="$HOME/.var/app/${PPSSPP_emuPath}/config/ppsspp/PSP/SYSTEM/ppsspp_retroachievements.dat"
touch $PPSSPP_token
echo "Evaluate RetroAchievements Login."
if [ ${#rat} -lt 1 ]; then
echo "--No token."
elif [ ${#rau} -lt 1 ]; then
echo "--No username."
else
echo "Valid Retroachievements Username and Password length"
# Insert username into PPSSPP config file
iniFieldUpdate "$PPSSPP_configFile" "Achievements" "AchievementsUserName" "${rau}"
# Insert token into PPSSPP token file if file is empty. RetroAchievements login does not work if there are multiple tokens in the file.
if [ -s $PPSSPP_token ]; then
echo "File is not empty"
else
echo "File is empty"
echo "${rat}" >> "${PPSSPP_token}"
fi
# Enable RetroAchievements
PPSSPP_retroAchievementsOn
fi
}
PPSSPP_setRetroAchievements(){
PPSSPP_retroAchievementsSetLogin
if [ "$achievementsHardcore" == "true" ]; then
PPSSPP_retroAchievementsHardCoreOn
else
PPSSPP_retroAchievementsHardCoreOff
fi
}
PPSSPP_addSteamInputProfile(){
addSteamInputCustomIcons
#setMSG "Adding $PPSSPP_emuName Steam Input Profile."
#rsync -r "$emudeckBackend/configs/steam-input/ppsspp_controller_config.vdf" "$HOME/.steam/steam/controller_base/templates/"
}
PPSSPP_setResolution(){
$ppssppResolution
echo "NYI"
}
PPSSPP_flushEmulatorLauncher(){
flushEmulatorLaunchers "ppsspp"
}