Compare commits

...

33 commits

Author SHA1 Message Date
Griffin 8bb227d2e4
Merge 832e9eca19 into 73f38af040 2024-05-09 20:03:03 -05:00
Dragoon Dorise 73f38af040 snes 2024-05-10 00:02:59 +02:00
Dragoon Dorise b3af3ae4d4 genesis 2024-05-10 00:02:18 +02:00
Dragoon Dorise b027aaafe3 all systems but ps3 2024-05-10 00:00:31 +02:00
Dragoon Dorise cc58433b05 snes test 2024-05-09 23:57:47 +02:00
Dragoon Dorise d9d3a826e4 no ps3 2024-05-09 23:56:23 +02:00
Dragoon Dorise e78606b819 no ps3 2024-05-09 23:53:34 +02:00
Dragoon Dorise 3085288717 all games 2024-05-09 23:50:36 +02:00
Dragoon Dorise e79b1aff03 fixes [] 2024-05-09 23:48:16 +02:00
Dragoon Dorise 7c61546295 snes test 2024-05-09 23:36:13 +02:00
Dragoon Dorise 7810440101 using jq 2024-05-09 23:00:25 +02:00
Dragoon Dorise 007275f6c7 file count gamelist 2024-05-09 22:54:52 +02:00
Dragoon Dorise 48e07bfc1f paths 2024-05-09 21:39:56 +02:00
Dragoon Dorise c49a0eb284
generateGameLists (#1218) 2024-05-09 21:18:16 +02:00
Dragoon Dorise 69a5c9a98e flatpakupdate 2024-05-09 19:35:35 +02:00
Griffin 832e9eca19
missing bangs 2024-02-25 23:21:46 +00:00
Griffin d38b6b815e
fix shellcheck 2024-02-23 23:48:56 +00:00
Griffin cf34759aca
shellcheck fix 2024-02-23 23:46:37 +00:00
Griffin 3b6cd232c5
Merge branch 'dev' into singe 2024-02-23 15:43:00 -08:00
Griffin 34c6697911
impliment uninstall 2024-02-23 23:42:38 +00:00
Griffin d537f4b32b
remove singe launcher 2024-02-23 23:39:21 +00:00
Griffin 69c797b62b
just remove the srm parser 2024-02-23 23:35:47 +00:00
Griffin 743652fd2f
syntax error: 2024-02-23 23:27:49 +00:00
Griffin 6a2de5f985
add file fixing 2024-02-23 23:18:23 +00:00
Griffin 1701037b02
begin config updates 2024-02-23 22:56:12 +00:00
Griffin 178daf9f04
sh launcher 2024-02-22 09:45:02 +00:00
Griffin 4c1d8b6fb2
install start 2024-02-22 09:33:20 +00:00
Griffin 97ab76b635
add helperfunctions.sh 2024-02-21 16:38:31 +00:00
Griffin eb9c9058e9
add cliinstall 2024-02-21 16:30:33 +00:00
Griffin 56c86ded30
add settings 2024-02-21 16:26:14 +00:00
Griffin 5455e2820a
add setup 2024-02-21 16:20:45 +00:00
Griffin 9d55356e2a
start uninstall 2024-02-21 16:17:33 +00:00
Griffin 38265bf3df
srm parser 2024-02-21 16:12:41 +00:00
10 changed files with 287 additions and 21 deletions

View 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"
}

View file

@ -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"
}

View 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"
}

View file

@ -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

View 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 "]"
}

View file

@ -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)"

View file

@ -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

View file

@ -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'

View file

@ -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
#

View file

@ -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