updated install games function. Inallations are now handled in files in the .install directory. This may be horribly broken, for stability, use the master branch.
This commit is contained in:
parent
578c1bc7b1
commit
ff140f4298
4
.install/Alter Aeon.sh
Normal file
4
.install/Alter Aeon.sh
Normal file
@ -0,0 +1,4 @@
|
||||
check_dependencies git sox tt++
|
||||
git -C "${installPath}/" clone --recurse-submodules https://github.com/lilmike/tintin-alteraeon.git | \
|
||||
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
||||
add_launcher "${installPath}/tintin-alteraeon/aa.tin"
|
5
.install/Audo.sh
Normal file
5
.install/Audo.sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
get_installer "Audo-linux-x64.zip" "https://shiftbacktick.itch.io/audo"
|
||||
mkdir -p "${installPath}/Audo"
|
||||
unzip -d "${installPath}/Audo" "${cache}/Audo-linux-x64.zip"
|
||||
add_launcher "${installPath}/Audo/Audo"
|
5
.install/Auroboros.sh
Normal file
5
.install/Auroboros.sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
get_installer "Auroboros-linux-x64.zip" "https://shiftbacktick.itch.io/auroboros"
|
||||
mkdir -p "${installPath}/Auroboros"
|
||||
unzip -d "${installPath}/Auroboros" "${cache}/Auroboros-linux-x64.zip"
|
||||
add_launcher "${installPath}/Auroboros/Auroboros"
|
5
.install/Ball Bouncer.sh
Normal file
5
.install/Ball Bouncer.sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
download "https://files.sooslandia.ru/BallBouncer/1.2.1/BallBouncer-linux-1.2.1.zip"
|
||||
unzip -d "${installPath}/" "${cache}/BallBouncer-linux-1.2.1.zip"
|
||||
chmod +x "${installPath}/BallBouncer/BallBouncer"
|
||||
add_launcher "${installPath}/BallBouncer/BallBouncer"
|
5
.install/Bladius.sh
Normal file
5
.install/Bladius.sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
get_installer "Bladius-linux-x64.zip" "https://shiftbacktick.itch.io/bladius"
|
||||
mkdir -p "${installPath}/Bladius"
|
||||
unzip -d "${installPath}/Bladius" "${cache}/Bladius-linux-x64.zip"
|
||||
add_launcher "${installPath}/Bladius/Bladius"
|
5
.install/Chimera.sh
Normal file
5
.install/Chimera.sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
get_installer "Chimera-linux-x64.zip" "https://shiftbacktick.itch.io/chimera"
|
||||
mkdir -p "${installPath}/Chimera"
|
||||
unzip -d "${installPath}/Chimera" "${cache}/Chimera-linux-x64.zip"
|
||||
add_launcher "${installPath}/Chimera/Chimera"
|
7
.install/Critter Sanctuary.sh
Normal file
7
.install/Critter Sanctuary.sh
Normal file
@ -0,0 +1,7 @@
|
||||
check_architecture x86_64
|
||||
get_installer "critter-sanctuary-linux.zip" "https://punishedfelix.itch.io/critter-sanctuary"
|
||||
mkdir -p "${installPath}/critter-sanctuary"
|
||||
unzip -d "${installPath}/critter-sanctuary" "${cache}/critter-sanctuary-linux.zip"
|
||||
mkdir -p "${XDG_DATA_HOME:-${HOME}/.local}/share/godot/app_userdata/OverworldMovementEngine"
|
||||
cp -v "${installPath}/critter-sanctuary/blind_options.save" "${XDG_DATA_HOME:-${HOME}/.local}/share/godot/app_userdata/OverworldMovementEngine/options.save"
|
||||
add_launcher "${installPath}/critter-sanctuary/linux.x86_64"
|
5
.install/E.X.O..sh
Normal file
5
.install/E.X.O..sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
get_installer "EXO-linux-x64.zip" "https://shiftbacktick.itch.io/exo"
|
||||
mkdir -p "${installPath}/E.X.O."
|
||||
unzip -d "${installPath}/E.X.O." "${cache}/EXO-linux-x64.zip"
|
||||
add_launcher "${installPath}/E.X.O./EXO"
|
6
.install/Echo Command.sh
Normal file
6
.install/Echo Command.sh
Normal file
@ -0,0 +1,6 @@
|
||||
check_architecture x86_64
|
||||
get_installer "Echo Command.tar.xz" "https://pancakedev.itch.io/echo-command"
|
||||
mkdir -p "${installPath}/Echo-Command"
|
||||
tar xf "${cache}/Echo Command.tar.xz" -C "${installPath}/Echo-Command"
|
||||
ln -sr "${installPath}/Echo-Command/Echo Command.x86_64" "${installPath}/Echo-Command/Echo_Command.x86_64"
|
||||
add_launcher "${installPath}/Echo-Command/Echo_Command.x86_64"
|
4
.install/EmpireMUD.sh
Normal file
4
.install/EmpireMUD.sh
Normal file
@ -0,0 +1,4 @@
|
||||
check_dependencies git sox tt++
|
||||
git -C "${installPath}/" clone --recurse-submodules https://github.com/lilmike/tintin-empiremud.git | \
|
||||
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
||||
add_launcher "${installPath}/tintin-empiremud/em.tin"
|
4
.install/End of Time.sh
Normal file
4
.install/End of Time.sh
Normal file
@ -0,0 +1,4 @@
|
||||
check_dependencies git opusdec sox tt++
|
||||
git -C "${installPath}/" clone https://git.2mb.codes/~stormdragon2976/tintin-endoftime | \
|
||||
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
||||
add_launcher "${installPath}/tintin-endoftime/eot.tin"
|
5
.install/Fantasy Story II.sh
Normal file
5
.install/Fantasy Story II.sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
get_installer "FS2_3.0_Linux.zip" "https://drive.google.com/file/d/15Y5nxR1zl9vVNzMilpaXdCSBFhNUIDC9/view"
|
||||
unzip -d "${installPath}" "${cache}/FS2_3.0_Linux.zip"
|
||||
chmod +x "${installPath}/FS2_3.0_Linux/fs2.x86_64"
|
||||
add_launcher "${installPath}/FS2_3.0_Linux/fs2.x86_64" "-ESpeakApplication=espeak-ng"
|
59
.install/Freedoom.sh
Normal file
59
.install/Freedoom.sh
Normal file
@ -0,0 +1,59 @@
|
||||
tobyVersion="7-5"
|
||||
mkdir -p "${installPath}/doom"
|
||||
doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null)"
|
||||
if [[ ${#doomPath} -lt 5 ]]; then
|
||||
dialog --backtitle "Linux Game Manager" \
|
||||
--yesno "Do you want Linux Game Manager to install freedoom and gzdoom for you? If you want to do this manually, select no." -1 -1 --stdout || exit 0
|
||||
if command -v yay &> /dev/null ; then
|
||||
yay -Sy --noconfirm --sudoloop freedoom gzdoom freedm blasphemer-wad
|
||||
elif command -v slapt-src &> /dev/null ; then
|
||||
su -c 'slapt-src -i freedoom gzdoom'
|
||||
elif command -v dnf &> /dev/null ; then
|
||||
sudo dnf copr -y enable nalika/gzdoom
|
||||
sudo dnf -q -y install freedoom
|
||||
sudo dnf -q -y install gzdoom
|
||||
else
|
||||
dialog --backtitle "Linux Game Manager" --msgbox "No supported package managers found. Please install the freedoom and gzdoom packages manually." -1 -1
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null | head -1)"
|
||||
if ! [[ -e "${installPath}/doom/DoomMetalVol6.wad" ]] && ! [[ -e "${installPath}/doom/DoomMetalVol7.wad" ]]; then
|
||||
alert
|
||||
dialog --backtitle "Linux Game manager" \
|
||||
--extra-button \
|
||||
--yes-label "6" \
|
||||
--no-label "7" \
|
||||
--extra-label "None" \
|
||||
--yesno "Would you like Doom Metal Volume 6 or 7? Use arrow keys to select your answer." \
|
||||
-1 -1 --stdout
|
||||
buttonCode=$?
|
||||
if [[ $buttonCode -eq 0 ]]; then
|
||||
download "${ipfsGateway}/ipfs/QmSzWKtP3wPvzn5GNd9F7n4RAhkFHxh2UHxXGefiAufwQW?filename=DoomMetalVol6.wad"
|
||||
fi
|
||||
if [[ $buttonCode -eq 1 ]]; then
|
||||
download "${ipfsGateway}/ipfs/QmfXkz3tzicKGfhcYSiWUZkjkDKP2aVp53Y49n127wMr7D?filename=DoomMetalVol7.wad"
|
||||
fi
|
||||
fi
|
||||
# The url breaks the normal download function
|
||||
download_named "keyshare-universal.pk3" "https://forum.zdoom.org/download/file.php?id=42262"
|
||||
download "${ipfsGateway}/ipfs/QmRjg1GSBmVCCtPv8GRTZSjNNDMjHEXE2k5hKxoBnYMFKQ?filename=TobyAccessibilityMod_V${tobyVersion}.zip"
|
||||
[[ -e "${cache}/DoomMetalVol6.wad" ]] && mv "${cache}/DoomMetalVol6.wad" "${installPath}/doom"
|
||||
[[ -e "${cache}/DoomMetalVol7.wad" ]] && mv "${cache}/DoomMetalVol7.wad" "${installPath}/doom"
|
||||
unzip -n -d "${installPath}/doom" "${cache}/TobyAccessibilityMod_V${tobyVersion}.zip"
|
||||
unzip -n -d "${installPath}/doom" "${cache}/OpMDK_ForV${tobyVersion}.zip"
|
||||
cp -v "${cache}/keyshare-universal.pk3" "${installPath}/doom"
|
||||
rm -fv "${installPath}/doom/"*.{ahk,bat,exe,dll,ps1}
|
||||
if [[ -e /usr/share/doom/blasphem.wad ]]; then
|
||||
ln -s /usr/share/doom/blasphem.wad "${installPath}/doom/"
|
||||
fi
|
||||
mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom"
|
||||
cp "${installPath}/doom/TobyConfig.ini" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini"
|
||||
cp "${installPath}/doom/zcajun/bots.cfg" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/"
|
||||
sed -i "s;^\[IWADSearch.Directories\]$;[IWADSearch.Directories]\nPath=${doomPath}\nPath=${installPath}/doom;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini"
|
||||
sed -i "s;^\[FileSearch.Directories\]$;[FileSearch.Directories]\nPath=${doomPath}\nPath=${installPath}/doom;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini"
|
||||
sed -i "s;^\[SoundfontSearch.Directories\]$;[SoundfontSearch.Directories]\nPath=${doomPath}/fm_banks\nPath=${doomPath}/soundfonts\nPath=${installPath}/doom/soundfonts\nPath=${installPath}/doom/fm_banks;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini"
|
||||
# sed -i 's/Mouse1=+attack/CTRL=+attack/' "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini"
|
||||
launcherPath="$(readlink -f "$0")"
|
||||
launcherPath="${launcherPath%/*}"
|
||||
add_launcher "${launcherPath}/.scripts/FreeDoom.sh"
|
3
.install/Monkey Spank.sh
Normal file
3
.install/Monkey Spank.sh
Normal file
@ -0,0 +1,3 @@
|
||||
check_dependencies python-pygame:pygame python-xdg:xdg python-pyperclip:pyperclip python-requests:requests python-setproctitle:setproctitle
|
||||
git -C "${installPath}" clone --recurse-submodules https://gitlab.com/stormdragon2976/monkeyspank.git
|
||||
add_launcher "${installPath}/monkeyspank/monkeyspank"
|
3
.install/Numnastics.sh
Normal file
3
.install/Numnastics.sh
Normal file
@ -0,0 +1,3 @@
|
||||
check_dependencies python-pygame:pygame python-xdg:xdg python-pyperclip:pyperclip python-requests:requests python-setproctitle:setproctitle
|
||||
git -C "${installPath}" clone --recurse-submodules https://gitlab.com/stormdragon2976/numnastics.git
|
||||
add_launcher "${installPath}/numnastics/numnastics"
|
6
.install/Onslaught.sh
Normal file
6
.install/Onslaught.sh
Normal file
@ -0,0 +1,6 @@
|
||||
check_architecture x86_64
|
||||
get_installer "onslaught.AppImage" "https://lightsoutgames.itch.io/onslaught"
|
||||
mkdir -p "${installPath}/Onslaught"
|
||||
cp -v "${cache}/onslaught.AppImage" "${installPath}/Onslaught/onslaught.AppImage"
|
||||
chmod +x "${installPath}/Onslaught/onslaught.AppImage"
|
||||
add_launcher "${installPath}/Onslaught/onslaught.AppImage"
|
5
.install/Periphery Synthetic EP.sh
Normal file
5
.install/Periphery Synthetic EP.sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
get_installer "periphery-synthetic-ep-linux-x64.zip" "https://shiftbacktick.itch.io/periphery-synthetic-ep"
|
||||
mkdir -p "${installPath}/periphery-synthetic-ep"
|
||||
unzip -d "${installPath}/periphery-synthetic-ep" "${cache}/periphery-synthetic-ep-linux-x64.zip"
|
||||
add_launcher "${installPath}/periphery-synthetic-ep/periphery-synthetic-ep"
|
5
.install/S.E.A..sh
Normal file
5
.install/S.E.A..sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
get_installer "SEA-linux-x64.zip" "https://shiftbacktick.itch.io/sea"
|
||||
mkdir -p "${installPath}/S.E.A."
|
||||
unzip -d "${installPath}/S.E.A." "${cache}/SEA-linux-x64.zip"
|
||||
add_launcher "${installPath}/S.E.A./SEA"
|
59
.install/Slay the Spire.sh
Normal file
59
.install/Slay the Spire.sh
Normal file
@ -0,0 +1,59 @@
|
||||
check_architecture x86_64
|
||||
echo "Please note this requires the game to be available either in your Steam library"
|
||||
echo "or as the installer purchased from gog.com."
|
||||
echo "If using the gog.com installer, please use the default path when prompted."
|
||||
alert
|
||||
check_dependencies steamcmd
|
||||
appId="646570"
|
||||
if ! [[ -f ~/Downloads/slay_the_spire_2020_12_15_8735c9fe3cc2280b76aa3ec47c953352a7df1f65_43444.sh ]] && ! [[ -f ~/Desktop/slay_the_spire_2020_12_15_8735c9fe3cc2280b76aa3ec47c953352a7df1f65_43444.sh ]]; then
|
||||
echo "Please enter Steam user name:"
|
||||
read -er steamUser
|
||||
steamcmd +@sSteamCmdForcePlatformType linux +force_install_dir "${HOME}/.local/games/SlayTheSpire" +login "$steamUser" +app_update "$appId" +quit
|
||||
else
|
||||
DISPLAY=""
|
||||
find ~/Downloads -maxdepth 1 -type f -name 'slay_the_spire_2020_12_15_8735c9fe3cc2280b76aa3ec47c953352a7df1f65_43444.sh' -exec bash "{}" \; ||
|
||||
find ~/Desktop -maxdepth 1 -type f -name 'slay_the_spire_2020_12_15_8735c9fe3cc2280b76aa3ec47c953352a7df1f65_43444.sh' -exec bash "{}" \;
|
||||
if [[ $? -eq 0 ]]; then
|
||||
ln -sf "${HOME}/GOG Games/Slay the Spire/game" "${installPath}/SlayTheSpire" ||
|
||||
{ echo "Error creating link."
|
||||
exit 1; }
|
||||
else
|
||||
echo "Error installing game."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
# Move files into place
|
||||
mkdir -p "${HOME}/.config/ModTheSpire"
|
||||
if [[ -f ~"/.config/ModTheSpire/mod_lists.json" ]]; then
|
||||
dialog --backtitle "Linux Game manager" \
|
||||
--yesno "Existing mod_lists.json file found. Would you like to replace it?" -1 -1 --stdout &&
|
||||
cp -v .files/SlayTheSpire/mod_lists.json "${HOME}/.config/ModTheSpire/mod_lists.json"
|
||||
else
|
||||
cp -v .files/SlayTheSpire/mod_lists.json "${HOME}/.config/ModTheSpire/mod_lists.json"
|
||||
fi
|
||||
cp -v .files/SlayTheSpire/MTS.sh "${HOME}/.local/games/SlayTheSpire/"
|
||||
# Get mods
|
||||
declare -A mods=(
|
||||
[mod the spire]=1605060445
|
||||
[base mod]=1605833019
|
||||
[stslib]=1609158507
|
||||
[curses come first]=2304840098
|
||||
[achievement enabler]=1692554109
|
||||
[say the spire]=2239220106
|
||||
)
|
||||
installString=""
|
||||
for x in ${mods[@]} ; do
|
||||
installString="$installString +workshop_download_item $appId $x"
|
||||
done
|
||||
steamcmd +@sSteamCmdForcePlatformType linux +force_install_dir "${HOME}/.local/games/SlayTheSpire/" +login anonymous $installString +quit
|
||||
mkdir -p "$HOME/.local/games/SlayTheSpire/mods"
|
||||
for x in "${!mods[@]}" ; do
|
||||
if [ "$x" == "mod the spire" ] ; then
|
||||
ln -sr "$HOME/.local/games/SlayTheSpire/steamapps/workshop/content/$appId/${mods[$x]}"/* "$HOME/.local/games/SlayTheSpire/"
|
||||
else
|
||||
ln -sr "$HOME/.local/games/SlayTheSpire/steamapps/workshop/content/$appId/${mods[$x]}"/* "$HOME/.local/games/SlayTheSpire/mods/"
|
||||
fi
|
||||
done
|
||||
launcherPath="$(readlink -f "$0")"
|
||||
launcherPath="${launcherPath%/*}"
|
||||
add_launcher "${launcherPath}/.scripts/SlayTheSpire.sh"
|
4
.install/Slay the Text.sh
Normal file
4
.install/Slay the Text.sh
Normal file
@ -0,0 +1,4 @@
|
||||
check_dependencies python-ansimarkup:ansimarkup
|
||||
git -C "${installPath}/" clone https://github.com/Difio3333/slaythetext.git | \
|
||||
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
||||
add_launcher "${installPath}/slaythetext/main.py"
|
6
.install/SoundRTS.sh
Normal file
6
.install/SoundRTS.sh
Normal file
@ -0,0 +1,6 @@
|
||||
check_dependencies python3
|
||||
mkdir -p "${installPath}"
|
||||
git -C "${installPath}" clone "https://github.com/soundmud/soundrts.git"
|
||||
git -C "${installPath}/soundrts" checkout v1.3.8
|
||||
sed -i 's;git+https://github.com/soundmud/accessible_output2;accessible_output2;' "${installPath}/soundrts/requirements.txt"
|
||||
python3 -m venv --system-site-packages "${installPath}/soundrts/.venv"
|
19
.install/Stardew Valley.sh
Normal file
19
.install/Stardew Valley.sh
Normal file
@ -0,0 +1,19 @@
|
||||
check_architecture x86_64
|
||||
DISPLAY=""
|
||||
echo "Please select the default path when prompted by the installer."
|
||||
alert
|
||||
get_installer "stardew_valley_1_5_6_1988831614_53040.sh" "https://www.gog.com/game/stardew_valley"
|
||||
bash "${cache}/stardew_valley_1_5_6_1988831614_53040.sh" ||
|
||||
{ echo "Error installing game."
|
||||
exit 1; }
|
||||
smapiVersion="3.18.4"
|
||||
download "https://github.com/Pathoschild/SMAPI/releases/download/${smapiVersion}/SMAPI-${smapiVersion}-installer.zip" "https://stormgames.wolfe.casa/downloads/stardew-valley/Mods.tar.xz"
|
||||
smapiTmp="$(mktemp -d)"
|
||||
unzip "${cache}/SMAPI-${smapiVersion}-installer.zip" -d "$smapiTmp"
|
||||
echo "Preparing to install mods. Please select the same path as before when prompted."
|
||||
echo "When it says SMAPI has been installed, press enter to finish installation."
|
||||
alert
|
||||
bash "${smapiTmp}/SMAPI ${smapiVersion} installer/install on Linux.sh"
|
||||
ln -sf "${HOME}/GOG Games/Stardew Valley/game" "${installPath}/StardewValley"
|
||||
tar -xvf "${cache}/Mods.tar.xz" -C "${installPath}/StardewValley/"
|
||||
add_launcher "${installPath}/StardewValley/StardewValley"
|
4
.install/StickMUD.sh
Normal file
4
.install/StickMUD.sh
Normal file
@ -0,0 +1,4 @@
|
||||
check_dependencies git sox tt++
|
||||
git -C "${installPath}/" clone --recurse-submodules https://github.com/stormdragon2976/tintin-stickmud.git | \
|
||||
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
||||
add_launcher "${installPath}/tintin-stickmud/stickmud.tin"
|
6
.install/System Fault.sh
Normal file
6
.install/System Fault.sh
Normal file
@ -0,0 +1,6 @@
|
||||
check_architecture x86_64
|
||||
get_installer "system-fault-linux-x86_64.AppImage" "https://lightsoutgames.itch.io/systemfault"
|
||||
mkdir -p "${installPath}/System_Fault"
|
||||
cp -v "${cache}/system-fault-linux-x86_64.AppImage" "${installPath}/System_Fault/system-fault-linux-x86_64.AppImage"
|
||||
chmod +x "${installPath}/System_Fault/system-fault-linux-x86_64.AppImage"
|
||||
add_launcher "${installPath}/System_Fault/system-fault-linux-x86_64.AppImage"
|
6
.install/Upheaval Commandline.sh
Normal file
6
.install/Upheaval Commandline.sh
Normal file
@ -0,0 +1,6 @@
|
||||
check_architecture x86_64
|
||||
check_dependencies dmidecode
|
||||
get_installer "upheaval-linux-console.zip" "https://leonegaming.itch.io/upheaval"
|
||||
mkdir -p "${installPath}/Upheaval_Commandline"
|
||||
unzip -d "${installPath}/Upheaval_Commandline" "${cache}/upheaval-linux-console.zip"
|
||||
add_launcher "${installPath}/Upheaval_Commandline/Upheaval_Command_Line"
|
8
.install/Upheaval Gui.sh
Normal file
8
.install/Upheaval Gui.sh
Normal file
@ -0,0 +1,8 @@
|
||||
check_architecture x86_64
|
||||
check_dependencies dmidecode
|
||||
get_installer "upheaval-linux.zip" "https://leonegaming.itch.io/upheaval"
|
||||
mkdir -p "${installPath}/Upheaval_Gui"
|
||||
unzip -d "${installPath}/Upheaval_Gui" "${cache}/upheaval-linux.zip"
|
||||
add_launcher "${installPath}/Upheaval_Gui/Upheaval"
|
||||
echo "To enable accessibility, press shift t when the game starts."
|
||||
alert
|
5
.install/Wurmus.sh
Normal file
5
.install/Wurmus.sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
get_installer "Wurmus-linux-x64.zip" "https://shiftbacktick.itch.io/wurmus"
|
||||
mkdir -p "${installPath}/Wurmus"
|
||||
unzip -d "${installPath}/Wurmus" "${cache}/Wurmus-linux-x64.zip"
|
||||
add_launcher "${installPath}/Wurmus/Wurmus"
|
13
.install/Zombowl.sh
Normal file
13
.install/Zombowl.sh
Normal file
@ -0,0 +1,13 @@
|
||||
architecture="$(uname -m)"
|
||||
if [[ "${architecture}" == "aarch64" ]]; then
|
||||
pkgname="Zombowl-Linux-aarch64.zip"
|
||||
elif [[ "${architecture}" == "x86_64" ]]; then
|
||||
pkgname="Zombowl-Linux-X86_64.zip"
|
||||
else
|
||||
echo "Architecture ${architecture} is not supported."
|
||||
exit 1
|
||||
fi
|
||||
get_installer "${pkgname}" "https://stormdragon2976.itch.io/zombowl"
|
||||
mkdir -p "${installPath}/"
|
||||
unzip -d "${installPath}/" "${cache}/${pkgname}"
|
||||
add_launcher "${installPath}/${pkgname%.*}/Zombowl"
|
5
.install/soundStrider.sh
Normal file
5
.install/soundStrider.sh
Normal file
@ -0,0 +1,5 @@
|
||||
check_architecture x86_64
|
||||
get_installer "soundStrider-linux-x64.zip" "https://shiftbacktick.itch.io/soundstrider"
|
||||
mkdir -p "${installPath}/soundStrider"
|
||||
unzip -d "${installPath}/soundStrider" "${cache}/soundStrider-linux-x64.zip"
|
||||
add_launcher "${installPath}/soundStrider/soundStrider"
|
@ -337,31 +337,47 @@ add_launcher() {
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# Install games
|
||||
game_installer() {
|
||||
# Get list of installed games from config file
|
||||
mapfile -t installedGames < <(sed '/^$/d' "${configFile}" 2> /dev/null | cut -d '|' -f1)
|
||||
# Create the menu of installed games
|
||||
# Create the menu of available games by reading from .install directory
|
||||
declare -a menuList
|
||||
for i in "${gameList[@]}" ; do
|
||||
local menuItem="$i"
|
||||
for j in "${installedGames[@]}" ; do
|
||||
# Get all .sh files from .install directory, excluding those starting with #, and sort them
|
||||
mapfile -t sortedGames < <(for f in "${0%/*}/.install/"*.sh; do
|
||||
# Skip if first line starts with #
|
||||
[[ $(head -n1 "$f") == "#"* ]] && continue
|
||||
# Output filename without .sh extension
|
||||
echo "${f##*/}"
|
||||
done | sort)
|
||||
for i in "${sortedGames[@]}"; do
|
||||
local menuItem="${i%.sh}"
|
||||
# Check if game is already installed
|
||||
for j in "${installedGames[@]}"; do
|
||||
if [[ "$j" == "$menuItem" ]]; then
|
||||
unset menuItem
|
||||
break
|
||||
fi
|
||||
done
|
||||
# Add to menu if not installed
|
||||
if [[ -n "$menuItem" ]]; then
|
||||
menuList+=("$menuItem" "$menuItem")
|
||||
fi
|
||||
done
|
||||
# If all games are installed, exit
|
||||
if [[ ${#menuList[@]} -eq 0 ]]; then
|
||||
echo "All games are already installed."
|
||||
exit 0
|
||||
fi
|
||||
# Add donation option at the end
|
||||
menuList+=("Donate" "Donate")
|
||||
# Show game selection dialog
|
||||
game="$(dialog --backtitle "Game Installer" \
|
||||
--clear \
|
||||
--no-tags \
|
||||
--menu "Please select a game to install" 0 0 0 "${menuList[@]}" --stdout)"
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user