mirror of
https://github.com/dragoonDorise/EmuDeck.git
synced 2025-05-05 16:02:48 +00:00
* 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
218 lines
5.1 KiB
Bash
218 lines
5.1 KiB
Bash
#!/bin/bash
|
|
#variables
|
|
RMG_emuName="RosaliesMupenGui"
|
|
RMG_emuType="$emuDeckEmuTypeFlatpak"
|
|
RMG_emuPath="com.github.Rosalie241.RMG"
|
|
RMG_configFile="$HOME/.var/app/com.github.Rosalie241.RMG/config/RMG/mupen64plus.cfg"
|
|
RMG_glideN64File="$HOME/.var/app/com.github.Rosalie241.RMG/config/RMG/GLideN64.ini"
|
|
|
|
#cleanupOlderThings
|
|
RMG_cleanup(){
|
|
echo "NYI"
|
|
}
|
|
|
|
#Install
|
|
RMG_install() {
|
|
setMSG "Installing $RMG_emuName"
|
|
installEmuFP "${RMG_emuName}" "${RMG_emuPath}" "emulator" ""
|
|
}
|
|
|
|
#Fix for autoupdate
|
|
Rmg_install(){
|
|
RMG_install
|
|
}
|
|
|
|
#ApplyInitialSettings
|
|
|
|
RMG_init() {
|
|
|
|
setMSG "Initializing $RMG_emuName settings."
|
|
|
|
configEmuFP "${RMG_emuName}" "${RMG_emuPath}" "true"
|
|
RMG_setupStorage
|
|
RMG_setEmulationFolder
|
|
RMG_setupSaves
|
|
#SRM_createParsers
|
|
#RMG_addSteamInputProfile
|
|
RMG_flushEmulatorLauncher
|
|
|
|
}
|
|
|
|
#update
|
|
RMG_update() {
|
|
setMSG "Installing $RMG_emuName"
|
|
|
|
configEmuFP "${RMG_emuName}" "${RMG_emuPath}"
|
|
updateEmuFP "${RMG_emuName}" "${RMG_emuPath}" "emulator" ""
|
|
RMG_setupStorage
|
|
RMG_setEmulationFolder
|
|
RMG_setupSaves
|
|
#RMG_addSteamInputProfile
|
|
RMG_flushEmulatorLauncher
|
|
}
|
|
|
|
#ConfigurePaths
|
|
RMG_setEmulationFolder(){
|
|
setMSG "Setting $RMG_emuName Emulation Folder"
|
|
|
|
# N64 ROMs
|
|
gameDirOpt='Directory = '
|
|
newGameDirOpt="$gameDirOpt""${romsPath}/n64"
|
|
changeLine "$gameDirOpt" "$newGameDirOpt" "$RMG_configFile"
|
|
|
|
# N64DD IPL Paths
|
|
AmericanIPL='64DD_AmericanIPL = '
|
|
NewAmericanIPLPath="${AmericanIPL}""${biosPath}/64DD_IPL_US.n64"
|
|
JapaneseIPL='64DD_JapaneseIPL = '
|
|
NewJapaneseIPLPath="${JapaneseIPL}""${biosPath}/64DD_IPL_JP.n64"
|
|
DevelopmentIPL='64DD_DevelopmentIPL = '
|
|
NewDevelopmentIPLPath="${DevelopmentIPL}""${biosPath}/64DD_IPL_DEV.n64"
|
|
changeLine "$AmericanIPL" "$NewAmericanIPLPath" "$RMG_configFile"
|
|
changeLine "$JapaneseIPL" "$NewJapaneseIPLPath" "$RMG_configFile"
|
|
changeLine "$DevelopmentIPL" "$NewDevelopmentIPLPath" "$RMG_configFile"
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
#SetupSaves
|
|
RMG_setupSaves(){
|
|
|
|
mkdir -p "${savesPath}/RMG/saves"
|
|
mkdir -p "${savesPath}/RMG/states"
|
|
|
|
# Saves and Save States
|
|
Saves='SaveSRAMPath = '
|
|
SavesSetting="${Saves}""${savesPath}/RMG/saves"
|
|
SaveStates='SaveStatePath = '
|
|
SaveStatesSetting="${SaveStates}""${savesPath}/RMG/states"
|
|
|
|
changeLine "$Saves" "$SavesSetting" "$RMG_configFile"
|
|
changeLine "$SaveStates" "$SaveStatesSetting" "$RMG_configFile"
|
|
|
|
|
|
}
|
|
|
|
|
|
#SetupStorage
|
|
RMG_setupStorage(){
|
|
|
|
mkdir -p "${storagePath}/RMG/"
|
|
mkdir -p "${storagePath}/RMG/cache"
|
|
mkdir -p "${storagePath}/RMG/HiResTextures"
|
|
mkdir -p "${storagePath}/RMG/screenshots"
|
|
|
|
# Configure Settings
|
|
# HiResTextures
|
|
HiResTextureSetting='textureFilter\txHiresEnable='
|
|
enableHiResTextures="${HiResTextureSetting}1"
|
|
changeLine "${HiResTextureSetting}" "${enableHiResTextures}" "$RMG_glideN64File"
|
|
|
|
# Configure Paths
|
|
HiResTextures='textureFilter\txPath='
|
|
cache='textureFilter\txCachePath='
|
|
screenshots='ScreenshotPath = '
|
|
UserDataDirectory='UserDataDirectory = '
|
|
UserCacheDirectory='UserCacheDirectory = '
|
|
|
|
newHiResTextures='textureFilter\txPath='"${storagePath}/RMG/HiResTextures"
|
|
newcache='textureFilter\txCachePath='"${storagePath}/RMG/cache"
|
|
newscreenshots='ScreenshotPath = '"${storagePath}/RMG/screenshots"
|
|
newUserDataDirectory="${UserDataDirectory}\"$HOME/.var/app/com.github.Rosalie241.RMG/data/RMG\""
|
|
newUserCacheDirectory="${UserCacheDirectory}\"$HOME/.var/app/com.github.Rosalie241.RMG/cache/RMG\""
|
|
|
|
changeLine "$HiResTextures" "$newHiResTextures" "$RMG_glideN64File"
|
|
changeLine "$cache" "$newcache" "$RMG_glideN64File"
|
|
changeLine "$screenshots" "$newscreenshots" "$RMG_configFile"
|
|
changeLine "$UserDataDirectory" "$newUserDataDirectory" "$RMG_configFile"
|
|
changeLine "$UserCacheDirectory" "$newUserCacheDirectory" "$RMG_configFile"
|
|
|
|
}
|
|
|
|
|
|
#WipeSettings
|
|
RMG_wipe(){
|
|
rm -rf "$HOME/.var/app/$RMG_emuPath"
|
|
}
|
|
|
|
|
|
#Uninstall
|
|
RMG_uninstall(){
|
|
uninstallEmuFP "${RMG_emuName}" "${RMG_emuPath}" "emulator" ""
|
|
}
|
|
|
|
#Migrate
|
|
RMG_migrate(){
|
|
echo "NYI"
|
|
}
|
|
|
|
#WideScreenOn
|
|
RMG_wideScreenOn(){
|
|
echo "NYI"
|
|
}
|
|
|
|
#WideScreenOff
|
|
RMG_wideScreenOff(){
|
|
echo "NYI"
|
|
}
|
|
|
|
#BezelOn
|
|
RMG_bezelOn(){
|
|
echo "NYI"
|
|
}
|
|
|
|
#BezelOff
|
|
RMG_bezelOff(){
|
|
echo "NYI"
|
|
}
|
|
|
|
RMG_IsInstalled(){
|
|
isFpInstalled "$RMG_emuPath"
|
|
}
|
|
|
|
RMG_resetConfig(){
|
|
RMG_init &>/dev/null && echo "true" || echo "false"
|
|
}
|
|
|
|
RMG_addSteamInputProfile(){
|
|
addSteamInputCustomIcons
|
|
#setMSG "Adding $RMG_emuName Steam Input Profile."
|
|
#rsync -r "$emudeckBackend/configs/steam-input/rmg_controller_config.vdf" "$HOME/.steam/steam/controller_base/templates/"
|
|
}
|
|
|
|
#finalExec - Extra stuff
|
|
RMG_finalize(){
|
|
echo "NYI"
|
|
}
|
|
|
|
RMG_setResolution(){
|
|
echo "NYI"
|
|
}
|
|
|
|
RMG_setABXYstyle(){
|
|
local header="[Rosalie's Mupen GUI - Input Plugin User Profile \"steamdeck\"]"
|
|
|
|
sed -i '/\[Rosalie'"'"'s Mupen GUI - Input Plugin User Profile "steamdeck"\]/,/^\[/ {
|
|
|
|
s/B_Name *= *"x"/B_Name = "b"/;
|
|
s/B_Data *= *"2"/B_Data = "1"/;
|
|
}' "$RMG_configFile"
|
|
|
|
}
|
|
RMG_setBAYXstyle(){
|
|
local header="[Rosalie's Mupen GUI - Input Plugin User Profile \"steamdeck\"]"
|
|
|
|
sed -i '/\[Rosalie'"'"'s Mupen GUI - Input Plugin User Profile "steamdeck"\]/,/^\[/ {
|
|
s/B_Name *= *"b"/B_Name = "x"/;
|
|
s/B_Data *= *"1"/B_Data = "2"/;
|
|
}' "$RMG_configFile"
|
|
|
|
}
|
|
|
|
RMG_flushEmulatorLauncher(){
|
|
|
|
|
|
flushEmulatorLaunchers "rosaliesmupengui"
|
|
|
|
} |