CLI mode barebones

This commit is contained in:
Rodrigo 2023-09-07 20:23:57 +02:00
parent c26d4a6f63
commit 39e88d51bb
30 changed files with 1191 additions and 1277 deletions

View file

@ -51,32 +51,32 @@ elif [ $linuxID != "SteamOS" ]; then
if command -v apt-get >/dev/null; then
echo "Installing packages with apt..."
DEBIAN_DEPS="jq zenity flatpak unzip bash libfuse2 git rsync"
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"
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"
FEDORA_DEPS="jq zenity flatpak unzip bash fuse git rsync whiptail"
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"
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"
VOID_DEPS="steam jq zenity flatpak unzip bash fuse git rsync whiptail"
sudo xbps-install -Syu
sudo xbps-install -Sy $VOID_DEPS

File diff suppressed because it is too large Load diff

149
setup.sh
View file

@ -2,22 +2,11 @@
MSG=$HOME/.config/EmuDeck/msg.log
echo "0" > "$MSG"
#
##
## Pid Lock...
##
#
devMode=$1
#We force the UI mode if we don't get any parameter for legacy installations
if [ -z "$2" ]; then
uiMode='zenity'
else
uiMode="$2"
fi
mkdir -p "$HOME/.config/EmuDeck"
PIDFILE="$HOME/.config/EmuDeck/install.pid"
@ -49,14 +38,14 @@ function finish {
echo "Script terminating. Exit code $?"
finished=true
rm "$MSG"
killall zenity
}
trap finish EXIT
#
##
## Init... This code is needed for both Zenity and non Zenity modes
## Init...
##
#
@ -108,71 +97,6 @@ curl -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-
# I think this should just be in the source, so there's one spot for initialization. hrm, no i'm wrong. Here is best.
EMUDECKGIT="$HOME/.config/EmuDeck/backend"
#
##
echo 'Downloading files...'
##
#
#
##
## Branch to download
##
#
case $devMode in
"BETA") branch="beta" ;;
"beta") branch="beta" ;;
"DEV") branch="dev" ;;
"dev") branch="dev" ;;
*) branch="main" ;;
esac
echo $branch > "$HOME/.config/EmuDeck/branch.txt"
if [[ "$uiMode" == 'zenity' || "$uiMode" == 'whiptail' ]]; then
#We create all the needed folders for installation
if [[ ! -e $EMUDECKGIT/.git/config ]]; then
mkdir -p "$EMUDECKGIT"
#Cloning EmuDeck files
git clone --depth 1 --no-single-branch https://github.com/dragoonDorise/EmuDeck.git "$EMUDECKGIT"
fi
git status "$EMUDECKGIT" --porcelain
if [[ ! $noPull == true ]]; then
cd "$EMUDECKGIT"
git fetch origin && git checkout origin/$branch && git reset --hard origin/$branch && git clean -ffdx
fi
fi
#
##
## UI Selection
##
#
if [ "$uiMode" == 'zenity' ]; then
source "$EMUDECKGIT/zenity-setup.sh"
elif [ "$uiMode" == 'whiptail' ]; then
source "$EMUDECKGIT/whiptail-setup.sh"
else
echo "Electron UI"
#App Image detection & launch so older user can update just using the same old .desktop
# if [[ ! -e "~/Applications/EmuDeck.AppImage" ]]; then
# mkdir -p ~/Applications
# curl -L "$(curl -s https://api.github.com/repos/EmuDeck/emudeck-electron/releases/latest | grep -E 'browser_download_url.*AppImage' | cut -d '"' -f 4)" > ~/Applications/EmuDeck.AppImage && chmod +x ~/Applications/EmuDeck.AppImage && kill -15 $(pidof emudeck) && ~/Applications/EmuDeck.AppImage && exit
# fi
#Nova fix'
fi
#
##
@ -208,16 +132,6 @@ testRealDeck
echo "Setup Settings File: "
createUpdateSettingsFile
#Support for non-holo based OS's
#Only on Zenity for now
if [ "$uiMode" == 'zenity' ]; then
if [[ $isRealDeck == false ]]; then
echo "OS_setupPrereqsArch"
OS_setupPrereqsArch
fi
fi
#create folders after tests!
createFolders
@ -520,30 +434,6 @@ fi
#
# FILE="$HOME/.config/Ryujinx/system/prod.keys"
# if [ -f "$FILE" ]; then
# echo -e "" 2>/dev/null
# else
# if [ "$zenity" == true ]; then
# text="$(printf "<b>Ryujinx is not configured</b>\nYou need to copy your Keys to: \n${biosPath}/ryujinx/keys\n\nMake sure to copy your files inside the folders. <b>Do not overwrite them. You might need to install your firmware using the Ryujinx Install Firmware option inside the emulator</b>")"
# zenity --error \
# --title="EmuDeck" \
# --width=400 \
# --text="${text}" 2>/dev/null
# else
# echo "$text"
# fi
# fi
#SaveSync
# if [[ ! $branch == "main" ]]; then
# if [[ $doSetupSaveSync == "true" ]]; then
#
# $HOME/Desktop/EmuDeckSaveSync.desktop
#
# fi
# fi
#EmuDeck updater on gaming Mode
mkdir -p "${toolsPath}/updater"
@ -580,39 +470,4 @@ for entry in "$HOME"/emudeck/custom_scripts/*.sh
do
bash $entry
done
if [ "$uiMode" == 'zenity' ]; then
text="$(printf "<b>Done!</b>\n\nRemember to add your games here:\n<b>${romsPath}</b>\nAnd your Bios (PS1, PS2, Yuzu, Ryujinx) here:\n<b>${biosPath}</b>\n\nOpen Steam Rom Manager on your Desktop to add your games to your SteamUI Interface.\n\nThere is a bug in RetroArch that if you are using Bezels you can not set save configuration files unless you close your current game. Use overrides for your custom configurations or use expert mode to disabled them\n\nIf you encounter any problem please visit our Discord:\n<b>https://discord.gg/b9F7GpXtFP</b>\n\nTo Update EmuDeck in the future, just run this App again.\n\nEnjoy!")"
zenity --question \
--title="EmuDeck" \
--width=450 \
--ok-label="Open Steam Rom Manager" \
--cancel-label="Exit" \
--text="${text}" 2>/dev/null
ans=$?
if [ $ans -eq 0 ]; then
kill -15 "$(pidof steam)"
"${toolsPath}/srm/Steam-ROM-Manager.AppImage"
zenity --question \
--title="EmuDeck" \
--width=350 \
--text="Return to Game Mode?" \
--ok-label="Yes" \
--cancel-label="No" 2>/dev/null
ans2=$?
if [ $ans2 -eq 0 ]; then
qdbus org.kde.Shutdown /Shutdown org.kde.Shutdown.logout
fi
exit
else
exit
echo -e "Exit" 2>/dev/null
fi
elif [ "$uiMode" == 'whiptail' ]; then
echo "Finished on Whiptail"
sleep 9999
fi
} | tee "${LOGFILE}" 2>&1

View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your aspect ratio for your Dreamcast, Nintendo 64 and Playstation 1" \
--radiolist "Choose your aspect ratio for your Dreamcast, Nintendo 64 and Playstation 1 Games" 10 80 4 \
"43" "4:3 Original TV Aspect Ratio" ON \
"169" "16:9 Widescreen using WideScreen hacks" OFF \
3>&1 1<&2 2>&3)
case $question in
[43]* ) break;;
[169]* ) break;;
* ) echo "Please answer what AR you want for 3D.";;
esac
done
if [ $question == 43 ]; then
setSetting arClassic3D 43
else
setSetting arClassic3D 169
fi

View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your aspect ratio for your GameCube Games" \
--radiolist "Choose your aspect ratio for your GameCube Games" 10 80 4 \
"43" "4:3 Original TV Aspect Ratio" ON \
"169" "16:9 Widescreen using WideScreen hacks" OFF \
3>&1 1<&2 2>&3)
case $question in
[43]* ) break;;
[169]* ) break;;
* ) echo "Please select your AR for Dolphin.";;
esac
done
if [ $question == 43 ]; then
setSetting arDolphin 43
else
setSetting arDolphin 169
fi

View file

@ -0,0 +1,31 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your aspect ratio for your Classic Nintendo Systems" \
--radiolist "Choose your aspect ratio for your Classic Nintendo Systems" 10 80 4 \
"43" "4:3 Original TV Aspect Ratio" ON \
"87" "8:7 Real SNES Internal resolution" OFF \
"32" "3:2 Less black bars, but distorted. Not recommended" OFF \
3>&1 1<&2 2>&3)
case $question in
[43]* ) break;;
[87]* ) break;;
[32]* ) break;;
* ) echo "Please select your AR for Nintendo.";;
esac
done
case $question in
43)
setSetting arSnes 43
;;
87)
setSetting arSnes 87
;;
32)
setSetting arSnes 32
;;
*)
echo "default"
;;
esac

View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your aspect ratio for your Classic Sega Systems" \
--radiolist "Choose your aspect ratio for your Classic Sega Systems" 10 80 4 \
"43" "4:3 Original TV Aspect Ratio" ON \
"32" "3:2 Less black bars, slight distortion " OFF \
3>&1 1<&2 2>&3)
case $question in
[43]* ) break;;
[32]* ) break;;
* ) echo "Please select your AR for Sega.";;
esac
done
if [ $question == 43 ]; then
setSetting arSega 43
else
setSetting arSega 32
fi

19
whiptail/CHDToolPage.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 80 4 \
"INTERNAL" "We will create your rom folders on your Android's Internal Storage" OFF \
"SDCARD" "If your device has a SDCARD " OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi

19
whiptail/ChangeLogPage.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 80 4 \
"INTERNAL" "We will create your rom folders on your Android's Internal Storage" OFF \
"SDCARD" "If your device has a SDCARD " OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi

19
whiptail/CheckBiosPage.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 80 4 \
"INTERNAL" "We will create your rom folders on your Android's Internal Storage" OFF \
"SDCARD" "If your device has a SDCARD " OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi

View file

@ -0,0 +1,192 @@
#!/bin/bash
while true; do
device=$(whiptail --title "Choose your Device" \
--radiolist "We tailor the experience depending on the selected device, each device has its own special configuration, different emulators and adjusted bezels." 10 80 4 \
"RP2" "Retroid Pocket 2" OFF \
"RP2+" "Retroid Pocket 2+" OFF \
"ODIN" "ODIN Base or Pro" OFF \
"ODINLITE" "ODIN Lite" OFF \
"RG552" "Anbernic RG552" OFF \
"ANDROID" "Other Android Device" OFF \
3>&1 1<&2 2>&3)
case $device in
[RP2]* ) break;;
[RP2+]* ) break;;
[ODIN]* ) break;;
[ODINLITE]* ) break;;
[RG552]* ) break;;
[ANDROID]* ) break;;
* ) echo "Please choose your device.";;
esac
done
case $device in
"RP2")
setSetting hasSDCARD true
setSetting devicePower 0
setSetting deviceAR 43
setSetting android 9
;;
"RP2+")
setSetting hasSDCARD true
setSetting devicePower 1
setSetting deviceAR 43
setSetting android 10
;;
"ODIN")
setSetting hasSDCARD true
setSetting devicePower 2
setSetting deviceAR 169
setSetting android 10
;;
"ODINLITE")
setSetting hasSDCARD true
setSetting devicePower 2
setSetting deviceAR 169
setSetting android 11
;;
"RG552")
setSetting hasSDCARD true
setSetting devicePower 0
setSetting deviceAR 53
while true; do
androidV=$(whiptail --title "What Android Version are you running?" \
--radiolist "What Android Version are you running?" 10 80 4 \
"7" "Android 7. The version that comes preinstalled" ON \
"9" "Android 9" OFF \
"11" "Android 11" OFF \
3>&1 1<&2 2>&3)
case $androidV in
[7]* ) break;;
[9]* ) break;;
[11]* ) break;;
* ) echo "What android version do you have.";;
esac
done
case $androidV in
"7")
setSetting android 7
;;
"9")
setSetting android 9
;;
"11")
setSetting android 11
;;
*)
echo "default"
;;
esac
;;
"ANDROID")
while true; do
androidV=$(whiptail --title "What Android Version are you running?" \
--radiolist "What Android Version are you running?" 10 80 4 \
"10" "Android 10 or older" OFF \
"11" "Android 11 or newer" OFF \
3>&1 1<&2 2>&3)
case $androidV in
[10]* ) break;;
[11]* ) break;;
* ) echo "What android version do you have.";;
esac
done
case $androidV in
"10")
setSetting android 10
;;
"11")
setSetting android 11
;;
*)
echo "default"
;;
esac
while true; do
sdcardV=$(whiptail --title "Does your device have a SD Card?" \
--radiolist "Does your device have a SD Card?" 10 80 4 \
"YES" "Yes" OFF \
"NO" "No" OFF \
3>&1 1<&2 2>&3)
case $sdcardV in
[YES]* ) break;;
[NO]* ) break;;
* ) echo "Do you have a SD Card?";;
esac
done
case $sdcardV in
"YES")
setSetting hasSDCARD true
;;
"NO")
setSetting hasSDCARD false
;;
*)
echo "default"
;;
esac
while true; do
cpuV=$(whiptail --title "What is your Android CPU power grade?" \
--radiolist "What is your Android CPU power grade?" 10 80 4 \
"HIGH" "Snapdragon 845, Dimensity D900 or superior" OFF \
"MEDIUM" "It's a midrage Android Phone" OFF \
"LOW" "It's an entry level Android Phone" OFF \
3>&1 1<&2 2>&3)
case $cpuV in
[HIGH]* ) break;;
[MEDIUM]* ) break;;
[LOW]* ) break;;
* ) echo "What CPU do you have..";;
esac
done
case $cpuV in
"HIGH")
setSetting devicePower 2
;;
"MEDIUM")
setSetting devicePower 1
;;
"LOW")
setSetting devicePower 0
;;
*)
echo "default"
;;
esac
while true; do
arV=$(whiptail --title "What is your Android Device Aspect Ratio?" \
--radiolist "What is your Android Device Aspect Ratio?" 10 80 4 \
"169" "16:9" OFF \
"43" "4:3" OFF \
"OTHER" "Another" OFF \
3>&1 1<&2 2>&3)
case $arV in
[169]* ) break;;
[43]* ) break;;
[OTHER]* ) break;;
* ) echo "What AR do you have..";;
esac
done
case $arV in
"169")
setSetting deviceAR 169
;;
"43")
setSetting deviceAR 43
;;
"OTHER")
setSetting deviceAR 0
;;
*)
echo "default"
;;
esac
;;
*)
echo "default"
;;
esac

19
whiptail/EmuGuidePage.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 80 4 \
"INTERNAL" "We will create your rom folders on your Android's Internal Storage" OFF \
"SDCARD" "If your device has a SDCARD " OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi

View file

@ -0,0 +1,85 @@
#!/bin/bash
setSetting doSetupRA false
setSetting doSetupDolphin false
setSetting doSetupPCSX2 false
setSetting doSetupCitra false
setSetting doSetupDuck false
setSetting doSetupPPSSPP false
setSetting doSetupSkyline false
setSetting doSetupDrastic false
case $devicePower in
"0")
emulators==$(whiptail --title "Overwrrite Emulators Settings?" \
--checklist "If you want to keep your custom setting for some emus, leave them unchecked. Checked means we will overwrite your configuration" 10 80 4 \
"RA" "RetroArch - Classic 2D and 3D Games" ON \
"DOLPHIN" "Dolphin - GameCube and Wii" ON \
"DUCK" "Duckstation - Playstation 1" ON \
"AETHERSX2" "AetherSX2 - Playstation 2" ON \
"CITRA" "Citra - Nintendo 3DS" ON \
"PPSSPP" "PPSSPP - Sony PSP" ON \
"SKYLINE" "PPSSPP - Nintendo Switch" ON \
3>&1 1<&2 2>&3)
;;
"1")
emulators==$(whiptail --title "Overwrrite Emulators Settings?" \
--checklist "If you want to keep your custom setting for some emus, leave them unchecked. Checked means we will overwrite your configuration" 10 80 4 \
"RA" "RetroArch - Classic 2D and 3D Games" ON \
"DOLPHIN" "Dolphin - GameCube and Wii" ON \
"DUCK" "Duckstation - Playstation 1" ON \
"AETHERSX2" "AetherSX2 - Playstation 2" ON \
"CITRA" "Citra - Nintendo 3DS" ON \
"PPSSPP" "PPSSPP - Sony PSP" ON \
"SKYLINE" "PPSSPP - Nintendo Switch" ON \
3>&1 1<&2 2>&3)
;;
"2")
emulators==$(whiptail --title "Overwrrite Emulators Settings?" \
--checklist "If you want to keep your custom setting for some emus, leave them unchecked. Checked means we will overwrite your configuration" 10 80 4 \
"RA" "RetroArch - Classic 2D and 3D Games" ON \
"DOLPHIN" "Dolphin - GameCube and Wii" ON \
"DUCK" "Duckstation - Playstation 1" ON \
"AETHERSX2" "AetherSX2 - Playstation 2" ON \
"CITRA" "Citra - Nintendo 3DS" ON \
"PPSSPP" "PPSSPP - Sony PSP" ON \
"SKYLINE" "PPSSPP - Nintendo Switch" ON \
3>&1 1<&2 2>&3)
;;
*)
echo "default"
;;
esac
mapfile -t settingsEmus <<< $emulators
for settingsEmu in ${settingsEmus[@]};
do
if [[ $settingsEmu == *"RA"* ]]; then
setSetting doSetupRA true
fi
if [[ $settingsEmu == *"DOLPHIN"* ]]; then
setSetting doSetupDolphin true
fi
if [[ $settingsEmu == *"DUCK"* ]]; then
setSetting doSetupDuck true
fi
if [[ $settingsEmu == *"AETHERSX2"* ]]; then
setSetting doSetupPCSX2 true
fi
if [[ $settingsEmu == *"CITRA"* ]]; then
setSetting doSetupCitra true
fi
if [[ $settingsEmu == *"PPSSPP"* ]]; then
setSetting doSetupPPSSPP true
fi
if [[ $settingsEmu == *"SKYLINE"* ]]; then
setSetting doSetupSkyline true
fi
done

View file

@ -0,0 +1,99 @@
#!/bin/bash
setSetting doInstallRA false
setSetting doInstallDolphin false
setSetting doInstallPCSX2 false
setSetting doInstallCitra false
setSetting doInstallDuck false
setSetting doInstallPPSSPP false
setSetting doInstallSkyline false
setSetting doInstallDrastic false
setSetting doInstallMupen false
setSetting doInstallRedDream false
setSetting doInstallYaba false
case $devicePower in
0)
emulators=$(whiptail --title "Install emulators" \
--checklist "We have selected the recommended emulators for your device" 14 80 4 \
"RA" "RetroArch - Classic 2D and 3D Games" ON \
"DOLPHIN" "Dolphin - GameCube and Wii" ON \
"DUCK" "Duckstation - Playstation 1" ON \
"AETHERSX2" "AetherSX2 - Playstation 2" OFF \
"CITRA" "Citra - Nintendo 3DS" OFF \
"PPSSPP" "PPSSPP - Sony PSP" ON \
"SKYLINE" "PPSSPP - Nintendo Switch" OFF \
"YABA" "Saturn - Yaba Sanshiro" ON \
"REDDREAM" "RedDream - Dreamcast" ON \
"DRASTIC" "Drastic - Nintendo DS" ON \
"MUPEN" "Mupen - Nintendo 64" OFF \
3>&1 1<&2 2>&3)
;;
1)
emulators=$(whiptail --title "Install emulators" \
--checklist "We have selected the recommended emulators for your device" 14 80 4 \
"RA" "RetroArch - Classic 2D and 3D Games" ON \
"DOLPHIN" "Dolphin - GameCube and Wii" ON \
"DUCK" "Duckstation - Playstation 1" ON \
"AETHERSX2" "AetherSX2 - Playstation 2" ON \
"CITRA" "Citra - Nintendo 3DS" ON \
"PPSSPP" "PPSSPP - Sony PSP" ON \
"SKYLINE" "PPSSPP - Nintendo Switch" OFF \
"YABA" "Saturn - Yaba Sanshiro" OFF \
"REDDREAM" "RedDream - Dreamcast" OFF \
"DRASTIC" "Drastic - Nintendo DS" ON \
"MUPEN" "Mupen - Nintendo 64" OFF \
3>&1 1<&2 2>&3)
;;
2)
emulators=$(whiptail --title "Install emulators" \
--checklist "We have selected the recommended emulators for your device" 14 80 4 \
"RA" "RetroArch - Classic 2D and 3D Games" ON \
"DOLPHIN" "Dolphin - GameCube and Wii" ON \
"DUCK" "Duckstation - Playstation 1" ON \
"AETHERSX2" "AetherSX2 - Playstation 2" ON \
"CITRA" "Citra - Nintendo 3DS" ON \
"PPSSPP" "PPSSPP - Sony PSP" ON \
"SKYLINE" "PPSSPP - Nintendo Switch" ON \
"YABA" "Saturn - Yaba Sanshiro" ON \
"REDDREAM" "RedDream - Dreamcast" OFF \
"DRASTIC" "Drastic - Nintendo DS" ON \
"MUPEN" "Mupen - Nintendo 64" OFF \
3>&1 1<&2 2>&3)
;;
*)
echo "no power"
;;
esac
mapfile -t settingsEmus <<< $emulators
for settingsEmu in ${settingsEmus[@]};
do
if [[ $settingsEmu == *"RA"* ]]; then
setSetting doInstallRA true
fi
if [[ $settingsEmu == *"DOLPHIN"* ]]; then
setSetting doInstallDolphin true
fi
if [[ $settingsEmu == *"DUCK"* ]]; then
setSetting doInstallDuck true
fi
if [[ $settingsEmu == *"AETHERSX2"* ]]; then
setSetting doInstallPCSX2 true
fi
if [[ $settingsEmu == *"CITRA"* ]]; then
setSetting doInstallCitra true
fi
if [[ $settingsEmu == *"PPSSPP"* ]]; then
setSetting doInstallPPSSPP true
fi
if [[ $settingsEmu == *"SKYLINE"* ]]; then
setSetting doInstallSkyline true
fi
done

90
whiptail/EndPage.sh Normal file
View file

@ -0,0 +1,90 @@
#!/bin/bash
#Colors
NONE='\033[00m'
RED='\033[01;31m'
GREEN='\033[01;32m'
YELLOW='\033[01;33m'
PURPLE='\033[01;35m'
CYAN='\033[01;36m'
WHITE='\033[01;37m'
BOLD='\033[1m'
UNDERLINE='\033[4m'
BLINK='\x1b[5m'
clear
echo -e "${BOLD}EmuDeck has finished!${NONE}"
echo ""
echo -e "If you want to update or change your configuration just open Termux again"
echo ""
#Copy roms
echo -e "${BOLD}- How to add games${NONE}"
if [ $romPath == 'SDCARD' ]; then
echo -e "You need to manually move your roms folder before starting"
echo -e "Open any File manager app and move the ${GREEN}/Emulation${NONE} folder to your SD Card root"
echo -e "Now, connect your device to a computer and copy your roms to the proper folders ( each system has its own subfolder )"
else
echo -e "You can now start copying your roms!"
echo -e "Connect your device to a computer and copy your roms to the proper folders ( each system has its own subfolder ) inside ${GREEN}/Emulation/roms${NONE}"
fi
echo ""
echo -e "${BOLD}- How to launch your games${NONE}"
#Easy
if [ $expert == false ]; then
echo -e "We've installed for you Daijisho so you can use it as a frontend for all your systems"
echo -e "You need to Open Daijisho From your apps and manually configure it with your custom paths"
echo ""
echo -e "First, open Daijisho and select the Systems you want to use by clicking on the Download Platforms button"
echo -e "Now click on Paths, Add more"
echo -e "Select the system folder ( ie: Super Nintendo )"
if [ $romPath == 'SDCARD' ]; then
if [ $android -gt 10 ]; then
echo -e "SD Card: ${GREEN}Emulation/roms/snes${NONE}"
else
echo -e "SD Card: ${GREEN}/Android/data/com.termux/files/Emulation/roms/snes${NONE}"
fi
else
echo -e "${GREEN}/Emulation/roms${NONE}"
fi
echo -e "Now press on Sync and Daijisho Will Start downloading artbox for your games!"
fi
echo ""
echo -e "${BOLD}- RetroArch Cores${NONE}"
echo -e "You need to manually install your cores before playing games, open RetroArch and go to"
echo -e "Main Menu -> Online Update -> Core Downloader"
echo -e "and download at least these Cores:"
echo -e "Arcade (MAME 2003 Plus), Gambatte, Mesen, Snes9x - Current, Genesis Plus GX, PicoDrive"
echo -e "If you want to emulate more systems you can download other cores too"
if [ $android -lt 11 ] && [ $romPath != 'INTERNAL' ]; then
echo ""
echo -e "${RED}IMPORTANT${NONE}"
echo -e "Be aware that if you delete the Termux app Android will ${RED}DELETE${NONE} the Termux folder on your SD Card including your roms"
fi
if [ $doInstallPegasus == true ]; then
echo ""
echo -e "${RED}Pegasus Warning${NONE}"
if [ $android -gt 10 ]; then
if [ $romPath == 'SDCARD' ]; then
echo -e "The Pegasus Artwork Scrapper only works on if you keep your roms on your Internal Storage"
echo -e "So you'll also need to connect your device on your computer to get your Artwork"
echo -e "We recommend using www.skraper.net"
echo -e "Remember to manually copy the Emulation folder from your Internal Storage to your SD Card"
echo -e "Press the ${RED}A Button${NONE} to open a written guide of how to use Skraper"
read pause
termux-open "https://retrogamecorps.com/2021/04/02/quick-guide-skraper-for-retro-handheld-devices/"
fi
else
echo -e "Once you've copied your roms to their proper folders, you need to run our Pegasus Artwork Scrapper"
echo -e "Open Termux again when you've copied them and select the Pegasus Artwork Scrapper option"
fi
fi
echo -e ""
echo -e "Scroll Up to read all the final instructions and then press the ${RED}A Button${NONE} to Exit"
read pause

19
whiptail/ErrorPage.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 80 4 \
"INTERNAL" "We will create your rom folders on your Android's Internal Storage" OFF \
"SDCARD" "If your device has a SDCARD " OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi

View file

@ -0,0 +1,45 @@
#!/bin/bash
if [ $android -gt 10 ]; then
frontends=$(whiptail --title "Choose your Frontend" \
--checklist "Move using your DPAD and select your platforms with the Y button. Press the A button to select." 10 80 4 \
"PEGASUS" "Pegasus - You'll need to scrap your artwork on a PC" OFF \
"DAIJISHO" "Daihisho - Recommended" OFF \
"DIG" "Dig" OFF \
"RESET" "Reset Collection - Paid" OFF \
"ARC" "Arc Browser - Paid" OFF \
3>&1 1<&2 2>&3)
else
frontends=$(whiptail --title "Choose your Frontend" \
--checklist "Move using your DPAD and select your platforms with the Y button. Press the A button to select." 10 80 4 \
"PEGASUS" "Pegasus - Automatic configuration" OFF \
"DAIJISHO" "Daihisho - Recommended" OFF \
"DIG" "Dig" OFF \
"RESET" "Reset Collection - Paid" OFF \
"ARC" "Arc Browser - Paid" OFF \
3>&1 1<&2 2>&3)
fi
mapfile -t settingsFrontends <<< $frontends
for settingsFrontend in ${settingsFrontends[@]};
do
if [[ $settingsFrontend == *"PEGASUS"* ]]; then
setSetting doInstallPegasus true
fi
if [[ $settingsFrontend == *"DAIJISHO"* ]]; then
setSetting doInstallDaijisho true
fi
if [[ $settingsFrontend == *"DIG"* ]]; then
setSetting doInstallDig true
fi
if [[ $settingsFrontend == *"LAUNCHBOX"* ]]; then
setSetting doInstallLaunchbox true
fi
if [[ $settingsFrontend == *"RESET"* ]]; then
setSetting doInstallReset true
fi
if [[ $settingsFrontend == *"ARC"* ]]; then
setSetting doInstallArc true
fi
done

View file

@ -0,0 +1,30 @@
##!/bin/bash
# themesQ=$(whiptail --title "Pegasus Theme" \
# --checklist "What Pegasus theme do you want to install" 10 80 4 \
# "EPIC" "RP - Epic Noir" ON \
# "SWITCH" "RP - Switch" OFF \
# "MEGA" "Retro Mega" OFF \
# "GAMEOS" "GameOS" OFF \
# "NEORETRO" "NeoRetro Dark" OFF \
# 3>&1 1<&2 2>&3)
#
# mapfile -t themes <<< themesQ
#
# for theme in ${themes[@]};
# do
# if [[ $theme == *"EPIC"* ]]; then
# setSetting doInstallThemeEpic true
# fi
# if [[ $theme == *"SWITCH"* ]]; then
# setSetting doInstallThemeSwitch true
# fi
# if [[ $theme == *"MEGA"* ]]; then
# setSetting doInstallThemeMega true
# fi
# if [[ $theme == *"GAMEOS"* ]]; then
# setSetting doInstallThemeGameOS true
# fi
# if [[ $theme == *"NEORETRO"* ]]; then
# setSetting doInstallThemeNeoRetro true
# fi
# done

View file

@ -0,0 +1,20 @@
#!/bin/bash
if [ $android -lt 11 ]; then
question=$(whiptail --title "RetroAchievments" \
--inputbox "Do you want to configure RetroAchievments? Insert your username..." 10 80 \
3>&1 1<&2 2>&3)
status=$?
if [ $status = 0 ]; then
setSetting achievementsUser $question
question=$(whiptail --title "RetroAchievments" \
--inputbox "...and your password" 10 80 \
3>&1 1<&2 2>&3)
status=$?
if [ $status = 0 ]; then
setSetting achievementsPass $question
fi
fi
fi

22
whiptail/RABezelsPage.sh Normal file
View file

@ -0,0 +1,22 @@
#!/bin/bash
if [ $deviceAR == 169 ] || [ $deviceAR == 53 ]; then
while true; do
question=$(whiptail --title "Game Bezels" \
--radiolist "You can use our preconfigured bezels to hide the vertical black vars on 8bit and 16bits games" 10 80 4 \
"YES" "Enable preconfigured bezels to hide black vars on Retro games" ON \
"NO" "NO" OFF \
3>&1 1<&2 2>&3)
case $question in
[YES]* ) break;;
[NO]* ) break;;
* ) echo "Do you want bezels?";;
esac
done
if [ $question == 'YES' ]; then
setSetting RABezels true
else
setSetting RABezels false
fi
fi

19
whiptail/RAConfigPage.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 80 4 \
"INTERNAL" "We will create your rom folders on your Android's Internal Storage" OFF \
"SDCARD" "If your device has a SDCARD " OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi

19
whiptail/ResetPage.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 80 4 \
"INTERNAL" "We will create your rom folders on your Android's Internal Storage" OFF \
"SDCARD" "If your device has a SDCARD " OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi

View file

@ -0,0 +1,52 @@
#!/bin/bash
if [ $hasSDCARD == true ]; then
while true; do
romPathSelection=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 95 4 \
"INTERNAL" "On my Internal Storage" OFF \
"SDCARD" "On my SD Card ( not formated as external)" OFF \
3>&1 1<&2 2>&3)
case $romPathSelection in
[INTERNAL]* ) break;;
[SDCARD]* ) break;;
* ) echo "Please choose your Storage.";;
esac
done
setSetting romPath $romPathSelection
if [ $romPath == 'INTERNAL' ]; then
path="$HOME/storage/shared"
else
SDPath=$(readlink ~/storage/external-1)
firstString=$SDPath
secondString=""
sdcardID="${firstString/"/storage/"/"$secondString"}"
firstString=$sdcardID
secondString=""
sdcardID="${firstString/"/Android/data/com.termux/files"/"$secondString"}"
path="$HOME/storage/external-1"
fi
else
path="$HOME/storage/shared"
fi
#if [ $android -gt 10 ]; then
path="$HOME/storage/shared"
#fi
setSetting emulationPath $path/Emulation
setSetting romsPath $path/Emulation/roms
setSetting toolsPath $path/Emulation/tools
setSetting biosPath $path/Emulation/bios
setSetting savesPath $path/Emulation/saves
setSetting storagePath $path/Emulation/storage

19
whiptail/SettingsPage.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 80 4 \
"INTERNAL" "We will create your rom folders on your Android's Internal Storage" OFF \
"SDCARD" "If your device has a SDCARD " OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi

19
whiptail/Shaders2DPage.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Configure CRT Shader to give your classic systems a faux retro CRT vibe" \
--radiolist "Enabling a CRT Shader gives your classic systems a faux retro CRT vibe" 10 80 4 \
"ON" "Enable" ON \
"OFF" "Disable" OFF \
3>&1 1<&2 2>&3)
case $question in
[ON]* ) break;;
[OFF]* ) break;;
* ) echo "Please select if you want a shader.";;
esac
done
if [ $question == 'ON' ]; then
setSetting RAHandClassic2D true
else
setSetting RAHandClassic2D false
fi

View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Configure LCD Shader simulates the old LCD Matrix screens of handheld systems" \
--radiolist "Enabling a LCD Shader simulates the old LCD Matrix screens of handheld systems" 10 80 4 \
"ON" "Enable" ON \
"OFF" "Disable" OFF \
3>&1 1<&2 2>&3)
case $question in
[ON]* ) break;;
[OFF]* ) break;;
* ) echo "Enable LCD Shaders?";;
esac
done
if [ $question == 'ON' ]; then
setSetting RAHandHeldShader true
else
setSetting RAHandHeldShader false
fi

View file

@ -0,0 +1 @@
#!/bin/bash

19
whiptail/UninstallPage.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 80 4 \
"INTERNAL" "We will create your rom folders on your Android's Internal Storage" OFF \
"SDCARD" "If your device has a SDCARD " OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi

View file

@ -0,0 +1,19 @@
#!/bin/bash
while true; do
question=$(whiptail --title "Choose your Storage" \
--radiolist "Where do you want to store your roms? " 10 80 4 \
"INTERNAL" "We will create your rom folders on your Android's Internal Storage" OFF \
"SDCARD" "If your device has a SDCARD " OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please which emus you want to update.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi

34
whiptail/WelcomePage.sh Normal file
View file

@ -0,0 +1,34 @@
#!/bin/bash
clear
echo -e "EmuDeck for ${GREEN}Android${NONE} ${RED}BETA${NONE}"
echo -e "${BOLD}You must hide the virtual keyboard to continue so you can read all the instructions${NONE}"
echo -e "If your controller is not being recognized you might need to connect a Keyboard."
echo -e "Press the ${RED}A button${NONE} when ready"
read clear
clear
echo -e "${BOLD}We will ask you several questions where you will need to pick a choice, you can choose using these controls${NONE}"
echo -e "DPAD = Move around options"
echo -e "${GREEN}Y button${NONE} = Select option"
echo -e "${RED}A button${NONE} = Accept"
echo -e "Press the ${RED}A button${NONE} to start"
read clear
clear
while true; do
question=$(whiptail --title "EmuDeck configuration mode" \
--radiolist "Move using your DPAD and select your platforms with the Y button. Press the A button to select." 10 80 4 \
"EASY" "This is a 100% automatic mode. Install & Play" OFF \
"CUSTOM" "You will be able tu customize what to install" OFF \
3>&1 1<&2 2>&3)
case $question in
[EASY]* ) break;;
[CUSTOM]* ) break;;
* ) echo "Please select your mode.";;
esac
done
if [ $question == 'EASY' ]; then
setSetting expert false
else
setSetting expert true
fi