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

162 lines
3.4 KiB
Bash

#!/bin/bash
#variables
mGBA_emuName="mGBA"
mGBA_emuType="$emuDeckEmuTypeAppImage"
mGBA_emuPath="$emusFolder/mGBA.AppImage"
mGBA_configFile="$HOME/.config/mgba/config.ini"
#cleanupOlderThings
mGBA_cleanup(){
echo "NYI"
}
#Install
mGBA_install(){
echo "Begin mGBA Install"
local showProgress="$1"
if installEmuAI "$mGBA_emuName" "" "$(getReleaseURLGH "mgba-emu/mgba" "x64.appimage")" "" "" "emulator" "$showProgress"; then #mGBA.AppImage
:
else
return 1
fi
}
#Fix for autoupdate
Mgba_install(){
mGBA_install
}
#ApplyInitialSettings
mGBA_init(){
setMSG "Initializing $mGBA_emuName settings."
configEmuAI "$mGBA_emuName" "config" "$HOME/.config/mgba" "$emudeckBackend/configs/mgba" "true"
mGBA_setupStorage
mGBA_setEmulationFolder
mGBA_setupSaves
#SRM_createParsers
mGBA_addSteamInputProfile
mGBA_flushEmulatorLauncher
}
#update
mGBA_update(){
setMSG "Updating $mGBA_emuName settings."
configEmuAI "$mGBA_emuName" "config" "$HOME/.config/mgba" "$emudeckBackend/configs/mgba"
mGBA_setupStorage
mGBA_setEmulationFolder
mGBA_setupSaves
mGBA_addSteamInputProfile
mGBA_flushEmulatorLauncher
}
#ConfigurePaths
mGBA_setEmulationFolder(){
setMSG "Setting $mGBA_emuName Emulation Folder"
LastROMFolderSetting='lastDirectory='
changeLine "$LastROMFolderSetting" "${LastROMFolderSetting}${romsPath}/gba" "${mGBA_configFile}"
}
#SetupSaves
mGBA_setupSaves(){
mkdir -p "$savesPath/mgba/saves"
mkdir -p "$savesPath/mgba/states"
SaveFilePathSetting='savegamePath='
SavestatePathSetting='savestatePath='
changeLine "$SaveFilePathSetting" "${SaveFilePathSetting}${savesPath}/mgba/saves" "${mGBA_configFile}"
changeLine "$SavestatePathSetting" "${SavestatePathSetting}${savesPath}/mgba/states" "${mGBA_configFile}"
}
#SetupStorage
mGBA_setupStorage(){
mkdir -p "$storagePath/mgba/cheats"
mkdir -p "$storagePath/mgba/patches"
mkdir -p "$storagePath/mgba/screenshots"
CheatsPathSetting='cheatsPath='
PatchesPathSetting='patchPath='
ScreenshotsPathSetting='screenshotPath='
changeLine "$CheatsPathSetting" "${CheatsPathSetting}${storagePath}/mgba/cheats" "${mGBA_configFile}"
changeLine "$PatchesPathSetting" "${PatchesPathSetting}${storagePath}/mgba/patches" "${mGBA_configFile}"
changeLine "$ScreenshotsPathSetting" "${ScreenshotsPathSetting}${storagePath}/mgba/screenshots" "${mGBA_configFile}"
}
#WipeSettings
mGBA_wipe(){
setMSG "Wiping $mGBA_emuName settings."
rm -rf "$HOME/.config/mgba"
}
#Uninstall
mGBA_uninstall(){
setMSG "Uninstalling $mGBA_emuName."
uninstallEmuAI "$mGBA_emuName" "" "" "emulator"
}
#setABXYstyle
mGBA_setABXYstyle(){
echo "NYI"
}
#Migrate
mGBA_migrate(){
echo "NYI"
}
#WideScreenOn
mGBA_wideScreenOn(){
echo "NYI"
}
#WideScreenOff
mGBA_wideScreenOff(){
echo "NYI"
}
#BezelOn
mGBA_bezelOn(){
echo "NYI"
}
#BezelOff
mGBA_bezelOff(){
echo "NYI"
}
mGBA_IsInstalled(){
if [ -e "$mGBA_emuPath" ]; then
echo "true"
else
echo "false"
fi
}
mGBA_resetConfig(){
mGBA_init &>/dev/null && echo "true" || echo "false"
}
#finalExec - Extra stuff
mGBA_finalize(){
echo "NYI"
}
mGBA_addSteamInputProfile(){
addSteamInputCustomIcons
setMSG "Adding $mGBA_emuName Steam Input Profile."
#rsync -r "$emudeckBackend/configs/steam-input/mGBA_controller_config.vdf" "$HOME/.steam/steam/controller_base/templates/"
rsync -r --exclude='*/' "$emudeckBackend/configs/steam-input/" "$HOME/.steam/steam/controller_base/templates/"
}
mGBA_flushEmulatorLauncher(){
flushEmulatorLaunchers "mgba"
}