mirror of
https://github.com/dragoonDorise/EmuDeck.git
synced 2024-05-20 13:17:55 -04:00
Compare commits
33 commits
f06bf4fc86
...
8bb227d2e4
Author | SHA1 | Date | |
---|---|---|---|
8bb227d2e4 | |||
73f38af040 | |||
b3af3ae4d4 | |||
b027aaafe3 | |||
cc58433b05 | |||
d9d3a826e4 | |||
e78606b819 | |||
3085288717 | |||
e79b1aff03 | |||
7c61546295 | |||
7810440101 | |||
007275f6c7 | |||
48e07bfc1f | |||
c49a0eb284 | |||
69a5c9a98e | |||
832e9eca19 | |||
d38b6b815e | |||
cf34759aca | |||
3b6cd232c5 | |||
34c6697911 | |||
d537f4b32b | |||
69c797b62b | |||
743652fd2f | |||
6a2de5f985 | |||
1701037b02 | |||
178daf9f04 | |||
4c1d8b6fb2 | |||
97ab76b635 | |||
eb9c9058e9 | |||
56c86ded30 | |||
5455e2820a | |||
9d55356e2a | |||
38265bf3df |
155
functions/EmuScripts/emuDeckHypseusSinge.sh
Normal file
155
functions/EmuScripts/emuDeckHypseusSinge.sh
Normal file
|
@ -0,0 +1,155 @@
|
|||
#!/bin/bash
|
||||
#variables
|
||||
HypseusSinge_emuName="Hypseus Singe"
|
||||
HypseusSinge_emuType="$emuDeckEmuTypeAppImage"
|
||||
HypseusSinge_emuPath="$HOME/Applications/hypseus-singe/Hypseus_Singe-x86_64.AppImage"
|
||||
# HypseusSinge_configFile="$HOME/.config/"
|
||||
|
||||
#Install
|
||||
HypseusSinge_install() {
|
||||
echo "Begin Hypseus Singe Install"
|
||||
local showProgress="$1"
|
||||
|
||||
if installEmuBI "$HypseusSinge_emuName" "$(getReleaseURLGH "DirtBagXon/hypseus-singe" ".tar.gz")" "" "tar.gz" "$showProgress"; then
|
||||
tar -xf "$HOME/Applications/hypseus-singe*.tar.gz" -C "$HOME/Applications/" && rm -rf "$HOME/Applications/hypseus-singe*.tar.gz"
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
#ApplyInitialSettings
|
||||
HypseusSinge_init() {
|
||||
setMSG "Initializing $HypseusSinge_emuName settings."
|
||||
|
||||
if [ ! -e "$HypseusSinge_configFile" ]; then
|
||||
mv -f "$HypseusSinge_configFile" "$HypseusSinge_configFile.bak"
|
||||
fi
|
||||
|
||||
if ! "$HypseusSinge_emuPath" -testconfig; then # try to generate the config file. if it fails, insert one as a fallback.
|
||||
#fallback
|
||||
configEmuAI "$HypseusSinge_emuName" "config" "$HOME/.config/PCSX2" "$EMUDECKGIT/configs/HypseusSinge/.config/PCSX2" "true"
|
||||
fi
|
||||
|
||||
HypseusSinge_setEmulationFolder
|
||||
HypseusSinge_setupStorage
|
||||
HypseusSinge_setupSaves
|
||||
HypseusSinge_setupControllers
|
||||
HypseusSinge_setCustomizations
|
||||
HypseusSinge_setRetroAchievements
|
||||
|
||||
}
|
||||
|
||||
#update
|
||||
HypseusSinge_update(){
|
||||
echo "Begin HypseusSinge update"
|
||||
|
||||
configEmuAI "HypseusSinge" "config" "$HOME/.config/HypseusSinge" "$EMUDECKGIT/configs/HypseusSinge"
|
||||
|
||||
HypseusSinge_setEmulationFolder
|
||||
HypseusSinge_setupStorage
|
||||
HypseusSinge_setupSaves #?
|
||||
HypseusSinge_finalize
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ConfigurePaths
|
||||
HypseusSinge_setEmulationFolder(){
|
||||
setMSG "Setting $HypseusSinge_emuName Emulation Folder"
|
||||
|
||||
#create laserdisc folder if missing - new folder
|
||||
if [ ! -e "${romsPath}/laserdisc/" ]; then
|
||||
mkdir -p $romsPath/laserdisc/
|
||||
fi
|
||||
|
||||
#Setup symlink for bios
|
||||
mkdir -p "${biosPath}/hypseus-singe/"
|
||||
mkdir -p "$HOME/Applications/hypseus-singe/roms/"
|
||||
ln -sn "$HOME/Applications/hypseus-singe/roms/" "${biosPath}/hypseus-singe/bios"
|
||||
}
|
||||
|
||||
#SetupSaves
|
||||
HypseusSinge_setupSaves(){
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
|
||||
#SetupStorage
|
||||
HypseusSinge_setupStorage(){
|
||||
|
||||
#Populate empty file for ES-DE
|
||||
fileDir="${romsPath}/laserdisc/*.daphne"
|
||||
for file in $fileDir; {
|
||||
if [ ! -e "$file/$file" ]; then
|
||||
touch "$file/$file";
|
||||
fi
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
#WipeSettings
|
||||
HypseusSinge_wipe(){
|
||||
echo "Begin HypseusSinge delete config directories"
|
||||
rm -rf "$HOME/.config/HypseusSinge"
|
||||
}
|
||||
|
||||
|
||||
#Uninstall
|
||||
HypseusSinge_uninstall(){
|
||||
echo "Begin HypseusSinge uninstall"
|
||||
rm -rf "$HOME/Applications/hypseus-singe"
|
||||
}
|
||||
|
||||
#Migrate
|
||||
HypseusSinge_migrate(){
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
|
||||
#setABXYstyle
|
||||
HypseusSinge_setABXYstyle(){
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
#WideScreenOn
|
||||
HypseusSinge_wideScreenOn(){
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
#WideScreenOff
|
||||
HypseusSinge_wideScreenOff(){
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
#BezelOn
|
||||
HypseusSinge_bezelOn(){
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
#BezelOff
|
||||
HypseusSinge_bezelOff(){
|
||||
echo "NYI"
|
||||
}
|
||||
|
||||
#finalExec - Extra stuff
|
||||
HypseusSinge_finalize(){
|
||||
echo "Begin HypseusSinge finalize"
|
||||
}
|
||||
|
||||
HypseusSinge_IsInstalled(){
|
||||
if [ -e "$HypseusSinge_emuPath/HypseusSinge" ]; then
|
||||
echo "true"
|
||||
else
|
||||
echo "false"
|
||||
fi
|
||||
}
|
||||
|
||||
HypseusSinge_resetConfig(){
|
||||
HypseusSinge_init &>/dev/null && echo "true" || echo "false"
|
||||
}
|
||||
|
||||
|
||||
HypseusSinge_setResolution(){
|
||||
echo "NYI"
|
||||
}
|
|
@ -1,20 +1,20 @@
|
|||
#!/bin/bash
|
||||
|
||||
BINUP_toolName="EmuDeck Tool Updater"
|
||||
BINUP_toolName="EmuDeck AppImage Updater"
|
||||
BINUP_toolType="script"
|
||||
BINUP_toolPath="${toolsPath}/binupdate/binupdate.sh"
|
||||
BINUP_Shortcutlocation="$HOME/Desktop/EmuDeckBinUpdate.desktop"
|
||||
|
||||
|
||||
|
||||
BINUP_install(){
|
||||
|
||||
BINUP_install(){
|
||||
|
||||
rsync -avhp --mkpath "$EMUDECKGIT/tools/binupdate" "$toolsPath/"
|
||||
|
||||
chmod +x "$BINUP_toolPath"
|
||||
#update the paths in the script
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/roms|${romsPath}|g" "$BINUP_toolPath"
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/tools|${toolsPath}|g" "$BINUP_toolPath"
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/tools|${toolsPath}|g" "$BINUP_toolPath"
|
||||
|
||||
#createDesktopShortcut "$BINUP_Shortcutlocation" "$BINUP_toolName" "bash $BINUP_toolPath" "True"
|
||||
}
|
||||
|
|
19
functions/ToolScripts/emuDeckFlatpakUP.sh
Normal file
19
functions/ToolScripts/emuDeckFlatpakUP.sh
Normal file
|
@ -0,0 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
FlatpakUP_toolName="EmuDeck Flatpak Updater"
|
||||
FlatpakUP_toolType="script"
|
||||
FlatpakUP_toolPath="${toolsPath}/flatpakupdate/flatpakupdate.sh"
|
||||
|
||||
|
||||
|
||||
FlatpakUp_install(){
|
||||
|
||||
rsync -avhp --mkpath "$EMUDECKGIT/tools/flatpakupdate" "$toolsPath/"
|
||||
|
||||
chmod +x "$FlatpakUP_toolPath"
|
||||
#update the paths in the script
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/roms|${romsPath}|g" "$FlatpakUP_toolPath"
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/tools|${toolsPath}|g" "$FlatpakUP_toolPath"
|
||||
|
||||
#createDesktopShortcut "$FlatpakUP_Shortcutlocation" "$FlatpakUP_toolName" "bash $FlatpakUP_toolPath" "True"
|
||||
}
|
|
@ -45,6 +45,7 @@ source "$EMUDECKGIT"/functions/createFolders.sh
|
|||
source "$EMUDECKGIT"/functions/runSRM.sh
|
||||
source "$EMUDECKGIT"/functions/appImageInit.sh
|
||||
source "$EMUDECKGIT"/functions/autofix.sh
|
||||
source "$EMUDECKGIT"/functions/generateGameLists.sh
|
||||
|
||||
|
||||
#toolScripts
|
||||
|
@ -54,6 +55,7 @@ source "$EMUDECKGIT"/functions/ToolScripts/emuDeckPlugins.sh
|
|||
source "$EMUDECKGIT"/functions/ToolScripts/emuDeckSRM.sh
|
||||
source "$EMUDECKGIT"/functions/ToolScripts/emuDeckCHD.sh
|
||||
source "$EMUDECKGIT"/functions/ToolScripts/emuDeckBINUP.sh
|
||||
source "$EMUDECKGIT"/functions/ToolScripts/emuDeckFlatpakUP.sh
|
||||
source "$EMUDECKGIT"/functions/ToolScripts/emuDeckCloudBackup.sh
|
||||
source "$EMUDECKGIT"/functions/ToolScripts/emuDeckCloudSync.sh
|
||||
source "$EMUDECKGIT"/functions/ToolScripts/emuDeckRemotePlayWhatever.sh
|
||||
|
@ -90,6 +92,7 @@ source "$EMUDECKGIT"/functions/EmuScripts/emuDeckBigPEmu.sh
|
|||
source "$EMUDECKGIT"/functions/EmuScripts/emuDeckares.sh
|
||||
source "$EMUDECKGIT"/functions/EmuScripts/emuDeckFlycast.sh
|
||||
source "$EMUDECKGIT"/functions/EmuScripts/emuDeckSupermodel.sh
|
||||
source "$EMUDECKGIT"/functions/EmuScripts/emuDeckHypseusSinge.sh
|
||||
source "$EMUDECKGIT"/functions/EmuScripts/emuDeckModel2.sh
|
||||
|
||||
#remoteplayclientscripts
|
||||
|
|
62
functions/generateGameLists.sh
Normal file
62
functions/generateGameLists.sh
Normal file
|
@ -0,0 +1,62 @@
|
|||
#!/bin/bash
|
||||
|
||||
generateGameLists() {
|
||||
ROMS_DIR="$romsPath/snes"
|
||||
|
||||
# Initialize an empty array in JSON format
|
||||
printf "["
|
||||
|
||||
first_system=true
|
||||
|
||||
for system_dir in "$ROMS_DIR"*; do
|
||||
if [[ -d "$system_dir" && -f "$system_dir/metadata.txt" ]]; then
|
||||
|
||||
# Ignore directories named "ps3"
|
||||
if [[ "$system_dir" == *"/ps3" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
file_count=$(find "$system_dir" -type f | wc -l)
|
||||
if [[ "$file_count" -le 2 ]]; then
|
||||
continue # Skip this system_dir if there are 2 or fewer files
|
||||
fi
|
||||
|
||||
collection=$(grep 'collection:' "$system_dir/metadata.txt" | cut -d ':' -f 2- | awk '{$1=$1};1')
|
||||
shortname=$(grep 'shortname:' "$system_dir/metadata.txt" | cut -d ':' -f 2- | awk '{$1=$1};1')
|
||||
launcher=$(grep 'launch:' "$system_dir/metadata.txt" | cut -d ':' -f 2- | awk '{$1=$1};1')
|
||||
extensions=$(grep 'extensions:' "$system_dir/metadata.txt" | cut -d ':' -f 2- | tr ',' ' ' | awk '{$1=$1};1')
|
||||
|
||||
if $first_system; then
|
||||
first_system=false
|
||||
else
|
||||
printf ","
|
||||
fi
|
||||
|
||||
# Start system object
|
||||
printf '{ "title": "%s", "id": "%s", "launcher": "%s", "games": [' "$collection" "$shortname" "$launcher"
|
||||
|
||||
# Use jq to create the JSON objects for each game and print them directly
|
||||
first_game=true
|
||||
find "$system_dir" -type f | while read -r file_path; do
|
||||
filename=$(basename "$file_path")
|
||||
extension="${filename##*.}"
|
||||
name="${filename%.*}"
|
||||
if [[ "$extensions" =~ "$extension" ]]; then
|
||||
if $first_game; then
|
||||
first_game=false
|
||||
else
|
||||
printf ","
|
||||
fi
|
||||
jq -n --arg name "$name" --arg filename "$file_path" '{"name": $name, "filename": $filename}'
|
||||
fi
|
||||
done
|
||||
|
||||
# End games array and system object
|
||||
printf "] }"
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
# End of JSON array
|
||||
printf "]"
|
||||
}
|
|
@ -296,6 +296,7 @@ function createUpdateSettingsFile(){
|
|||
defaultSettingsList+=("doSetupMGBA=true")
|
||||
defaultSettingsList+=("doSetupFlycast=true")
|
||||
defaultSettingsList+=("doSetupSupermodel=true")
|
||||
defaultSettingsList+=("doSetupHypseusSinge=true")
|
||||
defaultSettingsList+=("doInstallSRM=true")
|
||||
defaultSettingsList+=("doInstallESDE=true")
|
||||
defaultSettingsList+=("doInstallPegasus=false")
|
||||
|
@ -320,6 +321,7 @@ function createUpdateSettingsFile(){
|
|||
defaultSettingsList+=("doInstallMGBA=false")
|
||||
defaultSettingsList+=("doInstallFlycast=true")
|
||||
defaultSettingsList+=("doInstallSupermodel=true")
|
||||
defaultSettingsList+=("doInstallHypseusSinge=true")
|
||||
defaultSettingsList+=("doInstallCHD=true")
|
||||
defaultSettingsList+=("doInstallPowertools=false")
|
||||
defaultSettingsList+=("doInstallGyro=false")
|
||||
|
@ -811,6 +813,7 @@ getEmuRepo() {
|
|||
"dolphin") repo="shiiion/dolphin" ;;
|
||||
"duckstation") repo="stenzek/duckstation" ;;
|
||||
"flycast") repo="flyinghead/flycast" ;;
|
||||
"HypseusSinge") repo="DirtBagXon/hypseus-singe" ;;
|
||||
"MAME") repo="mamedev/mame" ;;
|
||||
"melonDS") repo="melonDS-emu/melonDS" ;;
|
||||
"mgba") repo="mgba-emu/mgba" ;;
|
||||
|
@ -994,6 +997,7 @@ function jsonToBashVars(){
|
|||
setSetting doInstallSupermodel "$(jq .installEmus.supermodel.status $json)"
|
||||
setSetting doInstallModel2 "$(jq .installEmus.model2.status $json)"
|
||||
setSetting doInstallBigPEmu "$(jq .installEmus.bigpemu.status $json)"
|
||||
setSetting doInstallHypseusSinge "$(jq .installEmus.hypseussinge.status $json)"
|
||||
|
||||
|
||||
#Setup Emus
|
||||
|
@ -1024,6 +1028,7 @@ function jsonToBashVars(){
|
|||
setSetting doSetupSupermodel "$(jq .overwriteConfigEmus.supermodel.status $json)"
|
||||
setSetting doSetupModel2 "$(jq .overwriteConfigEmus.model2.status $json)"
|
||||
setSetting doSetupBigPEmu "$(jq .overwriteConfigEmus.bigpemu.status $json)"
|
||||
setSetting doSetupHypseusSinge "$(jq .overwriteConfigEmus.hypseussinge.status $json)"
|
||||
|
||||
#Frontends
|
||||
setSetting doSetupSRM "$(jq .overwriteConfigEmus.srm.status $json)"
|
||||
|
|
|
@ -61,6 +61,7 @@ setDefaults(){
|
|||
setSetting doSetupRMG false
|
||||
setSetting doSetupScummVM true
|
||||
setSetting doSetupSupermodel true
|
||||
setSetting doSetupHypseusSinge true
|
||||
setSetting doSetupVita3K true
|
||||
setSetting doSetupBigPEmu true
|
||||
setSetting doSetupESDE true
|
||||
|
@ -85,6 +86,7 @@ setDefaults(){
|
|||
setSetting doInstallScummVM true
|
||||
setSetting doInstallBigPEmu true
|
||||
setSetting doInstallSupermodel true
|
||||
setSetting doInstallHypseusSinge true
|
||||
setSetting doInstallGyro false
|
||||
setSetting doInstallVita3K true
|
||||
setSetting doInstallSRM true
|
||||
|
|
|
@ -28,6 +28,7 @@ doSetupMGBA=true
|
|||
doSetupBigPEmu=true
|
||||
doSetupFlycast=true
|
||||
doSetupSupermodel=true
|
||||
doSetupHypseusSinge=true
|
||||
doSetupModel2=true
|
||||
|
||||
#Install all systems by default
|
||||
|
@ -60,6 +61,7 @@ doInstallPowertools=false
|
|||
doInstallGyro=false
|
||||
doInstallHomeBrewGames=false
|
||||
doInstallModel2=false
|
||||
doInstallHypseusSinge=false
|
||||
|
||||
installString='Installing'
|
||||
|
||||
|
|
9
setup.sh
9
setup.sh
|
@ -272,6 +272,10 @@ if [ $doInstallSupermodel == "true" ]; then
|
|||
echo "Supermodel_install"
|
||||
Supermodel_install
|
||||
fi
|
||||
if [ $doInstallHypseusSinge == "true" ]; then
|
||||
echo "HypseusSinge_install"
|
||||
HypseusSinge_install
|
||||
fi
|
||||
#Xenia - We need to install Xenia after creating the Roms folders!
|
||||
if [ "$doInstallXenia" == "true" ]; then
|
||||
echo "Xenia_install"
|
||||
|
@ -395,6 +399,10 @@ if [ "$doSetupSupermodel" == "true" ]; then
|
|||
echo "Supermodel_init"
|
||||
Supermodel_init
|
||||
fi
|
||||
if [ "$doSetupHypseusSinge" == "true" ]; then
|
||||
echo "HypseusSinge_init"
|
||||
HypseusSinge_init
|
||||
fi
|
||||
if [ "$doSetupModel2" == "true" ]; then
|
||||
echo "model2_init"
|
||||
Model2_init
|
||||
|
@ -423,6 +431,7 @@ fi
|
|||
|
||||
#Always install
|
||||
BINUP_install
|
||||
FlatpakUP_install
|
||||
CHD_install
|
||||
|
||||
#
|
||||
|
|
43
uninstall.sh
43
uninstall.sh
|
@ -11,6 +11,7 @@ doUninstallDolphin=true
|
|||
doUninstallDuck=true
|
||||
doUninstallESDE=true
|
||||
doUninstallFlycast=true
|
||||
doUninstallHypseusSinge=true
|
||||
doUninstallMame=true
|
||||
doUninstallmelonDS=true
|
||||
doUninstallMGBA=true
|
||||
|
@ -156,23 +157,24 @@ fi
|
|||
6 "Dolphin" \
|
||||
7 "Duckstation" \
|
||||
8 "Flycast" \
|
||||
9 "Mame" \
|
||||
10 "melonDS" \
|
||||
11 "mGBA" \
|
||||
12 "Model2" \
|
||||
13 "PCSX2" \
|
||||
14 "PPSSPP" \
|
||||
15 "PrimeHack" \
|
||||
16 "RetroArch"\
|
||||
17 "RMG" \
|
||||
18 "RPCS3" \
|
||||
19 "Ryujinx" \
|
||||
20 "ScummVM" \
|
||||
21 "Supermodel" \
|
||||
22 "Vita3K" \
|
||||
23 "Xemu" \
|
||||
24 "Xenia" \
|
||||
25 "Yuzu" )
|
||||
9 "Hypseu Singe" \
|
||||
10 "Mame" \
|
||||
11 "melonDS" \
|
||||
12 "mGBA" \
|
||||
13 "Model2" \
|
||||
14 "PCSX2" \
|
||||
15 "PPSSPP" \
|
||||
16 "PrimeHack" \
|
||||
17 "RetroArch"\
|
||||
18 "RMG" \
|
||||
19 "RPCS3" \
|
||||
20 "Ryujinx" \
|
||||
21 "ScummVM" \
|
||||
22 "Supermodel" \
|
||||
23 "Vita3K" \
|
||||
24 "Xemu" \
|
||||
25 "Xenia" \
|
||||
26 "Yuzu" )
|
||||
|
||||
ans=$?
|
||||
|
||||
|
@ -202,6 +204,9 @@ fi
|
|||
if [[ "$emusToUninstall" == *"Flycast"* ]]; then
|
||||
doUninstallFlycast=false
|
||||
fi
|
||||
if [[ "$emusToUninstall" == *"Hypseus Singe"* ]]; then
|
||||
doUninstallHypseusSinge=false
|
||||
fi
|
||||
if [[ "$emusToUninstall" == *"Mame"* ]]; then
|
||||
doUninstallMame=false
|
||||
fi
|
||||
|
@ -304,6 +309,10 @@ fi
|
|||
flatpak uninstall org.flycast.Flycast -y
|
||||
rm -rf $HOME/.var/app/org.flycast.Flycast &> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallHypseusSinge" == true ]]; then
|
||||
rm -rf $HOME/Applications/hypseus-singe &> /dev/null
|
||||
rm -rf $HOME/.hypseus &> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallMame" == true ]]; then
|
||||
flatpak uninstall org.mamedev.MAME -y
|
||||
# MAME creates both of these folders but only uses ~/.mame
|
||||
|
|
Loading…
Reference in a new issue