mirror of
https://github.com/dragoonDorise/EmuDeck.git
synced 2024-06-02 11:38:01 -04:00
Merge branch 'dev' into issue/1208
This commit is contained in:
commit
acb1e0da95
|
@ -9,17 +9,8 @@
|
|||
</rule>
|
||||
</emulator>
|
||||
<emulator name="RETROARCH">
|
||||
<rule type="systempath">
|
||||
<entry>org.libretro.RetroArch</entry>
|
||||
<entry>retroarch</entry>
|
||||
</rule>
|
||||
<rule type="staticpath">
|
||||
<entry>~/.local/share/flatpak/exports/bin/org.libretro.RetroArch</entry>
|
||||
<entry>/var/lib/flatpak/exports/bin/org.libretro.RetroArch</entry>
|
||||
<entry>~/Applications/RetroArch-Linux*.AppImage</entry>
|
||||
<entry>~/.local/share/applications/RetroArch-Linux*.AppImage</entry>
|
||||
<entry>~/.local/bin/RetroArch-Linux*.AppImage</entry>
|
||||
<entry>~/bin/RetroArch-Linux*.AppImage</entry>
|
||||
<entry>/run/media/mmcblk0p1/Emulation/tools/launchers/retroarch.sh</entry>
|
||||
</rule>
|
||||
</emulator>
|
||||
<core name="RETROARCH">
|
||||
|
|
|
@ -1,61 +1,61 @@
|
|||
<?xml version="1.0"?>
|
||||
<systemList>
|
||||
<system>
|
||||
<name>atarijaguar</name>
|
||||
<fullname>Atari Jaguar</fullname>
|
||||
<path>%ROMPATH%/atarijaguar</path>
|
||||
<extension>.abs .ABS .bin .BIN .cdi .CDI .cof .COF .cue .CUE .j64 .J64 .jag .JAG .prg .PRG .rom .ROM .7z .7Z .zip .ZIP</extension>
|
||||
<command label="BigPEmu (Proton)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/bigpemu.sh %ROM%</command>
|
||||
<command label="Virtual Jaguar">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.so %ROM%</command>
|
||||
<command label="MAME (Standalone)">%STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/atarijaguar jaguar -cart %ROM%</command>
|
||||
<platform>atarijaguar</platform>
|
||||
<theme>atarijaguar</theme>
|
||||
<name>atarijaguar</name>
|
||||
<fullname>Atari Jaguar</fullname>
|
||||
<path>%ROMPATH%/atarijaguar</path>
|
||||
<extension>.abs .ABS .bin .BIN .cdi .CDI .cof .COF .cue .CUE .j64 .J64 .jag .JAG .prg .PRG .rom .ROM .7z .7Z .zip .ZIP</extension>
|
||||
<command label="BigPEmu (Proton)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/bigpemu.sh %ROM%</command>
|
||||
<command label="Virtual Jaguar">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.so %ROM%</command>
|
||||
<command label="MAME (Standalone)">%STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/atarijaguar jaguar -cart %ROM%</command>
|
||||
<platform>atarijaguar</platform>
|
||||
<theme>atarijaguar</theme>
|
||||
</system>
|
||||
<system>
|
||||
<name>atarijaguarcd</name>
|
||||
<fullname>Atari Jaguar CD</fullname>
|
||||
<path>%ROMPATH%/atarijaguarcd</path>
|
||||
<extension>.abs .ABS .bin .BIN .cdi .CDI .cof .COF .cue .CUE .j64 .J64 .jag .JAG .prg .PRG .rom .ROM .7z .7Z .zip .ZIP</extension>
|
||||
<command label="BigPEmu (Proton)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/bigpemu.sh %ROM%</command>
|
||||
<platform>atarijaguarcd</platform>
|
||||
<theme>atarijaguarcd</theme>
|
||||
<name>atarijaguarcd</name>
|
||||
<fullname>Atari Jaguar CD</fullname>
|
||||
<path>%ROMPATH%/atarijaguarcd</path>
|
||||
<extension>.abs .ABS .bin .BIN .cdi .CDI .cof .COF .cue .CUE .j64 .J64 .jag .JAG .prg .PRG .rom .ROM .7z .7Z .zip .ZIP</extension>
|
||||
<command label="BigPEmu (Proton)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/bigpemu.sh %ROM%</command>
|
||||
<platform>atarijaguarcd</platform>
|
||||
<theme>atarijaguarcd</theme>
|
||||
</system>
|
||||
<system>
|
||||
<name>model2</name>
|
||||
<fullname>Sega Model 2</fullname>
|
||||
<path>%ROMPATH%/model2/roms</path>
|
||||
<extension>.zip .ZIP</extension>
|
||||
<command label="Model 2 Emulator (Proton)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/model-2-emulator.sh %BASENAME%</command>
|
||||
<platform>arcade</platform>
|
||||
<theme>model2</theme>
|
||||
<name>model2</name>
|
||||
<fullname>Sega Model 2</fullname>
|
||||
<path>%ROMPATH%/model2/roms</path>
|
||||
<extension>.zip .ZIP</extension>
|
||||
<command label="Model 2 Emulator (Proton)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/model-2-emulator.sh %BASENAME%</command>
|
||||
<platform>arcade</platform>
|
||||
<theme>model2</theme>
|
||||
</system>
|
||||
<system>
|
||||
<name>switch</name>
|
||||
<fullname>Nintendo Switch</fullname>
|
||||
<path>%ROMPATH%/switch</path>
|
||||
<extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI</extension>
|
||||
<command label="Ryujinx (Standalone)">%EMULATOR_RYUJINX% %ROM%</command>
|
||||
<command label="Yuzu (Standalone)">%INJECT%=%BASENAME%.esprefix %EMULATOR_YUZU% -f -g %ROM%</command>
|
||||
<platform>switch</platform>
|
||||
<theme>switch</theme>
|
||||
<name>switch</name>
|
||||
<fullname>Nintendo Switch</fullname>
|
||||
<path>%ROMPATH%/switch</path>
|
||||
<extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI</extension>
|
||||
<command label="Ryujinx (Standalone)">%EMULATOR_RYUJINX% %ROM%</command>
|
||||
<command label="Yuzu (Standalone)">%INJECT%=%BASENAME%.esprefix %EMULATOR_YUZU% -f -g %ROM%</command>
|
||||
<platform>switch</platform>
|
||||
<theme>switch</theme>
|
||||
</system>
|
||||
<system>
|
||||
<name>wiiu</name>
|
||||
<fullname>Nintendo Wii U</fullname>
|
||||
<path>%ROMPATH%/wiiu/roms</path>
|
||||
<extension>.rpx .RPX .wud .WUD .wux .WUX .elf .ELF .iso .ISO .wad .WAD .wua .WUA</extension>
|
||||
<command label="Cemu (Native)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/cemu.sh -f -g %ROM%</command>
|
||||
<command label="Cemu (Proton)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/cemu.sh -w -f -g z:%ROM%</command>
|
||||
<platform>wiiu</platform>
|
||||
<theme>wiiu</theme>
|
||||
<name>wiiu</name>
|
||||
<fullname>Nintendo Wii U</fullname>
|
||||
<path>%ROMPATH%/wiiu/roms</path>
|
||||
<extension>.rpx .RPX .wud .WUD .wux .WUX .elf .ELF .iso .ISO .wad .WAD .wua .WUA</extension>
|
||||
<command label="Cemu (Native)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/cemu.sh -f -g %ROM%</command>
|
||||
<command label="Cemu (Proton)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/cemu.sh -w -f -g z:%ROM%</command>
|
||||
<platform>wiiu</platform>
|
||||
<theme>wiiu</theme>
|
||||
</system>
|
||||
<system>
|
||||
<name>xbox360</name>
|
||||
<fullname>Microsoft Xbox 360</fullname>
|
||||
<path>%ROMPATH%/xbox360/roms</path>
|
||||
<extension>.iso .ISO . .xex .XEX .zar .ZAR</extension>
|
||||
<command label="Xenia (Proton)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/xenia.sh z:%ROM% %INJECT%=%BASENAME%.esprefix</command>
|
||||
<platform>xbox360</platform>
|
||||
<theme>xbox360</theme>
|
||||
<name>xbox360</name>
|
||||
<fullname>Microsoft Xbox 360</fullname>
|
||||
<path>%ROMPATH%/xbox360/roms</path>
|
||||
<extension>.iso .ISO . .xex .XEX .zar .ZAR</extension>
|
||||
<command label="Xenia (Proton)">/bin/bash /run/media/mmcblk0p1/Emulation/tools/launchers/xenia.sh z:%ROM% %INJECT%=%BASENAME%.esprefix</command>
|
||||
<platform>xbox360</platform>
|
||||
<theme>xbox360</theme>
|
||||
</system>
|
||||
</systemList>
|
||||
|
|
1546
configs/steam-input/emudeck_controller_steamcontroller.vdf
Executable file
1546
configs/steam-input/emudeck_controller_steamcontroller.vdf
Executable file
File diff suppressed because it is too large
Load diff
1546
configs/steam-input/emudeck_controller_xboxelite.vdf
Executable file
1546
configs/steam-input/emudeck_controller_xboxelite.vdf
Executable file
File diff suppressed because it is too large
Load diff
1546
configs/steam-input/emudeck_frontend_controller_steamcontroller.vdf
Executable file
1546
configs/steam-input/emudeck_frontend_controller_steamcontroller.vdf
Executable file
File diff suppressed because it is too large
Load diff
1546
configs/steam-input/emudeck_frontend_controller_xboxelite.vdf
Executable file
1546
configs/steam-input/emudeck_frontend_controller_xboxelite.vdf
Executable file
File diff suppressed because it is too large
Load diff
|
@ -37,12 +37,12 @@
|
|||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - Dual Shock 4",
|
||||
"title": "EmuDeck - DualShock 4",
|
||||
"mappingId": "emudeck_controller_ps4.vdf",
|
||||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - Dual Shock 4 Frontend",
|
||||
"title": "EmuDeck - DualShock 4 Frontend",
|
||||
"mappingId": "emudeck_frontend_controller_ps4.vdf",
|
||||
"profileType": "template"
|
||||
}
|
||||
|
@ -84,16 +84,33 @@
|
|||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - Dual Sense",
|
||||
"title": "EmuDeck - DualSense",
|
||||
"mappingId": "emudeck_controller_ps5.vdf",
|
||||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - Dual Sense Frontend",
|
||||
"title": "EmuDeck - DualSense Frontend",
|
||||
"mappingId": "emudeck_frontend_controller_ps5.vdf",
|
||||
"profileType": "template"
|
||||
}
|
||||
],
|
||||
"ps5_edge": [
|
||||
{
|
||||
"title": "Gamepad With Joystick Trackpad",
|
||||
"mappingId": "emudeck_frontend_controller_ps5_dualsense_edge.vdf",
|
||||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - DualSense Edge",
|
||||
"mappingId": "emudeck_controller_ps5_dualsense_edge.vdf",
|
||||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - DualSense Edge Frontend",
|
||||
"mappingId": "emudeck_frontend_controller_ps5_dualsense_edge.vdf",
|
||||
"profileType": "template"
|
||||
}
|
||||
],
|
||||
"xbox360": [
|
||||
{
|
||||
"title": "Gamepad",
|
||||
|
@ -148,6 +165,23 @@
|
|||
"profileType": "template"
|
||||
}
|
||||
],
|
||||
"xboxelite": [
|
||||
{
|
||||
"title": "Gamepad With Joystick Trackpad",
|
||||
"mappingId": "emudeck_frontend_controller_xboxelite.vdf",
|
||||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - Xbox Elite",
|
||||
"mappingId": "emudeck_controller_xboxelite.vdf",
|
||||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - Xbox Elite Frontend",
|
||||
"mappingId": "emudeck_frontend_controller_xboxelite.vdf",
|
||||
"profileType": "template"
|
||||
}
|
||||
],
|
||||
"switch_joycon_left": [
|
||||
{
|
||||
"title": "Gamepad",
|
||||
|
@ -184,12 +218,12 @@
|
|||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - Switch Pro",
|
||||
"title": "EmuDeck - Switch Pro Controller",
|
||||
"mappingId": "emudeck_controller_switch_pro.vdf",
|
||||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - Switch Pro Frontend",
|
||||
"title": "EmuDeck - Switch Pro Controller Frontend",
|
||||
"mappingId": "emudeck_frontend_controller_switch_pro.vdf",
|
||||
"profileType": "template"
|
||||
}
|
||||
|
@ -217,7 +251,7 @@
|
|||
},
|
||||
{
|
||||
"title": "Gamepad With Joystick Trackpad",
|
||||
"mappingId": "emudeck_frontend_controller_steamdeck.vdf",
|
||||
"mappingId": "emudeck_steam_deck_light_gun_controls.vdf",
|
||||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
|
@ -275,6 +309,23 @@
|
|||
"mappingId": "emudeck_controller_steamdeck_proton.vdf",
|
||||
"profileType": "template"
|
||||
}
|
||||
],
|
||||
"steamcontroller_gordon": [
|
||||
{
|
||||
"title": "Gamepad with Mouse and Gyro",
|
||||
"mappingId": "gamepad_mouse_gyro.vdf",
|
||||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - Steam Controller Frontend",
|
||||
"mappingId": "emudeck_frontend_controller_steamcontroller.vdf",
|
||||
"profileType": "template"
|
||||
},
|
||||
{
|
||||
"title": "EmuDeck - Steam Controller",
|
||||
"mappingId": "emudeck_controller_steamcontroller.vdf",
|
||||
"profileType": "template"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -86,3 +86,26 @@ installEmuZip(){
|
|||
|
||||
}
|
||||
|
||||
gcd() {
|
||||
while [ $2 -ne 0 ]; do
|
||||
set -- $2 $(( $1 % $2 ))
|
||||
done
|
||||
echo $1
|
||||
}
|
||||
|
||||
|
||||
function getScreenAR(){
|
||||
dimensions=$(system_profiler SPDisplaysDataType | awk '/Resolution/{print $2, $4}')
|
||||
|
||||
width=$(echo $dimensions | cut -d ' ' -f 1)
|
||||
height=$(echo $dimensions | cut -d ' ' -f 2)
|
||||
|
||||
|
||||
g=$(gcd $width $height)
|
||||
|
||||
aspect_ratio_width=$((width / g))
|
||||
aspect_ratio_height=$((height / g))
|
||||
|
||||
return $aspect_ratio_width$aspect_ratio_height
|
||||
|
||||
}
|
|
@ -11,7 +11,7 @@ RetroArch_cores="$HOME/Library/Application Support/RetroArch/cores"
|
|||
RetroArch_path="$HOME/Library/Application Support/RetroArch"
|
||||
RetroArch_coresURL="https://buildbot.libretro.com/nightly/apple/osx/${appleChip}/latest/"
|
||||
RetroArch_coresExtension="dylib.zip"
|
||||
ESDE_toolPath="$HOME/Application/EmulationStation Desktop Edition.app"
|
||||
ESDE_toolPath="$HOME/Applications/ES-DE.dmg"
|
||||
ESDE_addSteamInputFile="$EMUDECKGIT/darwin/configs/steam-input/emulationstation-de_controller_config.vdf"
|
||||
steam_input_templateFolder="$HOME/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/controller_base/templates/"
|
||||
SRM_userData_directory="darwin/configs/steam-rom-manager/userData"
|
||||
|
|
37
export.sh
37
export.sh
|
@ -131,23 +131,48 @@ if [ "$size" -gt 4096 ]; then
|
|||
fi
|
||||
|
||||
if [ -d "$emulationPath/bios" ]; then
|
||||
text="$(printf "Do you want to export all your roms?")"
|
||||
text="$(printf "Do you want to export all your bios?")"
|
||||
zenity --question \
|
||||
--title="EmuDeck Export tool" \
|
||||
--width=450 \
|
||||
--cancel-label="No" \
|
||||
--ok-label="Export my roms" \
|
||||
--ok-label="Export my bios" \
|
||||
--text="${text}" 2>/dev/null
|
||||
ans=$?
|
||||
if [ $ans -eq 0 ]; then
|
||||
|
||||
checkSpace "$emulationPath/roms/" "$destination"
|
||||
checkSpace "$emulationPath/bios/" "$destination"
|
||||
|
||||
mkdir -p "$destination/EmuDeck/roms"
|
||||
mkdir -p "$destination/EmuDeck/bios"
|
||||
|
||||
for entry in "$emulationPath/roms/"*
|
||||
for entry in "$emulationPath/bios/"*
|
||||
do
|
||||
rsync -ravL --ignore-existing --progress "$entry" "$destination/EmuDeck/roms/" | awk -f $HOME/.config/EmuDeck/backend/rsync.awk | zenity --progress --text="Exporting $entry to $destination/EmuDeck/roms/" --title="Exporting $entry..." --width=400 --percentage=0 --auto-close
|
||||
rsync -ravL --ignore-existing --progress "$entry" "$destination/EmuDeck/bios/" | awk -f $HOME/.config/EmuDeck/backend/rsync.awk | zenity --progress --text="Exporting $entry to $destination/EmuDeck/bios/" --title="Exporting $entry..." --width=400 --percentage=0 --auto-close
|
||||
done
|
||||
|
||||
else
|
||||
echo "no bios"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d "$ESDEscrapData" ]; then
|
||||
text="$(printf "Do you want to export all your EmulationStation media?")"
|
||||
zenity --question \
|
||||
--title="EmuDeck Export tool" \
|
||||
--width=450 \
|
||||
--cancel-label="No" \
|
||||
--ok-label="Export my ESDE Media" \
|
||||
--text="${text}" 2>/dev/null
|
||||
ans=$?
|
||||
if [ $ans -eq 0 ]; then
|
||||
|
||||
checkSpace "$ESDEscrapData" "$destination"
|
||||
|
||||
mkdir -p "$destination/EmuDeck/tools/downloaded_media"
|
||||
|
||||
for entry in "$ESDEscrapData/"*
|
||||
do
|
||||
rsync -ravL --ignore-existing --progress "$entry" "$destination/EmuDeck/roms/" | awk -f $HOME/.config/EmuDeck/backend/rsync.awk | zenity --progress --text="Exporting $entry to $destination/EmuDeck/tools/downloaded_media/" --title="Exporting $entry..." --width=400 --percentage=0 --auto-close
|
||||
done
|
||||
|
||||
else
|
||||
|
|
|
@ -50,7 +50,8 @@ Retroarch_install(){
|
|||
#ApplyInitialSettings
|
||||
RetroArch_init(){
|
||||
|
||||
|
||||
#netPlay
|
||||
setSetting netplayCMD "' '"
|
||||
|
||||
setMSG "RetroArch - HD Texture Packs"
|
||||
|
||||
|
|
|
@ -159,9 +159,14 @@ Ryujinx_setupSaves(){
|
|||
rm -rf "${emulationPath}/saves/ryujinx/saveMeta"
|
||||
fi
|
||||
|
||||
linkToSaveFolder Ryujinx saves "$HOME/.config/Ryujinx/bis/user/save"
|
||||
linkToSaveFolder Ryujinx saveMeta "$HOME/.config/Ryujinx/bis/user/saveMeta"
|
||||
linkToSaveFolder Ryujinx system_saves "$HOME/.config/Ryujinx/bis/system/save"
|
||||
if [ -d "${emulationPath}/saves/Ryujinx/saves" ]; then
|
||||
rm -rf "${emulationPath}/saves/Ryujinx/"
|
||||
fi
|
||||
|
||||
linkToSaveFolder ryujinx saves "$HOME/.config/Ryujinx/bis/user/save"
|
||||
linkToSaveFolder ryujinx saveMeta "$HOME/.config/Ryujinx/bis/user/saveMeta"
|
||||
linkToSaveFolder ryujinx system_saves "$HOME/.config/Ryujinx/bis/system/save"
|
||||
linkToSaveFolder ryujinx system "$HOME/.config/Ryujinx/system"
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
#variables
|
||||
Suyu_emuName="suyu"
|
||||
Suyu_emuType="$emuDeckEmuTypeAppImage"
|
||||
Suyu_emuPath="$HOME/Applications/suyu.AppImage"
|
||||
suyu_emuName="suyu"
|
||||
suyu_emuType="$emuDeckEmuTypeAppImage"
|
||||
suyu_emuPath="$HOME/Applications/suyu.AppImage"
|
||||
|
||||
Suyu_configFile="$HOME/.config/suyu/qt-config.ini"
|
||||
suyu_configFile="$HOME/.config/suyu/qt-config.ini"
|
||||
|
||||
declare -A Suyu_languages
|
||||
Suyu_languages=(
|
||||
declare -A suyu_languages
|
||||
suyu_languages=(
|
||||
["ja"]=0
|
||||
["en"]=1
|
||||
["fr"]=2
|
||||
|
@ -23,8 +23,8 @@ Suyu_languages=(
|
|||
["tw"]=11) # TODO: not all langs but we need to switch to full lang codes to support those
|
||||
|
||||
# https://github.com/suyu-emu/suyu/blob/master/src/suyu/configuration/configure_system.ui#L272-L309
|
||||
declare -A Suyu_regions
|
||||
Suyu_regions=(
|
||||
declare -A suyu_regions
|
||||
suyu_regions=(
|
||||
["ja"]=0 # Japan
|
||||
["en"]=1 # USA
|
||||
["fr"]=2 # Europe
|
||||
|
@ -43,14 +43,12 @@ Suyu_regions=(
|
|||
|
||||
|
||||
#Install
|
||||
Suyu_install() {
|
||||
echo "Begin Suyu Install"
|
||||
suyu_install() {
|
||||
echo "Begin suyu Install"
|
||||
|
||||
local showProgress=$1
|
||||
local lastVerFile="$HOME/emudeck/suyu.ver"
|
||||
local latestVer=$(curl -fSs "https://api.github.com/repos/suyu-emu/suyu-mainline/releases" | jq -r '[ .[].tag_name ][0]')
|
||||
local success="false"
|
||||
if installEmuAI "$Suyu_emuName" "$(getReleaseURLGH "suyu-emu/suyu-mainline" "AppImage")" "" "$showProgress" "$lastVerFile" "$latestVer"; then # suyu.AppImage - needs to be lowercase suyu for EsDE to find it
|
||||
if installEmuAI "$suyu_emuName" "https://gitlab.com/suyu-emu/suyu-releases/-/raw/master/v0.0.2-master/suyu-mainline--.AppImage" "suyu" "$showProgress"; then
|
||||
success="true"
|
||||
fi
|
||||
|
||||
|
@ -60,8 +58,8 @@ Suyu_install() {
|
|||
}
|
||||
|
||||
#ApplyInitialSettings
|
||||
Suyu_init() {
|
||||
echo "Begin Suyu Init"
|
||||
suyu_init() {
|
||||
echo "Begin suyu Init"
|
||||
|
||||
cp "$EMUDECKGIT/tools/launchers/suyu.sh" "$toolsPath/launchers/suyu.sh"
|
||||
chmod +x "$toolsPath/launchers/suyu.sh"
|
||||
|
@ -69,23 +67,23 @@ Suyu_init() {
|
|||
mkdir -p "$HOME/.local/share/suyu"
|
||||
rsync -avhp "$EMUDECKGIT/configs/org.suyu_emu.suyu/config/suyu/." "$HOME/.config/suyu"
|
||||
rsync -avhp "$EMUDECKGIT/configs/org.suyu_emu.suyu/data/suyu/." "$HOME/.local/share/suyu"
|
||||
Suyu_migrate
|
||||
configEmuAI "$Suyu_emuName" "config" "$HOME/.config/suyu" "$EMUDECKGIT/configs/org.suyu_emu.suyu/config/suyu" "true"
|
||||
configEmuAI "$Suyu_emuName" "data" "$HOME/.local/share/suyu" "$EMUDECKGIT/configs/org.suyu_emu.suyu/data/suyu" "true"
|
||||
suyu_migrate
|
||||
configEmuAI "$suyu_emuName" "config" "$HOME/.config/suyu" "$EMUDECKGIT/configs/org.suyu_emu.suyu/config/suyu" "true"
|
||||
configEmuAI "$suyu_emuName" "data" "$HOME/.local/share/suyu" "$EMUDECKGIT/configs/org.suyu_emu.suyu/data/suyu" "true"
|
||||
|
||||
Suyu_setEmulationFolder
|
||||
Suyu_setupStorage
|
||||
Suyu_setupSaves
|
||||
Suyu_finalize
|
||||
suyu_setEmulationFolder
|
||||
suyu_setupStorage
|
||||
suyu_setupSaves
|
||||
suyu_finalize
|
||||
#SRM_createParsers
|
||||
Suyu_flushEmulatorLauncher
|
||||
suyu_flushEmulatorLauncher
|
||||
createDesktopShortcut "$HOME/.local/share/applications/suyu.desktop" \
|
||||
"suyu (AppImage)" \
|
||||
"${toolsPath}/launchers/suyu.sh" \
|
||||
"False"
|
||||
|
||||
if [ -e "$ESDE_toolPath" ]; then
|
||||
Suyu_addESConfig
|
||||
suyu_addESConfig
|
||||
else
|
||||
echo "ES-DE not found. Skipped adding custom system."
|
||||
fi
|
||||
|
@ -94,24 +92,24 @@ Suyu_init() {
|
|||
}
|
||||
|
||||
#update
|
||||
Suyu_update() {
|
||||
echo "Begin Suyu update"
|
||||
suyu_update() {
|
||||
echo "Begin suyu update"
|
||||
|
||||
Suyu_migrate
|
||||
suyu_migrate
|
||||
|
||||
configEmuAI "$Suyu_emuName" "config" "$HOME/.config/suyu" "$EMUDECKGIT/configs/org.suyu_emu.suyu/config/suyu"
|
||||
configEmuAI "$Suyu_emuName" "data" "$HOME/.local/share/suyu" "$EMUDECKGIT/configs/org.suyu_emu.suyu/data/suyu"
|
||||
configEmuAI "$suyu_emuName" "config" "$HOME/.config/suyu" "$EMUDECKGIT/configs/org.suyu_emu.suyu/config/suyu"
|
||||
configEmuAI "$suyu_emuName" "data" "$HOME/.local/share/suyu" "$EMUDECKGIT/configs/org.suyu_emu.suyu/data/suyu"
|
||||
|
||||
Suyu_setEmulationFolder
|
||||
Suyu_setupStorage
|
||||
Suyu_setupSaves
|
||||
Suyu_finalize
|
||||
Suyu_flushEmulatorLauncher
|
||||
suyu_setEmulationFolder
|
||||
suyu_setupStorage
|
||||
suyu_setupSaves
|
||||
suyu_finalize
|
||||
suyu_flushEmulatorLauncher
|
||||
}
|
||||
|
||||
#ConfigurePaths
|
||||
Suyu_setEmulationFolder() {
|
||||
echo "Begin Suyu Path Config"
|
||||
suyu_setEmulationFolder() {
|
||||
echo "Begin suyu Path Config"
|
||||
|
||||
screenshotDirOpt='Screenshots\\screenshot_path='
|
||||
gameDirOpt='Paths\\gamedirs\\4\\path='
|
||||
|
@ -128,18 +126,18 @@ Suyu_setEmulationFolder() {
|
|||
newSdmcDirOpt='sdmc_directory='"${storagePath}/suyu/sdmc"
|
||||
newTasDirOpt='tas_directory='"${storagePath}/suyu/tas"
|
||||
|
||||
sed -i "/${screenshotDirOpt}/c\\${newScreenshotDirOpt}" "$Suyu_configFile"
|
||||
sed -i "/${gameDirOpt}/c\\${newGameDirOpt}" "$Suyu_configFile"
|
||||
sed -i "/${dumpDirOpt}/c\\${newDumpDirOpt}" "$Suyu_configFile"
|
||||
sed -i "/${loadDir}/c\\${newLoadDir}" "$Suyu_configFile"
|
||||
sed -i "/${nandDirOpt}/c\\${newNandDirOpt}" "$Suyu_configFile"
|
||||
sed -i "/${sdmcDirOpt}/c\\${newSdmcDirOpt}" "$Suyu_configFile"
|
||||
sed -i "/${tasDirOpt}/c\\${newTasDirOpt}" "$Suyu_configFile"
|
||||
sed -i "/${screenshotDirOpt}/c\\${newScreenshotDirOpt}" "$suyu_configFile"
|
||||
sed -i "/${gameDirOpt}/c\\${newGameDirOpt}" "$suyu_configFile"
|
||||
sed -i "/${dumpDirOpt}/c\\${newDumpDirOpt}" "$suyu_configFile"
|
||||
sed -i "/${loadDir}/c\\${newLoadDir}" "$suyu_configFile"
|
||||
sed -i "/${nandDirOpt}/c\\${newNandDirOpt}" "$suyu_configFile"
|
||||
sed -i "/${sdmcDirOpt}/c\\${newSdmcDirOpt}" "$suyu_configFile"
|
||||
sed -i "/${tasDirOpt}/c\\${newTasDirOpt}" "$suyu_configFile"
|
||||
|
||||
#Setup Bios symlinks
|
||||
unlink "${biosPath}/suyu/keys" 2>/dev/null
|
||||
unlink "${biosPath}/suyu/firmware" 2>/dev/null
|
||||
|
||||
mkdir -p ${biosPath}/suyu
|
||||
mkdir -p "$HOME/.local/share/suyu/keys/"
|
||||
mkdir -p "${storagePath}/suyu/nand/system/Contents/registered/"
|
||||
|
||||
|
@ -151,8 +149,8 @@ Suyu_setEmulationFolder() {
|
|||
}
|
||||
|
||||
#SetLanguage
|
||||
Suyu_setLanguage(){
|
||||
setMSG "Setting Suyu Language"
|
||||
suyu_setLanguage(){
|
||||
setMSG "Setting suyu Language"
|
||||
|
||||
languageOpt="language_index="
|
||||
languageDefaultOpt="language_index\\\\default="
|
||||
|
@ -161,29 +159,29 @@ Suyu_setLanguage(){
|
|||
regionDefaultOpt="region_index\\\\default="
|
||||
newRegionDefaultOpt="region_index\\\\default=false"
|
||||
#TODO: call this somewhere, and input the $language from somewhere (args?)
|
||||
if [[ -f "${Suyu_configFile}" ]]; then
|
||||
if [ ${Suyu_languages[$language]+_} ]; then
|
||||
newLanguageOpt='language_index='"${Suyu_languages[$language]}"
|
||||
newRegionOpt='region_index='"${Suyu_regions[$language]}"
|
||||
changeLine "$languageOpt" "$newLanguageOpt" "$Suyu_configFile"
|
||||
changeLine "$languageDefaultOpt" "$newLanguageDefaultOpt" "$Suyu_configFile"
|
||||
changeLine "$regionOpt" "$newRegionOpt" "$Suyu_configFile"
|
||||
changeLine "$regionDefaultOpt" "$newRegionDefaultOpt" "$Suyu_configFile"
|
||||
if [[ -f "${suyu_configFile}" ]]; then
|
||||
if [ ${suyu_languages[$language]+_} ]; then
|
||||
newLanguageOpt='language_index='"${suyu_languages[$language]}"
|
||||
newRegionOpt='region_index='"${suyu_regions[$language]}"
|
||||
changeLine "$languageOpt" "$newLanguageOpt" "$suyu_configFile"
|
||||
changeLine "$languageDefaultOpt" "$newLanguageDefaultOpt" "$suyu_configFile"
|
||||
changeLine "$regionOpt" "$newRegionOpt" "$suyu_configFile"
|
||||
changeLine "$regionDefaultOpt" "$newRegionDefaultOpt" "$suyu_configFile"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#SetupSaves
|
||||
Suyu_setupSaves() {
|
||||
echo "Begin Suyu save link"
|
||||
suyu_setupSaves() {
|
||||
echo "Begin suyu save link"
|
||||
unlink "${savesPath}/suyu/saves" 2>/dev/null # Fix for previous bad symlink2>/dev/null
|
||||
linkToSaveFolder suyu saves "${storagePath}/suyu/nand/user/save/"
|
||||
linkToSaveFolder suyu profiles "${storagePath}/suyu/nand/system/save/8000000000000010/su/avators/"
|
||||
}
|
||||
|
||||
#SetupStorage
|
||||
Suyu_setupStorage() {
|
||||
echo "Begin Suyu storage config"
|
||||
suyu_setupStorage() {
|
||||
echo "Begin suyu storage config"
|
||||
mkdir -p "${storagePath}/suyu/dump"
|
||||
mkdir -p "${storagePath}/suyu/load"
|
||||
mkdir -p "${storagePath}/suyu/sdmc"
|
||||
|
@ -195,24 +193,24 @@ Suyu_setupStorage() {
|
|||
}
|
||||
|
||||
#WipeSettings
|
||||
Suyu_wipe() {
|
||||
echo "Begin Suyu delete config directories"
|
||||
suyu_wipe() {
|
||||
echo "Begin suyu delete config directories"
|
||||
rm -rf "$HOME/.config/suyu"
|
||||
rm -rf "$HOME/.local/share/suyu"
|
||||
}
|
||||
|
||||
#Uninstall
|
||||
Suyu_uninstall() {
|
||||
echo "Begin Suyu uninstall"
|
||||
rm -rf "$Suyu_emuPath"
|
||||
SuyuEA_uninstall
|
||||
suyu_uninstall() {
|
||||
echo "Begin suyu uninstall"
|
||||
rm -rf "$suyu_emuPath"
|
||||
suyuEA_uninstall
|
||||
}
|
||||
|
||||
|
||||
#Migrate
|
||||
Suyu_migrate() {
|
||||
echo "Begin Suyu Migration"
|
||||
migrationFlag="$HOME/.config/EmuDeck/.${Suyu_emuName}MigrationCompleted"
|
||||
suyu_migrate() {
|
||||
echo "Begin suyu Migration"
|
||||
migrationFlag="$HOME/.config/EmuDeck/.${suyu_emuName}MigrationCompleted"
|
||||
#check if we have a nomigrateflag for $emu
|
||||
if [ ! -f "$migrationFlag" ]; then
|
||||
#suyu flatpak to appimage
|
||||
|
@ -228,7 +226,7 @@ Suyu_migrate() {
|
|||
#move data from hidden folders out to these folders in case the user already put stuff here.
|
||||
origPath="$HOME/.local/share/"
|
||||
|
||||
Suyu_setupStorage
|
||||
suyu_setupStorage
|
||||
|
||||
rsync -av "${origPath}suyu/dump" "${storagePath}/suyu/" && rm -rf "${origPath}suyu/dump"
|
||||
rsync -av "${origPath}suyu/load" "${storagePath}/suyu/" && rm -rf "${origPath}suyu/load"
|
||||
|
@ -239,37 +237,37 @@ Suyu_migrate() {
|
|||
}
|
||||
|
||||
#setABXYstyle
|
||||
Suyu_setABXYstyle() {
|
||||
suyu_setABXYstyle() {
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
#WideScreenOn
|
||||
Suyu_wideScreenOn() {
|
||||
suyu_wideScreenOn() {
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
#WideScreenOff
|
||||
Suyu_wideScreenOff() {
|
||||
suyu_wideScreenOff() {
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
#BezelOn
|
||||
Suyu_bezelOn() {
|
||||
suyu_bezelOn() {
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
#BezelOff
|
||||
Suyu_bezelOff() {
|
||||
suyu_bezelOff() {
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
#finalExec - Extra stuff
|
||||
Suyu_finalize() {
|
||||
echo "Begin Suyu finalize"
|
||||
suyu_finalize() {
|
||||
echo "Begin suyu finalize"
|
||||
}
|
||||
|
||||
Suyu_IsInstalled() {
|
||||
if [ -e "$Suyu_emuPath" ]; then
|
||||
suyu_IsInstalled() {
|
||||
if [ -e "$suyu_emuPath" ]; then
|
||||
echo "true"
|
||||
else
|
||||
echo "false"
|
||||
|
@ -277,16 +275,16 @@ Suyu_IsInstalled() {
|
|||
}
|
||||
|
||||
|
||||
Suyu_resetConfig() {
|
||||
Suyu_init &>/dev/null && echo "true" || echo "false"
|
||||
suyu_resetConfig() {
|
||||
suyu_init &>/dev/null && echo "true" || echo "false"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
### Suyu EA
|
||||
### suyu EA
|
||||
|
||||
SuyuEA_install() {
|
||||
suyuEA_install() {
|
||||
local jwtHost="https://api.suyu-emu.org/jwt/installer/"
|
||||
local suyuEaHost="https://api.suyu-emu.org/downloads/earlyaccess/"
|
||||
local suyuEaMetadata=$(curl -fSs ${suyuEaHost})
|
||||
|
@ -304,8 +302,8 @@ SuyuEA_install() {
|
|||
|
||||
#echo "download ea appimage"
|
||||
|
||||
if safeDownload "suyu-ea" "$fileToDownload" "${SuyuEA_emuPath}" "$showProgress" "Authorization: Bearer ${BEARERTOKEN}"; then
|
||||
chmod +x "$SuyuEA_emuPath"
|
||||
if safeDownload "suyu-ea" "$fileToDownload" "${suyuEA_emuPath}" "$showProgress" "Authorization: Bearer ${BEARERTOKEN}"; then
|
||||
chmod +x "$suyuEA_emuPath"
|
||||
|
||||
cp -v "${EMUDECKGIT}/tools/launchers/suyu.sh" "${toolsPath}/launchers/" &>/dev/null
|
||||
chmod +x "${toolsPath}/launchers/suyu.sh"
|
||||
|
@ -318,17 +316,17 @@ SuyuEA_install() {
|
|||
|
||||
}
|
||||
|
||||
SuyuEA_addToken(){
|
||||
suyuEA_addToken(){
|
||||
local tokenValue=$1
|
||||
local user=""
|
||||
local auth=""
|
||||
|
||||
read -r user auth <<<"$(echo "$tokenValue"==== | fold -w 4 | sed '$ d' | tr -d '\n' | base64 --decode| awk -F":" '{print $1" "$2}')" && SuyuEA_install "$tokenValue" || echo "invalid"
|
||||
read -r user auth <<<"$(echo "$tokenValue"==== | fold -w 4 | sed '$ d' | tr -d '\n' | base64 --decode| awk -F":" '{print $1" "$2}')" && suyuEA_install "$tokenValue" || echo "invalid"
|
||||
}
|
||||
|
||||
|
||||
SuyuEA_IsInstalled() {
|
||||
if [ -e "$SuyuEA_emuPath" ]; then
|
||||
suyuEA_IsInstalled() {
|
||||
if [ -e "$suyuEA_emuPath" ]; then
|
||||
echo "true"
|
||||
else
|
||||
echo "false"
|
||||
|
@ -336,12 +334,12 @@ SuyuEA_IsInstalled() {
|
|||
}
|
||||
|
||||
|
||||
SuyuEA_uninstall() {
|
||||
echo "Begin Suyu EA uninstall"
|
||||
rm -rf "$SuyuEA_emuPath"
|
||||
suyuEA_uninstall() {
|
||||
echo "Begin suyu EA uninstall"
|
||||
rm -rf "$suyuEA_emuPath"
|
||||
}
|
||||
|
||||
Suyu_setResolution(){
|
||||
suyu_setResolution(){
|
||||
|
||||
case $suyuResolution in
|
||||
"720P") multiplier=2; docked="false";;
|
||||
|
@ -351,18 +349,18 @@ Suyu_setResolution(){
|
|||
*) echo "Error"; return 1;;
|
||||
esac
|
||||
|
||||
RetroArch_setConfigOverride "resolution_setup" $multiplier "$Suyu_configFile"
|
||||
RetroArch_setConfigOverride "use_docked_mode" $docked "$Suyu_configFile"
|
||||
RetroArch_setConfigOverride "resolution_setup" $multiplier "$suyu_configFile"
|
||||
RetroArch_setConfigOverride "use_docked_mode" $docked "$suyu_configFile"
|
||||
}
|
||||
|
||||
Suyu_flushEmulatorLauncher(){
|
||||
suyu_flushEmulatorLauncher(){
|
||||
|
||||
|
||||
flushEmulatorLaunchers "suyu"
|
||||
|
||||
}
|
||||
|
||||
Suyu_addESConfig(){
|
||||
suyu_addESConfig(){
|
||||
if [[ $(grep -rnw "$es_systemsFile" -e 'switch') == "" ]]; then
|
||||
xmlstarlet ed -S --inplace --subnode '/systemList' --type elem --name 'system' \
|
||||
--var newSystem '$prev' \
|
||||
|
@ -373,7 +371,7 @@ Suyu_addESConfig(){
|
|||
--subnode '$newSystem' --type elem --name 'commandB' -v "%EMULATOR_RYUJINX% %ROM%" \
|
||||
--insert '$newSystem/commandB' --type attr --name 'label' --value "Ryujinx (Standalone)" \
|
||||
--subnode '$newSystem' --type elem --name 'commandV' -v "%INJECT%=%BASENAME%.esprefix %EMULATOR_YUZU% -f -g %ROM%" \
|
||||
--insert '$newSystem/commandV' --type attr --name 'label' --value "Suyu (Standalone)" \
|
||||
--insert '$newSystem/commandV' --type attr --name 'label' --value "suyu (Standalone)" \
|
||||
--subnode '$newSystem' --type elem --name 'platform' -v 'switch' \
|
||||
--subnode '$newSystem' --type elem --name 'theme' -v 'switch' \
|
||||
-r 'systemList/system/commandB' -v 'command' \
|
||||
|
|
|
@ -15,6 +15,10 @@ Greenlight_install() {
|
|||
else
|
||||
return 0
|
||||
fi
|
||||
|
||||
cp "$EMUDECKGIT/tools/remoteplayclients/Greenlight.sh" "$romsPath/remoteplay"
|
||||
chmod +x "$romsPath/remoteplay/Greenlight.sh"
|
||||
|
||||
}
|
||||
|
||||
# ApplyInitialSettings
|
||||
|
|
|
@ -17,6 +17,9 @@ ShadowPC_install() {
|
|||
else
|
||||
return 0
|
||||
fi
|
||||
|
||||
cp "$EMUDECKGIT/tools/remoteplayclients/ShadowPC.sh" "$romsPath/remoteplay"
|
||||
chmod +x "$romsPath/remoteplay/ShadowPC.sh"
|
||||
}
|
||||
|
||||
# ApplyInitialSettings
|
||||
|
|
|
@ -272,7 +272,7 @@ cloud_sync_upload(){
|
|||
|
||||
if [ "$emuName" = "all" ]; then
|
||||
cloud_sync_save_hash $savesPath
|
||||
("$cloud_sync_bin" copy --fast-list --update --checkers=50 -P -L --exclude=/.fail_upload --exclude=/.fail_download --exclude=/.pending_upload --exclude=/.last_upload "$savesPath" "$cloud_sync_provider":Emudeck/saves/ && (
|
||||
("$cloud_sync_bin" copy --fast-list --update --checkers=50 -P -L --exclude=/.fail_upload --exclude=/.fail_download --exclude=/system/prod.keys --exclude=/system/title.keys --exclude=/.pending_upload --exclude=/.last_upload "$savesPath" "$cloud_sync_provider":Emudeck/saves/ && (
|
||||
local baseFolder="$savesPath/"
|
||||
for folder in $baseFolder*/
|
||||
do
|
||||
|
@ -284,7 +284,7 @@ cloud_sync_upload(){
|
|||
))
|
||||
else
|
||||
cloud_sync_save_hash "$savesPath/$emuName"
|
||||
("$cloud_sync_bin" copy --fast-list --update --checkers=50 -P -L --exclude=/.fail_upload --exclude=/.fail_download --exclude=/.pending_upload --exclude=/.last_upload "$savesPath/$emuName" "$cloud_sync_provider":Emudeck/saves/$emuName/ && echo $timestamp > "$savesPath"/$emuName/.last_upload && rm -rf $savesPath/$emuName/.fail_upload)
|
||||
("$cloud_sync_bin" copy --fast-list --update --checkers=50 -P -L --exclude=/.fail_upload --exclude=/.fail_download --exclude=/system/prod.keys --exclude=/system/title.keys --exclude=/.pending_upload --exclude=/.last_upload "$savesPath/$emuName" "$cloud_sync_provider":Emudeck/saves/$emuName/ && echo $timestamp > "$savesPath"/$emuName/.last_upload && rm -rf $savesPath/$emuName/.fail_upload)
|
||||
fi
|
||||
cloud_sync_unlock
|
||||
fi
|
||||
|
@ -294,7 +294,7 @@ cloud_sync_upload(){
|
|||
|
||||
cloud_sync_download(){
|
||||
local branch=$(cd "$HOME"/.config/EmuDeck/backend && git rev-parse --abbrev-ref HEAD)
|
||||
if [ "$branch" == "early" ] || [ "$branch" == "dev" ] ; then
|
||||
if [[ "$branch" == *"early"* ]] || [ "$branch" == "dev" ] ; then
|
||||
echo "CloudSync Downloading"
|
||||
else
|
||||
return 0
|
||||
|
@ -318,7 +318,7 @@ cloud_sync_download(){
|
|||
|
||||
if [ -f "$savesPath/.hash" ] && [ "$hash" != "$hashCloud" ]; then
|
||||
|
||||
"$cloud_sync_bin" copy --fast-list --checkers=50 -P -L --exclude=/.fail_upload --exclude=/.fail_download --exclude=/.pending_upload --exclude=/.last_upload "$cloud_sync_provider":Emudeck/saves/ "$savesPath" && (
|
||||
"$cloud_sync_bin" copy --fast-list --checkers=50 -P -L --exclude=/.fail_upload --exclude=/.fail_download --exclude=/system/prod.keys --exclude=/system/title.keys --exclude=/.pending_upload --exclude=/.last_upload "$cloud_sync_provider":Emudeck/saves/ "$savesPath" && (
|
||||
local baseFolder="$savesPath/"
|
||||
for folder in $baseFolder*/
|
||||
do
|
||||
|
@ -336,7 +336,7 @@ cloud_sync_download(){
|
|||
else
|
||||
|
||||
#We check the hashes
|
||||
cloud_sync_save_hash "$emuName"
|
||||
cloud_sync_save_hash "$savesPath/$emuName"
|
||||
local filePath="$savesPath/$emuName/.hash"
|
||||
local hash=$(cat "$savesPath/$emuName/.hash")
|
||||
|
||||
|
@ -345,7 +345,7 @@ cloud_sync_download(){
|
|||
hashCloud=$(cat "$savesPath/$emuName/.hash")
|
||||
|
||||
if [ -f "$savesPath/$emuName/.hash" ] && [ "$hash" != "$hashCloud" ];then
|
||||
"$cloud_sync_bin" copy --fast-list --update --checkers=50 -P -L --exclude=/.fail_upload --exclude=/.fail_download --exclude=/.pending_upload --exclude=/.last_upload "$cloud_sync_provider":Emudeck/saves/$emuName/ "$savesPath"/$emuName/ && echo $timestamp > "$savesPath"/$emuName/.last_download && rm -rf $savesPath/$emuName/.fail_download
|
||||
"$cloud_sync_bin" copy --fast-list --update --checkers=50 -P -L --exclude=/.fail_upload --exclude=/.fail_download --exclude=/system/prod.keys --exclude=/system/title.keys --exclude=/.pending_upload --exclude=/.last_upload "$cloud_sync_provider":Emudeck/saves/$emuName/ "$savesPath"/$emuName/ && echo $timestamp > "$savesPath"/$emuName/.last_download && rm -rf $savesPath/$emuName/.fail_download
|
||||
else
|
||||
echo "up to date"
|
||||
fi
|
||||
|
|
27
functions/ToolScripts/emuDeckNetPlay.sh
Normal file
27
functions/ToolScripts/emuDeckNetPlay.sh
Normal file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash
|
||||
|
||||
# netplay -true false
|
||||
# netplayIP
|
||||
# netplayHost - true false
|
||||
# netplayType - local inet
|
||||
# netplayCMD - local inet
|
||||
|
||||
#Searchs for a device with the netplay port open
|
||||
|
||||
netplaySetIP(){
|
||||
localIP=$(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1)
|
||||
segment=$(echo $localIP | awk -F '.' '{print $1"."$2"."$3}')
|
||||
subnet="$segment".
|
||||
port=55435
|
||||
for i in {2..255}; do
|
||||
{
|
||||
ip="$subnet$i"
|
||||
echo $ip
|
||||
if timeout 0.05 bash -c "echo > /dev/tcp/$ip/$port"; then
|
||||
setSetting netplayCMD "'-C $ip'"
|
||||
break
|
||||
fi
|
||||
}
|
||||
done
|
||||
|
||||
}
|
|
@ -66,7 +66,6 @@ SRM_init(){
|
|||
mkdir -p "$HOME/.config/steam-rom-manager/userData/"
|
||||
rsync -avhp --mkpath "$EMUDECKGIT/configs/steam-rom-manager/userData/userConfigurations.json" "$HOME/.config/steam-rom-manager/userData/" --backup --suffix=.bak
|
||||
rsync -avhp --mkpath "$EMUDECKGIT/configs/steam-rom-manager/userData/userSettings.json" "$HOME/.config/steam-rom-manager/userData/" --backup --suffix=.bak
|
||||
rsync -avhp --mkpath "$EMUDECKGIT/configs/steam-rom-manager/userData/controllerTemplates.json" "$HOME/.config/steam-rom-manager/userData/" --backup --suffix=.bak
|
||||
#cp "$EMUDECKGIT/configs/steam-rom-manager/userData/userConfigurations.json" "$HOME/.config/steam-rom-manager/userData/userConfigurations.json"
|
||||
#cp "$EMUDECKGIT/configs/steam-rom-manager/userData/userSettings.json" "$HOME/.config/steam-rom-manager/userData/userSettings.json"
|
||||
sleep 3
|
||||
|
@ -91,16 +90,7 @@ SRM_init(){
|
|||
|
||||
curl -L "$SRM_customVariablesURL" -o "$HOME/.config/steam-rom-manager/userData/customVariables.json"
|
||||
|
||||
if [ -d "${HOME}/.local/share/Steam" ]; then
|
||||
STEAMPATH="${HOME}/.local/share/Steam"
|
||||
elif [ -d "${HOME}/.steam/steam" ]; then
|
||||
STEAMPATH="${HOME}/.steam/steam"
|
||||
else
|
||||
echo "Steam install not found"
|
||||
fi
|
||||
|
||||
sed -i "s|/home/deck/.steam/steam|${STEAMPATH}|g" "$HOME/.config/steam-rom-manager/userData/controllerTemplates.json"
|
||||
|
||||
SRM_addControllerTemplate
|
||||
SRM_flushToolLauncher
|
||||
SRM_addSteamInputProfiles
|
||||
addSteamInputCustomIcons
|
||||
|
@ -447,9 +437,25 @@ SRM_rolledbackcreateParsers(){
|
|||
|
||||
}
|
||||
|
||||
SRM_addControllerTemplate(){
|
||||
|
||||
mkdir -p "$HOME/.config/steam-rom-manager/userData/"
|
||||
rsync -avhp --mkpath "$EMUDECKGIT/configs/steam-rom-manager/userData/controllerTemplates.json" "$HOME/.config/steam-rom-manager/userData/" --backup --suffix=.bak
|
||||
|
||||
if [ -d "${HOME}/.local/share/Steam" ]; then
|
||||
STEAMPATH="${HOME}/.local/share/Steam"
|
||||
elif [ -d "${HOME}/.steam/steam" ]; then
|
||||
STEAMPATH="${HOME}/.steam/steam"
|
||||
else
|
||||
echo "Steam install not found"
|
||||
fi
|
||||
|
||||
sed -i "s|/home/deck/.steam/steam|${STEAMPATH}|g" "$HOME/.config/steam-rom-manager/userData/controllerTemplates.json"
|
||||
|
||||
}
|
||||
|
||||
SRM_addSteamInputProfiles(){
|
||||
setMSG 'Steam Rom Manager - Adding Steam input profiles'
|
||||
cp "$EMUDECKGIT/$SRM_userData_directory/controllerTemplates.json" "$SRM_userData_configDir/controllerTemplates.json"
|
||||
rm -rf "$HOME/.steam/steam/controller_base/templates/ares_controller_config.vdf"
|
||||
rm -rf "$HOME/.steam/steam/controller_base/templates/cemu_controller_config.vdf"
|
||||
rm -rf "$HOME/.steam/steam/controller_base/templates/citra_controller_config.vdf"
|
||||
|
@ -477,7 +483,6 @@ SRM_addSteamInputProfiles(){
|
|||
# ln -s "$HOME/.config/EmuDeck/backend/configs/steam-input/emudeck_controller_steamdeck.vdf" "$HOME/.steam/steam/controller_base/templates/rmg_controller_config.vdf"
|
||||
}
|
||||
|
||||
|
||||
SRM_setEnv(){
|
||||
|
||||
setMSG 'Steam Rom Manager - Set enviroment'
|
||||
|
@ -503,12 +508,10 @@ SRM_resetConfig(){
|
|||
SRM_init
|
||||
#Reseting launchers
|
||||
#SRM_resetLaunchers
|
||||
SRM_flushToolLauncher
|
||||
echo "true"
|
||||
}
|
||||
|
||||
SRM_IsInstalled(){
|
||||
|
||||
if [ -f "$SRM_toolPath" ]; then
|
||||
echo "true"
|
||||
else
|
||||
|
|
|
@ -61,9 +61,11 @@ source "$EMUDECKGIT"/functions/ToolScripts/emuDeckInstallHomebrewGames.sh
|
|||
source "$EMUDECKGIT"/functions/ToolScripts/emuDeckMigration.sh
|
||||
source "$EMUDECKGIT"/functions/ToolScripts/emuDeckCopyGames.sh
|
||||
source "$EMUDECKGIT"/functions/ToolScripts/emuDecky.sh
|
||||
source "$EMUDECKGIT"/functions/ToolScripts/emuDeckNetPlay.sh
|
||||
|
||||
|
||||
#emuscripts
|
||||
source "$EMUDECKGIT"/functions/EmuScripts/emuDeckSuyu.sh
|
||||
source "$EMUDECKGIT"/functions/EmuScripts/emuDeckYuzu.sh
|
||||
source "$EMUDECKGIT"/functions/EmuScripts/emuDeckCemu.sh
|
||||
source "$EMUDECKGIT"/functions/EmuScripts/emuDeckCemuProton.sh
|
||||
|
|
|
@ -71,7 +71,7 @@ cloudSyncHealth(){
|
|||
|
||||
|
||||
#Test emulators
|
||||
miArray=("Cemu" "citra" "dolphin" "duckstation" "MAME" "melonds" "mgba" "pcsx2" "ppsspp" "primehack" "retroarch" "rpcs3" "scummvm" "Vita3K" "yuzu" "ryujinx" )
|
||||
miArray=("Cemu" "citra" "dolphin" "duckstation" "MAME" "melonds" "mgba" "pcsx2" "ppsspp" "primehack" "retroarch" "rpcs3" "scummvm" "Vita3K" "yuzu" "ryujinx" "BigPEmu" )
|
||||
|
||||
# echo -e "<span class=\"yellow\">Testing uploading</span>"
|
||||
for elemento in "${miArray[@]}"; do
|
||||
|
|
|
@ -1,23 +1,24 @@
|
|||
#!/bin/bash
|
||||
createDesktopIcons(){
|
||||
local sandbox=""
|
||||
local desktop=$(xdg-user-dir DESKTOP)
|
||||
|
||||
if command -v apt-get >/dev/null; then
|
||||
sandbox=" --no-sandbox"
|
||||
fi
|
||||
|
||||
#We delete the old icons
|
||||
rm -rf ~/Desktop/EmuDeckUninstall.desktop 2>/dev/null
|
||||
rm -rf ~/Desktop/EmuDeckCHD.desktop 2>/dev/null
|
||||
rm -rf ~/Desktop/EmuDeck.desktop 2>/dev/null
|
||||
rm -rf ~/Desktop/EmuDeckSD.desktop 2>/dev/null
|
||||
rm -rf ~/Desktop/EmuDeckBinUpdate.desktop 2>/dev/null
|
||||
rm -rf ~/Desktop/EmuDeckApp.desktop 2>/dev/null
|
||||
rm -rf ~/Desktop/EmuDeckAppImage.desktop 2>/dev/null
|
||||
rm -rf ~/Desktop/EmuDeckAppImage.desktop 2>/dev/null
|
||||
rm -rf "$desktop/EmuDeckUninstall.desktop" 2>/dev/null
|
||||
rm -rf "$desktop/EmuDeckCHD.desktop" 2>/dev/null
|
||||
rm -rf "$desktop/EmuDeck.desktop" 2>/dev/null
|
||||
rm -rf "$desktop/EmuDeckSD.desktop" 2>/dev/null
|
||||
rm -rf "$desktop/EmuDeckBinUpdate.desktop" 2>/dev/null
|
||||
rm -rf "$desktop/EmuDeckApp.desktop" 2>/dev/null
|
||||
rm -rf "$desktop/EmuDeckAppImage.desktop" 2>/dev/null
|
||||
rm -rf "$desktop/EmuDeckAppImage.desktop" "2>/dev/null
|
||||
|
||||
#New EmuDeck icon, same place so people won't get confused
|
||||
createDesktopShortcut "$HOME/Desktop/EmuDeck.desktop" \
|
||||
createDesktopShortcut "$desktop/EmuDeck.desktop" \
|
||||
"EmuDeck" \
|
||||
"$HOME/Applications/EmuDeck.AppImage$sandbox" \
|
||||
"false"
|
||||
|
|
|
@ -717,7 +717,7 @@ flushEmulatorLaunchers(){
|
|||
chmod +x "${toolsPath}/launchers/"*
|
||||
done
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
addSteamInputCustomIcons() {
|
||||
|
@ -749,9 +749,11 @@ check_internet_connection(){
|
|||
}
|
||||
|
||||
zipLogs() {
|
||||
local desktop=$(xdg-user-dir DESKTOP)
|
||||
|
||||
logsFolder="$HOME/emudeck/logs"
|
||||
settingsFile="$HOME/emudeck/settings.sh"
|
||||
zipOutput="$HOME/Desktop/emudeck_logs.zip"
|
||||
zipOutput="$desktop/emudeck_logs.zip"
|
||||
|
||||
# Comprime los archivos en un archivo zip
|
||||
zip -rj "$zipOutput" "$logsFolder" "$settingsFile"
|
||||
|
@ -941,7 +943,23 @@ addProtonLaunch(){
|
|||
function emulatorInit(){
|
||||
local emuName=$1
|
||||
#isLatestVersionGH "$emuName"
|
||||
cloud_sync_downloadEmu "$emuName" && cloud_sync_startService
|
||||
#NetPlay
|
||||
if [ "$emuName" = 'retroarch' ]; then
|
||||
if [ "$netPlay" == "true" ]; then
|
||||
#Looks for devices listening
|
||||
setSetting netplayCMD "-H"
|
||||
sleep 2
|
||||
netplaySetIP
|
||||
else
|
||||
setSetting netplayCMD "' '"
|
||||
cloud_sync_downloadEmu "$emuName" && cloud_sync_startService
|
||||
fi
|
||||
source $HOME/.config/EmuDeck/backend/functions/all.sh
|
||||
fi
|
||||
|
||||
if [ "$emuName" != 'retroarch' ]; then
|
||||
cloud_sync_downloadEmu "$emuName" && cloud_sync_startService
|
||||
fi
|
||||
}
|
||||
|
||||
function jsonToBashVars(){
|
||||
|
@ -954,6 +972,7 @@ function jsonToBashVars(){
|
|||
setSetting doInstallPCSX2QT "$(jq .installEmus.pcsx2.status $json)"
|
||||
setSetting doInstallRPCS3 "$(jq .installEmus.rpcs3.status $json)"
|
||||
setSetting doInstallYuzu "$(jq .installEmus.yuzu.status $json)"
|
||||
setSetting doInstallSuyu "$(jq .installEmus.suyu.status $json)"
|
||||
setSetting doInstallCitra "$(jq .installEmus.citra.status $json)"
|
||||
setSetting doInstallDuck "$(jq .installEmus.duckstation.status $json)"
|
||||
setSetting doInstallCemu "$(jq .installEmus.cemu.status $json)"
|
||||
|
@ -983,6 +1002,7 @@ function jsonToBashVars(){
|
|||
setSetting doSetupPCSX2QT "$(jq .overwriteConfigEmus.pcsx2.status $json)"
|
||||
setSetting doSetupRPCS3 "$(jq .overwriteConfigEmus.rpcs3.status $json)"
|
||||
setSetting doSetupYuzu "$(jq .overwriteConfigEmus.yuzu.status $json)"
|
||||
setSetting doSetupSuyu "$(jq .overwriteConfigEmus.suyu.status $json)"
|
||||
setSetting doSetupCitra "$(jq .overwriteConfigEmus.citra.status $json)"
|
||||
setSetting doSetupDuck "$(jq .overwriteConfigEmus.duckstation.status $json)"
|
||||
setSetting doSetupCemu "$(jq .overwriteConfigEmus.cemu.status $json)"
|
||||
|
@ -1027,7 +1047,7 @@ function jsonToBashVars(){
|
|||
|
||||
#CloudSync
|
||||
setSetting cloud_sync_provider "$(jq .cloudSync $json)"
|
||||
setSetting cloudSyncStatus "$(jq .cloudSyncStatus $json)"
|
||||
setSetting cloud_sync_status "$(jq .cloudSyncStatus $json)"
|
||||
|
||||
#Resolutions
|
||||
setSetting dolphinResolution "$(jq .resolutions.dolphin $json)"
|
||||
|
@ -1079,6 +1099,16 @@ function jsonToBashVars(){
|
|||
setSetting androidStorage "$(jq .android.storage $json)"
|
||||
setSetting androidStoragePath "$(jq .android.storagePath $json)"
|
||||
|
||||
#We store the patreon token on install so we can create it for the first time
|
||||
storePatreonToken "$(jq .patreonToken $json)"
|
||||
}
|
||||
|
||||
function storePatreonToken(){
|
||||
local token=$1
|
||||
echo "$token" > "$savesPath/.token"
|
||||
if [ -f $cloud_sync_bin ]; then
|
||||
"$cloud_sync_bin" --progress copyto -L --fast-list --checkers=50 --transfers=50 --low-level-retries 1 --retries 1 "$savesPath/.token" "$cloud_sync_provider":Emudeck/saves/.token
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
@ -1099,4 +1129,3 @@ function controllerLayout_BAYX(){
|
|||
melonDS_setBAYXstyle
|
||||
RMG_setBAYXstyle
|
||||
}
|
||||
|
||||
|
|
BIN
icons/suyu.png
Normal file
BIN
icons/suyu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.3 KiB |
26
import.sh
26
import.sh
|
@ -151,6 +151,32 @@ if [ "$size" -gt 4096 ]; then
|
|||
fi
|
||||
|
||||
|
||||
if [ -d "$origin/EmuDeck/tools/downloaded_media" ]; then
|
||||
text="$(printf "<b>ESDE Media folder found in your drive!</b>\nLet's import that one too")"
|
||||
zenity --question \
|
||||
--title="EmuDeck Import tool" \
|
||||
--width=450 \
|
||||
--cancel-label="No" \
|
||||
--ok-label="Import my ESDE media" \
|
||||
--text="${text}" 2>/dev/null
|
||||
ans=$?
|
||||
if [ $ans -eq 0 ]; then
|
||||
|
||||
checkSpace "$origin/EmuDeck/tools/downloaded_media/" "$toolsPath"
|
||||
|
||||
for entry in "$origin/EmuDeck/tools/downloaded_media/"*
|
||||
do
|
||||
rsync -ravL --ignore-existing --progress "$entry" "$emulationPath/bios/" | awk -f $HOME/.config/EmuDeck/backend/rsync.awk | zenity --progress --text="Importing $entry to $emulationPath/tools/downloaded_media/" --title="Importing $entry..." --width=400 --percentage=0 --auto-close
|
||||
done
|
||||
|
||||
else
|
||||
echo "User selected no import: ESDE media"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if [ -d "$origin/EmuDeck/roms" ]; then
|
||||
text="$(printf "<b>Roms folder found in your drive!</b>\nLet's import that one too")"
|
||||
zenity --question \
|
||||
|
|
112
install-unstable.sh
Normal file
112
install-unstable.sh
Normal file
|
@ -0,0 +1,112 @@
|
|||
#!/bin/bash
|
||||
|
||||
linuxID=$(lsb_release -si)
|
||||
|
||||
if [ $linuxID != "ChimeraOS" ]; then
|
||||
|
||||
echo "installing EmuDeck"
|
||||
|
||||
elif [ $linuxID != "SteamOS" ]; then
|
||||
|
||||
|
||||
zenityAvailable=$(command -v zenity &> /dev/null && echo true)
|
||||
|
||||
if [[ $zenityAvailable = true ]];then
|
||||
read -r PASSWD <<< "$(zenity --password --title="Password Entry" --text="Enter you user sudo password to install required depencies" 2>/dev/null)"
|
||||
echo "$PASSWD" | sudo -v -S
|
||||
ans=$?
|
||||
if [[ $ans == 1 ]]; then
|
||||
#incorrect password
|
||||
read -r PASSWD <<< "$(zenity --password --title="Password Entry" --text="Password was incorrect. Try again. (Did you remember to set a password for linux before running this?)" 2>/dev/null)"
|
||||
echo "$PASSWD" | sudo -v -S
|
||||
ans=$?
|
||||
if [[ $ans == 1 ]]; then
|
||||
text="$(printf "<b>Password not accepted.</b>\n Expert mode tools which require a password will not work. Disabling them.")"
|
||||
zenity --error \
|
||||
--title="EmuDeck" \
|
||||
--width=400 \
|
||||
--text="${text}" 2>/dev/null
|
||||
setSetting doInstallPowertools false
|
||||
setSetting doInstallGyro false
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
SCRIPT_DIR=$( cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
|
||||
|
||||
function log_err {
|
||||
echo "$@" >&2
|
||||
}
|
||||
|
||||
function script_failure {
|
||||
log_err "An error occurred:$([ -z "$1" ] && " on line $1" || "(unknown)")."
|
||||
log_err "Installation failed!"
|
||||
exit
|
||||
}
|
||||
|
||||
#trap 'script_failure $LINENO' ERR
|
||||
|
||||
echo "Installing EmuDeck dependencies..."
|
||||
|
||||
|
||||
if command -v apt-get >/dev/null; then
|
||||
echo "Installing packages with apt..."
|
||||
DEBIAN_DEPS="jq zenity flatpak unzip bash libfuse2 git rsync whiptail"
|
||||
|
||||
sudo killall apt apt-get
|
||||
sudo apt-get -y update
|
||||
sudo apt-get -y install $DEBIAN_DEPS
|
||||
elif command -v pacman >/dev/null; then
|
||||
echo "Installing packages with pacman..."
|
||||
ARCH_DEPS="steam jq zenity flatpak unzip bash fuse2 git rsync whiptail"
|
||||
|
||||
sudo pacman --noconfirm -Syu
|
||||
sudo pacman --noconfirm -S $ARCH_DEPS
|
||||
elif command -v dnf >/dev/null; then
|
||||
echo "Installing packages with dnf..."
|
||||
FEDORA_DEPS="jq zenity flatpak unzip bash fuse git rsync newt"
|
||||
|
||||
sudo dnf -y upgrade
|
||||
sudo dnf -y install $FEDORA_DEPS
|
||||
elif command -v zypper >/dev/null; then
|
||||
echo "Installing packages with zypper..."
|
||||
SUSE_DEPS="steam jq zenity flatpak unzip bash libfuse2 git rsync whiptail"
|
||||
|
||||
sudo zypper --non-interactive up
|
||||
sudo zypper --non-interactive install $SUSE_DEPS
|
||||
elif command -v xbps-install >/dev/null; then
|
||||
echo "Installing packages with xbps..."
|
||||
VOID_DEPS="steam jq zenity flatpak unzip bash fuse git rsync whiptail"
|
||||
|
||||
sudo xbps-install -Syu
|
||||
sudo xbps-install -Sy $VOID_DEPS
|
||||
else
|
||||
log_err "Your Linux distro $linuxID is not supported by this script. We invite to open a PR or help us with adding your OS to this script. https://github.com/dragoonDorise/EmuDeck/issues"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# this could be replaced to immediately start the EmuDeck setup script
|
||||
|
||||
echo "All prerequisite packages have been installed. EmuDeck will be installed now!"
|
||||
|
||||
fi
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
report_error() {
|
||||
FAILURE="$(caller): ${BASH_COMMAND}"
|
||||
echo "Something went wrong!"
|
||||
echo "Error at ${FAILURE}"
|
||||
}
|
||||
|
||||
trap report_error ERR
|
||||
|
||||
EMUDECK_GITHUB_URL="https://api.github.com/repos/EmuDeck/emudeck-electron-early-unstable/releases/latest"
|
||||
EMUDECK_URL="$(curl -s ${EMUDECK_GITHUB_URL} | grep -E 'browser_download_url.*AppImage' | cut -d '"' -f 4)"
|
||||
|
||||
mkdir -p ~/Applications
|
||||
curl -L "${EMUDECK_URL}" -o ~/Applications/EmuDeck.AppImage 2>&1 | stdbuf -oL tr '\r' '\n' | sed -u 's/^ *\([0-9][0-9]*\).*\( [0-9].*$\)/\1\n#Download Speed\:\2/' | zenity --progress --title "Downloading EmuDeck" --width 600 --auto-close --no-cancel 2>/dev/null
|
||||
chmod +x ~/Applications/EmuDeck.AppImage
|
||||
nohup ~/Applications/EmuDeck.AppImage
|
||||
exit
|
14
setup.sh
14
setup.sh
|
@ -212,6 +212,10 @@ if [ $doInstallYuzu == "true" ]; then
|
|||
echo "Yuzu_install"
|
||||
Yuzu_install
|
||||
fi
|
||||
if [ $doInstallSuyu == "true" ]; then
|
||||
echo "suyu_install"
|
||||
suyu_install
|
||||
fi
|
||||
if [ $doInstallRyujinx == "true" ]; then
|
||||
echo "Ryujinx_install"
|
||||
Ryujinx_install
|
||||
|
@ -335,6 +339,10 @@ if [ "$doSetupYuzu" == "true" ]; then
|
|||
echo "Yuzu_init"
|
||||
Yuzu_init
|
||||
fi
|
||||
if [ "$doSetupSuyu" == "true" ]; then
|
||||
echo "suzu_init"
|
||||
suzu_init
|
||||
fi
|
||||
if [ "$doSetupRyujinx" == "true" ]; then
|
||||
echo "Ryujinx_init"
|
||||
Ryujinx_init
|
||||
|
@ -406,12 +414,6 @@ if [ "$doSetupXenia" == "true" ]; then
|
|||
fi
|
||||
|
||||
|
||||
|
||||
#Fixes repeated Symlink for older installations
|
||||
# Yuzu_finalize move into update / init to clean up install script
|
||||
|
||||
|
||||
|
||||
#
|
||||
##
|
||||
##End of installation
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/bin/bash
|
||||
source $HOME/.config/EmuDeck/backend/functions/all.sh
|
||||
emulatorInit "retroarch"
|
||||
/usr/bin/flatpak run org.libretro.RetroArch "${@}"
|
||||
/usr/bin/flatpak run org.libretro.RetroArch $netplayCMD "${@}"
|
||||
rm -rf "$savesPath/.gaming"
|
27
tools/launchers/suyu.sh
Executable file
27
tools/launchers/suyu.sh
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash
|
||||
source $HOME/.config/EmuDeck/backend/functions/all.sh
|
||||
emulatorInit "suyu"
|
||||
emuName="suyu" #parameterize me
|
||||
emufolder="$HOME/Applications" # has to be applications for ES-DE to find it
|
||||
|
||||
#find full path to emu executable
|
||||
exe=$(find $emufolder -iname "${emuName}*.AppImage" | sort -n | cut -d' ' -f 2- | tail -n 1 2>/dev/null)
|
||||
|
||||
echo $exe
|
||||
|
||||
#if appimage doesn't exist fall back to flatpak.
|
||||
if [[ $exe == '' ]]; then
|
||||
#flatpak
|
||||
flatpakApp=$(flatpak list --app --columns=application | grep 'citra')
|
||||
exe="/usr/bin/flatpak run "$flatpakApp
|
||||
else
|
||||
#make sure that file is executable
|
||||
chmod +x $exe
|
||||
fi
|
||||
|
||||
#run the executable with the params.
|
||||
#Fix first '
|
||||
param="${@}"
|
||||
param=$(echo $param | sed -e 's/^/"/' -e 's/$/"/')
|
||||
eval "${exe} ${param}"
|
||||
rm -rf "$savesPath/.gaming"
|
4
tools/remoteplayclients/Greenlight.sh
Normal file
4
tools/remoteplayclients/Greenlight.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
source $HOME/.config/EmuDeck/backend/functions/all.sh
|
||||
|
||||
"$romsPath/remoteplay/Greenlight.AppImage"
|
4
tools/remoteplayclients/ShadowPC.sh
Normal file
4
tools/remoteplayclients/ShadowPC.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
source $HOME/.config/EmuDeck/backend/functions/all.sh
|
||||
|
||||
"$romsPath/remoteplay/ShadowPC.AppImage"
|
2
tools/remoteplayclients/Spotify.sh
Normal file
2
tools/remoteplayclients/Spotify.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
/usr/bin/flatpak run --branch=stable --arch=x86_64 --file-forwarding com.spotify.Client @@u @@
|
2
tools/remoteplayclients/SteamLink.sh
Normal file
2
tools/remoteplayclients/SteamLink.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
/usr/bin/flatpak run --branch=stable --arch=x86_64 --file-forwarding com.valvesoftware.SteamLink @@u @@
|
|
@ -450,6 +450,11 @@ fi
|
|||
rm -rf $HOME/.steam/steam/controller_base/templates/emudeck_frontend_controller_switch_pro.vdf &> /dev/null
|
||||
rm -rf $HOME/.steam/steam/controller_base/templates/emudeck_frontend_controller_xbox360.vdf &> /dev/null
|
||||
rm -rf $HOME/.steam/steam/controller_base/templates/emudeck_frontend_controller_xboxone.vdf &> /dev/null
|
||||
rm -rf $HOME/.steam/steam/controller_base/templates/emudeck_frontend_controller_xboxelite.vdf &> /dev/null
|
||||
rm -rf $HOME/.steam/steam/controller_base/templates/emudeck_controller_xboxelite.vdf &> /dev/null
|
||||
rm -rf $HOME/.steam/steam/controller_base/templates/emudeck_frontend_controller_steamcontroller.vdf &> /dev/null
|
||||
rm -rf $HOME/.steam/steam/controller_base/templates/emudeck_controller_steamcontroller.vdf &> /dev/null
|
||||
|
||||
rm -rf $HOME/.steam/steam/controller_base/templates/emudeck_steam_deck_light_gun_controls.vdf &> /dev/null
|
||||
|
||||
find "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons" -name 'EmuDeck*' -exec rm {} \;
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
"pcsx2": { "id": "pcsx2", "code": "PCSX2QT", "version": 1 },
|
||||
"rpcs3": { "id": "rpcs3", "code": "RPCS3", "version": 0 },
|
||||
"yuzu": { "id": "yuzu", "code": "Yuzu", "version": 1 },
|
||||
"ryujinx": { "id": "ryujinx", "code": "Ryujinx", "version": 3 },
|
||||
"ryujinx": { "id": "ryujinx", "code": "Ryujinx", "version": 4 },
|
||||
"xemu": { "id": "xemu", "code": "Xemu", "version": 0 },
|
||||
"cemu": { "id": "cemu", "code": "Cemu", "version": 0 },
|
||||
"srm": { "id": "srm", "code": "SRM", "version": 7 },
|
||||
"rmg": { "id": "rmg", "code": "RMG", "version": 0 },
|
||||
"esde": { "id": "esde", "code": "ESDE", "version": 2 },
|
||||
"pegasus": { "id": "pegasus", "code": "Pegasus", "version": 3 },
|
||||
"esde": { "id": "esde", "code": "ESDE", "version": 3 },
|
||||
"pegasus": { "id": "pegasus", "code": "Pegasus", "version": 2 },
|
||||
"mame": { "id": "mame", "code": "MAME", "version": 0 },
|
||||
"vita3k": { "id": "vita3k", "code": "Vita3k", "version": 0 },
|
||||
"scummvm": { "id": "scummvm", "code": "ScummVM", "version": 0 },
|
||||
|
|
Loading…
Reference in a new issue