Compare commits
31 Commits
dbf9174f96
...
a38eee08cb
Author | SHA1 | Date | |
---|---|---|---|
|
a38eee08cb | ||
|
6237b20097 | ||
|
b32fe6f227 | ||
|
9e708f0bfa | ||
|
c8ec64ec52 | ||
|
97a1ebaeeb | ||
|
8220cc8742 | ||
|
ee0e72fe6d | ||
|
22b97be40a | ||
|
da13890112 | ||
549acb3445 | |||
|
5e42a45260 | ||
|
e1dd886fab | ||
|
ef1c67a116 | ||
|
a01f34dd02 | ||
|
ddb3e751c8 | ||
|
30f36491f7 | ||
|
81eb291bea | ||
|
97057bb1f2 | ||
|
34e05f47a6 | ||
|
b3ada38d9b | ||
|
af98ded87f | ||
|
7c1a408ab2 | ||
|
abcaf32ec0 | ||
|
8258419f7c | ||
|
ad0e7e3d7e | ||
|
d29523316d | ||
|
ca2b6df08f | ||
|
cdfcf7aacf | ||
|
42b40489ce | ||
|
1052425e70 |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
nohup.out
|
||||||
|
/.launch/*.sh
|
@ -1,4 +1,3 @@
|
|||||||
check_dependencies git sox tt++
|
check_dependencies git sox tt++
|
||||||
git -C "${installPath}/" clone --recurse-submodules https://github.com/lilmike/tintin-alteraeon.git | \
|
git -C "${installPath}/" clone --recurse-submodules https://github.com/lilmike/tintin-alteraeon.git | \
|
||||||
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
||||||
add_launcher "${installPath}/tintin-alteraeon/aa.tin"
|
|
||||||
|
3
.install/Audio Quake.sh
Normal file
3
.install/Audio Quake.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
check_architecture x86_64
|
||||||
|
download "https://michaels.world/aq-linux.zip"
|
||||||
|
unzip -d "${installPath}/AudioQuake" "${cache}/aq-linux.zip"
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "Audo-linux-x64.zip" "https://shiftbacktick.itch.io/audo"
|
get_installer "Audo-linux-x64.zip" "https://shiftbacktick.itch.io/audo"
|
||||||
mkdir -p "${installPath}/Audo"
|
mkdir -p "${installPath}/Audo"
|
||||||
unzip -d "${installPath}/Audo" "${cache}/Audo-linux-x64.zip"
|
unzip -d "${installPath}/Audo" "${cache}/Audo-linux-x64.zip"
|
||||||
add_launcher "${installPath}/Audo/Audo"
|
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "Auroboros-linux-x64.zip" "https://shiftbacktick.itch.io/auroboros"
|
get_installer "Auroboros-linux-x64.zip" "https://shiftbacktick.itch.io/auroboros"
|
||||||
mkdir -p "${installPath}/Auroboros"
|
mkdir -p "${installPath}/Auroboros"
|
||||||
unzip -d "${installPath}/Auroboros" "${cache}/Auroboros-linux-x64.zip"
|
unzip -d "${installPath}/Auroboros" "${cache}/Auroboros-linux-x64.zip"
|
||||||
add_launcher "${installPath}/Auroboros/Auroboros"
|
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
download "https://files.sooslandia.ru/BallBouncer/1.2.1/BallBouncer-linux-1.2.1.zip"
|
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"
|
unzip -d "${installPath}/" "${cache}/BallBouncer-linux-1.2.1.zip"
|
||||||
chmod +x "${installPath}/BallBouncer/BallBouncer"
|
chmod +x "${installPath}/BallBouncer/BallBouncer"
|
||||||
add_launcher "${installPath}/BallBouncer/BallBouncer"
|
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "Bladius-linux-x64.zip" "https://shiftbacktick.itch.io/bladius"
|
get_installer "Bladius-linux-x64.zip" "https://shiftbacktick.itch.io/bladius"
|
||||||
mkdir -p "${installPath}/Bladius"
|
mkdir -p "${installPath}/Bladius"
|
||||||
unzip -d "${installPath}/Bladius" "${cache}/Bladius-linux-x64.zip"
|
unzip -d "${installPath}/Bladius" "${cache}/Bladius-linux-x64.zip"
|
||||||
add_launcher "${installPath}/Bladius/Bladius"
|
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "Chimera-linux-x64.zip" "https://shiftbacktick.itch.io/chimera"
|
get_installer "Chimera-linux-x64.zip" "https://shiftbacktick.itch.io/chimera"
|
||||||
mkdir -p "${installPath}/Chimera"
|
mkdir -p "${installPath}/Chimera"
|
||||||
unzip -d "${installPath}/Chimera" "${cache}/Chimera-linux-x64.zip"
|
unzip -d "${installPath}/Chimera" "${cache}/Chimera-linux-x64.zip"
|
||||||
add_launcher "${installPath}/Chimera/Chimera"
|
|
||||||
|
@ -4,4 +4,3 @@ mkdir -p "${installPath}/critter-sanctuary"
|
|||||||
unzip -d "${installPath}/critter-sanctuary" "${cache}/critter-sanctuary-linux.zip"
|
unzip -d "${installPath}/critter-sanctuary" "${cache}/critter-sanctuary-linux.zip"
|
||||||
mkdir -p "${XDG_DATA_HOME:-${HOME}/.local}/share/godot/app_userdata/OverworldMovementEngine"
|
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"
|
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"
|
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "EXO-linux-x64.zip" "https://shiftbacktick.itch.io/exo"
|
get_installer "EXO-linux-x64.zip" "https://shiftbacktick.itch.io/exo"
|
||||||
mkdir -p "${installPath}/E.X.O."
|
mkdir -p "${installPath}/E.X.O."
|
||||||
unzip -d "${installPath}/E.X.O." "${cache}/EXO-linux-x64.zip"
|
unzip -d "${installPath}/E.X.O." "${cache}/EXO-linux-x64.zip"
|
||||||
add_launcher "${installPath}/E.X.O./EXO"
|
|
||||||
|
@ -3,4 +3,3 @@ get_installer "Echo Command.tar.xz" "https://pancakedev.itch.io/echo-command"
|
|||||||
mkdir -p "${installPath}/Echo-Command"
|
mkdir -p "${installPath}/Echo-Command"
|
||||||
tar xf "${cache}/Echo Command.tar.xz" -C "${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"
|
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"
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
check_dependencies git sox tt++
|
check_dependencies git sox tt++
|
||||||
git -C "${installPath}/" clone --recurse-submodules https://github.com/lilmike/tintin-empiremud.git | \
|
git -C "${installPath}/" clone --recurse-submodules https://github.com/lilmike/tintin-empiremud.git | \
|
||||||
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
||||||
add_launcher "${installPath}/tintin-empiremud/em.tin"
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
check_dependencies git opusdec sox tt++
|
check_dependencies git opusdec sox tt++
|
||||||
git -C "${installPath}/" clone https://git.2mb.codes/~stormdragon2976/tintin-endoftime | \
|
git -C "${installPath}/" clone https://git.2mb.codes/~stormdragon2976/tintin-endoftime | \
|
||||||
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
||||||
add_launcher "${installPath}/tintin-endoftime/eot.tin"
|
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "FS2_3.0_Linux.zip" "https://drive.google.com/file/d/15Y5nxR1zl9vVNzMilpaXdCSBFhNUIDC9/view"
|
get_installer "FS2_3.0_Linux.zip" "https://drive.google.com/file/d/15Y5nxR1zl9vVNzMilpaXdCSBFhNUIDC9/view"
|
||||||
unzip -d "${installPath}" "${cache}/FS2_3.0_Linux.zip"
|
unzip -d "${installPath}" "${cache}/FS2_3.0_Linux.zip"
|
||||||
chmod +x "${installPath}/FS2_3.0_Linux/fs2.x86_64"
|
chmod +x "${installPath}/FS2_3.0_Linux/fs2.x86_64"
|
||||||
add_launcher "${installPath}/FS2_3.0_Linux/fs2.x86_64" "-ESpeakApplication=espeak-ng"
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
tobyVersion="7-5"
|
tobyVersion="8-0"
|
||||||
mkdir -p "${installPath}/doom"
|
mkdir -p "${installPath}/doom"
|
||||||
doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null)"
|
doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null)"
|
||||||
if [[ ${#doomPath} -lt 5 ]]; then
|
if [[ ${#doomPath} -lt 5 ]]; then
|
||||||
@ -37,16 +37,16 @@ dialog --backtitle "Linux Game manager" \
|
|||||||
fi
|
fi
|
||||||
# The url breaks the normal download function
|
# The url breaks the normal download function
|
||||||
download_named "keyshare-universal.pk3" "https://forum.zdoom.org/download/file.php?id=42262"
|
download_named "keyshare-universal.pk3" "https://forum.zdoom.org/download/file.php?id=42262"
|
||||||
download "${ipfsGateway}/ipfs/QmRjg1GSBmVCCtPv8GRTZSjNNDMjHEXE2k5hKxoBnYMFKQ?filename=TobyAccessibilityMod_V${tobyVersion}.zip"
|
download "${ipfsGateway}/ipfs/QmT6FEqeGTkf3Uv1dYqQ4LGYeRSjLk1R1FeyaFJwRFBocF?filename=TobyAccessibilityMod_V${tobyVersion}.zip"
|
||||||
[[ -e "${cache}/DoomMetalVol6.wad" ]] && mv "${cache}/DoomMetalVol6.wad" "${installPath}/doom"
|
[[ -e "${cache}/DoomMetalVol6.wad" ]] && mv "${cache}/DoomMetalVol6.wad" "${installPath}/doom"
|
||||||
[[ -e "${cache}/DoomMetalVol7.wad" ]] && mv "${cache}/DoomMetalVol7.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}/TobyAccessibilityMod_V${tobyVersion}.zip"
|
||||||
unzip -n -d "${installPath}/doom" "${cache}/OpMDK_ForV${tobyVersion}.zip"
|
#unzip -n -d "${installPath}/doom" "${cache}/OpMDK_ForV${tobyVersion}.zip"
|
||||||
cp -v "${cache}/keyshare-universal.pk3" "${installPath}/doom"
|
cp -v "${cache}/keyshare-universal.pk3" "${installPath}/doom"
|
||||||
rm -fv "${installPath}/doom/"*.{ahk,bat,exe,dll,ps1}
|
rm -fv "${installPath}/doom/"*.{ahk,bat,exe,dll,ps1}
|
||||||
if [[ -e /usr/share/doom/blasphem.wad ]]; then
|
#if [[ -e /usr/share/doom/blasphem.wad ]]; then
|
||||||
ln -s /usr/share/doom/blasphem.wad "${installPath}/doom/"
|
#ln -s /usr/share/doom/blasphem.wad "${installPath}/doom/"
|
||||||
fi
|
#fi
|
||||||
mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom"
|
mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom"
|
||||||
cp "${installPath}/doom/TobyConfig.ini" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini"
|
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/"
|
cp "${installPath}/doom/zcajun/bots.cfg" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/"
|
||||||
@ -56,4 +56,3 @@ cp "${installPath}/doom/zcajun/bots.cfg" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdo
|
|||||||
# sed -i 's/Mouse1=+attack/CTRL=+attack/' "${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="$(readlink -f "$0")"
|
||||||
launcherPath="${launcherPath%/*}"
|
launcherPath="${launcherPath%/*}"
|
||||||
add_launcher "${launcherPath}/.scripts/FreeDoom.sh"
|
|
@ -1,3 +1,2 @@
|
|||||||
check_dependencies python-pygame:pygame python-xdg:xdg python-pyperclip:pyperclip python-requests:requests python-setproctitle:setproctitle
|
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
|
git -C "${installPath}" clone --recurse-submodules https://gitlab.com/stormdragon2976/monkeyspank.git
|
||||||
add_launcher "${installPath}/monkeyspank/monkeyspank"
|
|
||||||
|
@ -1,3 +1,2 @@
|
|||||||
check_dependencies python-pygame:pygame python-xdg:xdg python-pyperclip:pyperclip python-requests:requests python-setproctitle:setproctitle
|
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
|
git -C "${installPath}" clone --recurse-submodules https://gitlab.com/stormdragon2976/numnastics.git
|
||||||
add_launcher "${installPath}/numnastics/numnastics"
|
|
||||||
|
@ -3,4 +3,3 @@ get_installer "onslaught.AppImage" "https://lightsoutgames.itch.io/onslaught"
|
|||||||
mkdir -p "${installPath}/Onslaught"
|
mkdir -p "${installPath}/Onslaught"
|
||||||
cp -v "${cache}/onslaught.AppImage" "${installPath}/Onslaught/onslaught.AppImage"
|
cp -v "${cache}/onslaught.AppImage" "${installPath}/Onslaught/onslaught.AppImage"
|
||||||
chmod +x "${installPath}/Onslaught/onslaught.AppImage"
|
chmod +x "${installPath}/Onslaught/onslaught.AppImage"
|
||||||
add_launcher "${installPath}/Onslaught/onslaught.AppImage"
|
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "periphery-synthetic-ep-linux-x64.zip" "https://shiftbacktick.itch.io/periphery-synthetic-ep"
|
get_installer "periphery-synthetic-ep-linux-x64.zip" "https://shiftbacktick.itch.io/periphery-synthetic-ep"
|
||||||
mkdir -p "${installPath}/periphery-synthetic-ep"
|
mkdir -p "${installPath}/periphery-synthetic-ep"
|
||||||
unzip -d "${installPath}/periphery-synthetic-ep" "${cache}/periphery-synthetic-ep-linux-x64.zip"
|
unzip -d "${installPath}/periphery-synthetic-ep" "${cache}/periphery-synthetic-ep-linux-x64.zip"
|
||||||
add_launcher "${installPath}/periphery-synthetic-ep/periphery-synthetic-ep"
|
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "SEA-linux-x64.zip" "https://shiftbacktick.itch.io/sea"
|
get_installer "SEA-linux-x64.zip" "https://shiftbacktick.itch.io/sea"
|
||||||
mkdir -p "${installPath}/S.E.A."
|
mkdir -p "${installPath}/S.E.A."
|
||||||
unzip -d "${installPath}/S.E.A." "${cache}/SEA-linux-x64.zip"
|
unzip -d "${installPath}/S.E.A." "${cache}/SEA-linux-x64.zip"
|
||||||
add_launcher "${installPath}/S.E.A./SEA"
|
|
||||||
|
@ -56,4 +56,3 @@ for x in "${!mods[@]}" ; do
|
|||||||
done
|
done
|
||||||
launcherPath="$(readlink -f "$0")"
|
launcherPath="$(readlink -f "$0")"
|
||||||
launcherPath="${launcherPath%/*}"
|
launcherPath="${launcherPath%/*}"
|
||||||
add_launcher "${launcherPath}/.scripts/SlayTheSpire.sh"
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
check_dependencies python-ansimarkup:ansimarkup
|
check_dependencies python-ansimarkup:ansimarkup
|
||||||
git -C "${installPath}/" clone https://github.com/Difio3333/slaythetext.git | \
|
git -C "${installPath}/" clone https://github.com/Difio3333/slaythetext.git | \
|
||||||
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
||||||
add_launcher "${installPath}/slaythetext/main.py"
|
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "soulblaze-linux-beta.zip" "https://sword-and-quill.itch.io/soulblaze"
|
get_installer "soulblaze-linux-beta.zip" "https://sword-and-quill.itch.io/soulblaze"
|
||||||
mkdir -p "${installPath}/Soulblaze"
|
mkdir -p "${installPath}/Soulblaze"
|
||||||
unzip -d "${installPath}/Soulblaze" "${cache}/soulblaze-linux-beta.zip"
|
unzip -d "${installPath}/Soulblaze" "${cache}/soulblaze-linux-beta.zip"
|
||||||
add_launcher "${installPath}/Soulblaze/Soulblaze.x86_64"
|
|
||||||
|
@ -16,4 +16,3 @@ alert
|
|||||||
bash "${smapiTmp}/SMAPI ${smapiVersion} installer/install on Linux.sh"
|
bash "${smapiTmp}/SMAPI ${smapiVersion} installer/install on Linux.sh"
|
||||||
ln -sf "${HOME}/GOG Games/Stardew Valley/game" "${installPath}/StardewValley"
|
ln -sf "${HOME}/GOG Games/Stardew Valley/game" "${installPath}/StardewValley"
|
||||||
tar -xvf "${cache}/Mods.tar.xz" -C "${installPath}/StardewValley/"
|
tar -xvf "${cache}/Mods.tar.xz" -C "${installPath}/StardewValley/"
|
||||||
add_launcher "${installPath}/StardewValley/StardewValley"
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
check_dependencies git sox tt++
|
check_dependencies git sox tt++
|
||||||
git -C "${installPath}/" clone --recurse-submodules https://github.com/stormdragon2976/tintin-stickmud.git | \
|
git -C "${installPath}/" clone --recurse-submodules https://github.com/stormdragon2976/tintin-stickmud.git | \
|
||||||
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
dialog --progressbox "Installing \"${game}\", please wait..." -1 -1
|
||||||
add_launcher "${installPath}/tintin-stickmud/stickmud.tin"
|
|
||||||
|
@ -3,4 +3,3 @@ get_installer "system-fault-linux-x86_64.AppImage" "https://lightsoutgames.itch.
|
|||||||
mkdir -p "${installPath}/System_Fault"
|
mkdir -p "${installPath}/System_Fault"
|
||||||
cp -v "${cache}/system-fault-linux-x86_64.AppImage" "${installPath}/System_Fault/system-fault-linux-x86_64.AppImage"
|
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"
|
chmod +x "${installPath}/System_Fault/system-fault-linux-x86_64.AppImage"
|
||||||
add_launcher "${installPath}/System_Fault/system-fault-linux-x86_64.AppImage"
|
|
||||||
|
8
.install/The Tornado Chicken.sh
Normal file
8
.install/The Tornado Chicken.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
check_architecture x86_64
|
||||||
|
get_installer "Ttc v3.0 linux.zip" "https://renzivan.itch.io/the-tornado-chicken"
|
||||||
|
unzip -d "${installPath}/The Tornado Chicken" "${cache}/Ttc v3.0 linux.zip"
|
||||||
|
chmod +x "${installPath}/The Tornado Chicken/Ttc"
|
||||||
|
echo "Note: When the game first starts it will be playing very loud music with the built in suboptimal voice."
|
||||||
|
echo "You are recommended to press page down several times to turn down the music, then go to settings and enable speech with screen reader, using speech dispatcher."
|
||||||
|
echo "You may then press page up to set the music to your liking."
|
||||||
|
alert
|
@ -3,4 +3,3 @@ check_dependencies dmidecode
|
|||||||
get_installer "upheaval-linux-console.zip" "https://leonegaming.itch.io/upheaval"
|
get_installer "upheaval-linux-console.zip" "https://leonegaming.itch.io/upheaval"
|
||||||
mkdir -p "${installPath}/Upheaval_Commandline"
|
mkdir -p "${installPath}/Upheaval_Commandline"
|
||||||
unzip -d "${installPath}/Upheaval_Commandline" "${cache}/upheaval-linux-console.zip"
|
unzip -d "${installPath}/Upheaval_Commandline" "${cache}/upheaval-linux-console.zip"
|
||||||
add_launcher "${installPath}/Upheaval_Commandline/Upheaval_Command_Line"
|
|
||||||
|
@ -3,6 +3,5 @@ check_dependencies dmidecode
|
|||||||
get_installer "upheaval-linux.zip" "https://leonegaming.itch.io/upheaval"
|
get_installer "upheaval-linux.zip" "https://leonegaming.itch.io/upheaval"
|
||||||
mkdir -p "${installPath}/Upheaval_Gui"
|
mkdir -p "${installPath}/Upheaval_Gui"
|
||||||
unzip -d "${installPath}/Upheaval_Gui" "${cache}/upheaval-linux.zip"
|
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."
|
echo "To enable accessibility, press shift t when the game starts."
|
||||||
alert
|
alert
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "Wurmus-linux-x64.zip" "https://shiftbacktick.itch.io/wurmus"
|
get_installer "Wurmus-linux-x64.zip" "https://shiftbacktick.itch.io/wurmus"
|
||||||
mkdir -p "${installPath}/Wurmus"
|
mkdir -p "${installPath}/Wurmus"
|
||||||
unzip -d "${installPath}/Wurmus" "${cache}/Wurmus-linux-x64.zip"
|
unzip -d "${installPath}/Wurmus" "${cache}/Wurmus-linux-x64.zip"
|
||||||
add_launcher "${installPath}/Wurmus/Wurmus"
|
|
||||||
|
@ -10,4 +10,3 @@ fi
|
|||||||
get_installer "${pkgname}" "https://stormdragon2976.itch.io/zombowl"
|
get_installer "${pkgname}" "https://stormdragon2976.itch.io/zombowl"
|
||||||
mkdir -p "${installPath}/"
|
mkdir -p "${installPath}/"
|
||||||
unzip -d "${installPath}/" "${cache}/${pkgname}"
|
unzip -d "${installPath}/" "${cache}/${pkgname}"
|
||||||
add_launcher "${installPath}/${pkgname%.*}/Zombowl"
|
|
||||||
|
@ -2,4 +2,3 @@ check_architecture x86_64
|
|||||||
get_installer "soundStrider-linux-x64.zip" "https://shiftbacktick.itch.io/soundstrider"
|
get_installer "soundStrider-linux-x64.zip" "https://shiftbacktick.itch.io/soundstrider"
|
||||||
mkdir -p "${installPath}/soundStrider"
|
mkdir -p "${installPath}/soundStrider"
|
||||||
unzip -d "${installPath}/soundStrider" "${cache}/soundStrider-linux-x64.zip"
|
unzip -d "${installPath}/soundStrider" "${cache}/soundStrider-linux-x64.zip"
|
||||||
add_launcher "${installPath}/soundStrider/soundStrider"
|
|
||||||
|
1
.launch/Aliens.sh
Normal file
1
.launch/Aliens.sh
Normal file
@ -0,0 +1 @@
|
|||||||
|
open_url "https://files.jantrid.net/aliens/"
|
9
.launch/Alter Aeon.game
Normal file
9
.launch/Alter Aeon.game
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
mudPath="${installPath}/tintin-alteraeon/aa.tin"
|
||||||
|
pushd "${mudPath%/*}"
|
||||||
|
git pull | \
|
||||||
|
dialog --progressbox "Checking for updates, please wait..." -1 -1
|
||||||
|
if [[ -n "${COLORTERM}" ]]; then
|
||||||
|
terminal_emulator tt++ ${mudPath##*/}
|
||||||
|
else
|
||||||
|
tt++ ${mudPath##*/}
|
||||||
|
fi
|
67
.launch/Audio Quake.game
Normal file
67
.launch/Audio Quake.game
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
configure_audio() {
|
||||||
|
local sudo=$(command -v sudo)
|
||||||
|
sudo="${sudo:-doas}"
|
||||||
|
local audioProvider
|
||||||
|
if pgrep pipewire &> /dev/null ; then
|
||||||
|
audioProvider="pipewire"
|
||||||
|
elif pgrep pulse &> /dev/null ; then
|
||||||
|
audioProvider="pulseaudio"
|
||||||
|
else
|
||||||
|
audioProvider="alsa"
|
||||||
|
fi
|
||||||
|
lsmod | grep snd_aloop || $sudo modprobe snd_aloop
|
||||||
|
cardNumber="$(aplay -l |grep -P '^card \d+: Loopback' |head -n1 | cut -d\ -f2 | cut -d: -f1)"
|
||||||
|
if ! [[ "$cardNumber" =~ ^[0-9]+$ ]] ; then
|
||||||
|
dialog --backtitle "Linux Game Manager" \
|
||||||
|
--msgbox "The loopback module card number was not properly set.\nThis could mean that you failed to type your password for root privileges, or something else has gone wrong.\n If you think root privileges were succesfully obtained, please report this to the maintainers. Mention the card value: ${cardNumber}." -1 -1
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
alsaloop -C hw:${cardNumber},1,0 -P default &> /dev/null &
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
configure_webkit() {
|
||||||
|
local webkitPath
|
||||||
|
local sudo=$(command -v sudo)
|
||||||
|
sudo="${sudo:-doas}"
|
||||||
|
# First check if it's already properly set up
|
||||||
|
[[ -d /usr/libexec/webkit2gtk-4.0 ]] && return 0
|
||||||
|
webkitPath=$(find /usr/lib* /usr/local/lib* -type d -name 'webkit2gtk-4.0' 2>/dev/null | head -n1)
|
||||||
|
if [[ -z "${webkitPath}" ]]; then
|
||||||
|
dialog --backtitle "Linux Game manager" \
|
||||||
|
--msgbox "Error: webkit2gtk-4.0 not found. Please install webkit2gtk package for your distribution." -1 -1
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# Create libexec directory if it doesn't exist
|
||||||
|
if [[ ! -d /usr/libexec ]]; then
|
||||||
|
if ! $sudo mkdir -p /usr/libexec; then
|
||||||
|
echo "Error: Failed to create /usr/libexec directory"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if ! $sudo ln -s "${webkitPath}" /usr/libexec/webkit2gtk-4.0; then
|
||||||
|
echo "Error: Failed to create symlink for webkit2gtk-4.0"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
set_sound_device() {
|
||||||
|
if ! grep -q 'set s_device' "${installPath}/AudioQuake/data/id1/config.cfg" ; then
|
||||||
|
echo "set s_device hw:${cardNumber},0,0" >> "${installPath}/AudioQuake/data/id1/config.cfg"
|
||||||
|
else
|
||||||
|
sed -E -i 's/set s_device/set s_device hw:${cardNumber},0,0/g' "${installPath}/AudioQuake/data/id1/config.cfg"
|
||||||
|
fi
|
||||||
|
if ! grep -q 'set s_device' "${installPath}/AudioQuake/data/oq/config.cfg" ; then
|
||||||
|
echo "set s_device hw:${cardNumber},0,0" >> "${installPath}/AudioQuake/data/oq/config.cfg"
|
||||||
|
else
|
||||||
|
sed -E -i 's/set s_device/set s_device hw:${cardNumber},0,0/g' "${installPath}/AudioQuake/data/oq/config.cfg"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
trap 'pkill -P $$' EXIT
|
||||||
|
configure_audio
|
||||||
|
configure_webkit
|
||||||
|
set_sound_device
|
||||||
|
pushd "${installPath}/AudioQuake"
|
||||||
|
./AudioQuake
|
2
.launch/Audo.game
Normal file
2
.launch/Audo.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
${installPath}/Audo/Audo
|
2
.launch/Auroboros.game
Normal file
2
.launch/Auroboros.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/Auroboros/Auroboros"
|
3
.launch/Ball Bouncer.game
Normal file
3
.launch/Ball Bouncer.game
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
check_architecture x86_64
|
||||||
|
pushd "${installPath}/BallBouncer"
|
||||||
|
${fex}./BallBouncer
|
1
.launch/Battle Weary.sh
Normal file
1
.launch/Battle Weary.sh
Normal file
@ -0,0 +1 @@
|
|||||||
|
open_url "https://lonespelunker.itch.io/battle-weary"
|
2
.launch/Bladius.game
Normal file
2
.launch/Bladius.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/Bladius/Bladius"
|
1
.launch/Cacophony.sh
Normal file
1
.launch/Cacophony.sh
Normal file
@ -0,0 +1 @@
|
|||||||
|
open_url "https://tianmaru.itch.io/cacophony"
|
2
.launch/Chimera.game
Normal file
2
.launch/Chimera.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/Chimera/Chimera"
|
2
.launch/Critter Sanctuary.game
Normal file
2
.launch/Critter Sanctuary.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/critter-sanctuary/linux.x86_64"
|
1
.launch/Donate.sh
Normal file
1
.launch/Donate.sh
Normal file
@ -0,0 +1 @@
|
|||||||
|
open_url "https://ko-fi.com/stormux"
|
2
.launch/E.X.O..game
Normal file
2
.launch/E.X.O..game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/E.X.O./EXO"
|
2
.launch/Echo Command.game
Normal file
2
.launch/Echo Command.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/Echo-Command/Echo_Command.x86_64"
|
9
.launch/EmpireMUD.game
Normal file
9
.launch/EmpireMUD.game
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
mudPath="${installPath}/tintin-empiremud/em.tin"
|
||||||
|
pushd "${mudPath%/*}"
|
||||||
|
git pull | \
|
||||||
|
dialog --progressbox "Checking for updates, please wait..." -1 -1
|
||||||
|
if [[ -n "${COLORTERM}" ]]; then
|
||||||
|
terminal_emulator tt++ ${mudPath##*/}
|
||||||
|
else
|
||||||
|
tt++ ${mudPath##*/}
|
||||||
|
fi
|
9
.launch/End of Time.game
Normal file
9
.launch/End of Time.game
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
mudPath="${installPath}/tintin-endoftime/eot.tin"
|
||||||
|
pushd "${mudPath%/*}"
|
||||||
|
git pull | \
|
||||||
|
dialog --progressbox "Checking for updates, please wait..." -1 -1
|
||||||
|
if [[ -n "${COLORTERM}" ]]; then
|
||||||
|
terminal_emulator tt++ ${mudPath##*/}
|
||||||
|
else
|
||||||
|
tt++ ${mudPath##*/}
|
||||||
|
fi
|
2
.launch/Fantasy Story II.game
Normal file
2
.launch/Fantasy Story II.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/FS2_3.0_Linux/fs2.x86_64" "-ESpeakApplication=espeak-ng"
|
@ -1,7 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
launch_game() {
|
launch_game() {
|
||||||
pushd "${doomPath}"
|
pushd "${gamePath}"
|
||||||
|
#echo "exec stdbuf -oL ${gzdoom} ${@} | speak"
|
||||||
exec stdbuf -oL ${gzdoom} ${@} | speak
|
exec stdbuf -oL ${gzdoom} ${@} | speak
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
@ -42,38 +43,46 @@ export gamePath=~/.local/games/doom
|
|||||||
export doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null | head -1)"
|
export doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null | head -1)"
|
||||||
|
|
||||||
# Path to gzdoom or yadoom.
|
# Path to gzdoom or yadoom.
|
||||||
if [[ -x "yadoom" ]]; then
|
if [[ -x "${BASH_SOURCE[0]%/*}/yadoom" ]]; then
|
||||||
export gzdoom=$(readlink -f "yadoom")
|
export gzdoom="$(readlink -f "${BASH_SOURCE[0]%/*}/yadoom")"
|
||||||
else
|
else
|
||||||
export gzdoom="$(command -v gzdoom)"
|
export gzdoom="$(command -v gzdoom)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Version of the accessibility mod
|
# Version of the accessibility mod
|
||||||
export tobyVersion="7-5"
|
export tobyVersion="8-0"
|
||||||
|
|
||||||
|
|
||||||
# Doom Addons
|
# Doom Addons
|
||||||
mapfile -t doomAddons < <(find "$gamePath/Addons/DOOM/" -type f -name "TobyV${tobyVersion%%-*}_*.pk3"
|
mapfile -t doomAddons < <(find "$gamePath/Addons/DOOM/" -type f -name "Toby*.pk3"
|
||||||
find "$gamePath/Addons/MENU/" -type f -name "TobyV${tobyVersion%%-*}_*.pk3"
|
find "$gamePath/Addons/MENU/" -type f -name "Toby*.pk3"
|
||||||
)
|
)
|
||||||
# Heretic Addons
|
# Heretic Addons
|
||||||
mapfile -t hereticAddons < <(find "$gamePath/Addons/HERETIC/" -type f -name "TobyHeretic*.pk3"
|
mapfile -t hereticAddons < <(find "$gamePath/Addons/HERETIC/" -type f -name "TobyHeretic*.pk3"
|
||||||
find "$gamePath/Addons/MENU/" -type f -name "TobyV${tobyVersion%%-*}_*.pk3"
|
find "$gamePath/Addons/MENU/" -type f -name "Toby*.pk3"
|
||||||
|
)
|
||||||
|
# Hexen Addons
|
||||||
|
mapfile -t hexenAddons < <(find "$gamePath/Addons/HEXEN/" -type f -name "TobyHexen*.pk3"
|
||||||
|
find "$gamePath/Addons/MENU/" -type f -name "Toby*.pk3"
|
||||||
)
|
)
|
||||||
|
|
||||||
doomGames=(
|
doomGames=(
|
||||||
# Toby demo map
|
# Toby demo map
|
||||||
"TobyAccMod_V${tobyVersion}.pk3 Toby-Demo-Level.wad ${doomAddons[*]}" "Freedoom Toby Demo Map"
|
"${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${gamePath}/Addons/MAPS/Toby-Demo-Level.wad ${doomAddons[*]}" "Freedoom Toby Demo Map"
|
||||||
# Unmodified Doom with accessibility.
|
# Unmodified Doom with accessibility.
|
||||||
"TobyAccMod_V${tobyVersion}.pk3 ${doomAddons[*]}" "Freedoom"
|
"${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${doomAddons[*]}" "Freedoom"
|
||||||
# Toby accessibility mods
|
# Toby accessibility mods
|
||||||
"TobyAccMod_V${tobyVersion}.pk3 TobyDoomLevels.wad Toby-Doom-Level-Music-Renamer.pk3 ${doomAddons[*]}" "Freedoom Toby Delux Map Pack"
|
"${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${gamePath}/Addons/MAPS/TobyDoomLevels.wad ${doomAddons[*]}" "Freedoom Toby Delux Map Pack"
|
||||||
# OperationMDK
|
# OperationMDK
|
||||||
"TobyAccMod_V${tobyVersion}.pk3 OpMDK.wad ${doomAddons[*]}" "Freedoom OperationMDK"
|
"${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${gamePath}/OpMDK.wad ${doomAddons[*]}" "Freedoom OperationMDK"
|
||||||
# Unmodified Heretic with accessibility
|
# Unmodified Heretic with accessibility
|
||||||
"TobyAccMod_V${tobyVersion}.pk3 ${hereticAddons[*]}" "Classic Heretic"
|
"${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${hereticAddons[*]}" "Classic Heretic"
|
||||||
# Heretic accessibility mods
|
# Heretic accessibility mods
|
||||||
"TobyAccMod_V${tobyVersion}.pk3 TobyHereticLevels.wad ${hereticAddons[*]}" "Toby Heretic"
|
"${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${gamePath}/Addons/MAPS/TobyHereticLevels.wad ${hereticAddons[*]}" "Toby Heretic"
|
||||||
|
# Unmodified Hexen with accessibility
|
||||||
|
"${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${hexenAddons[*]}" "Classic Hexen"
|
||||||
|
# Heretic accessibility mods
|
||||||
|
"${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${gamePath}/Addons/MAPS/TobyHexen.pk3 ${hexenAddons[*]}" "Toby Hexen"
|
||||||
"custom_game" "Custom Game"
|
"custom_game" "Custom Game"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -90,6 +99,8 @@ export antiGrepStrings=(
|
|||||||
'-e' 'key card'
|
'-e' 'key card'
|
||||||
'-e' '^New PDA Entry:'
|
'-e' '^New PDA Entry:'
|
||||||
'-e' "^(As |Computer Voice:|Holy|I |I've|Monorail|Sector |Ugh|What|Where)"
|
'-e' "^(As |Computer Voice:|Holy|I |I've|Monorail|Sector |Ugh|What|Where)"
|
||||||
|
'-e' 'Script warning, "'
|
||||||
|
'-e' 'Tried to define'
|
||||||
)
|
)
|
||||||
|
|
||||||
export sedStrings=('-E'
|
export sedStrings=('-E'
|
||||||
@ -144,7 +155,7 @@ translate_text() {
|
|||||||
|
|
||||||
|
|
||||||
custom_game() {
|
custom_game() {
|
||||||
mapfile -t customGames < <(find "${0%/*}/TobyCustom/" -type f -iname '*.sh')
|
mapfile -t customGames < <(find "${BASH_SOURCE[0]%/*}/TobyCustom/" -type f -iname '*.sh')
|
||||||
declare -a customMenu
|
declare -a customMenu
|
||||||
for i in "${customGames[@]}" ; do
|
for i in "${customGames[@]}" ; do
|
||||||
customMenu+=("$i")
|
customMenu+=("$i")
|
||||||
@ -190,7 +201,7 @@ case ${buttonCode} in
|
|||||||
1)
|
1)
|
||||||
# Death match setup
|
# Death match setup
|
||||||
# Ignore the choice of map made above
|
# Ignore the choice of map made above
|
||||||
gameOption="${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${gamePath}/TobyDeathArena_V1-0.wad ""$gamePath/Addons/TobyV${tobVersion%%-*}_"*
|
gameOption="${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${gamePath}/Addons/MAPS/TobyDeathArena_V1-5.wad ""$gamePath/Addons/DOOM/TobyV*_"*
|
||||||
ipAddress="$(dialog --backtitle "Deathmatch Options" \
|
ipAddress="$(dialog --backtitle "Deathmatch Options" \
|
||||||
--clear \
|
--clear \
|
||||||
--no-tags \
|
--no-tags \
|
||||||
@ -217,7 +228,9 @@ case ${buttonCode} in
|
|||||||
"5" "Ocean Fortress (2-4 players)"
|
"5" "Ocean Fortress (2-4 players)"
|
||||||
"6" "Water Treatment Facility (2-4 players)"
|
"6" "Water Treatment Facility (2-4 players)"
|
||||||
"7" "Phobos Base Site 4 (2-4 players)"
|
"7" "Phobos Base Site 4 (2-4 players)"
|
||||||
"8" "Hangar Bay 18 (2-4 players)")
|
"8" "Hangar Bay 18 (2-4 players)"
|
||||||
|
"9" "Garden of Demon (2-4 players)"
|
||||||
|
"10" "Outpost 69 (2-4 players)")
|
||||||
# Array of how many players a given map supports in dialog rangebox syntax
|
# Array of how many players a given map supports in dialog rangebox syntax
|
||||||
declare -a mapPlayers=(
|
declare -a mapPlayers=(
|
||||||
[1]="2 4"
|
[1]="2 4"
|
||||||
@ -227,7 +240,9 @@ case ${buttonCode} in
|
|||||||
[5]="2 4"
|
[5]="2 4"
|
||||||
[6]="2 4"
|
[6]="2 4"
|
||||||
[7]="2 4"
|
[7]="2 4"
|
||||||
[8]="2 4")
|
[8]="2 4"
|
||||||
|
[9]="2 4"
|
||||||
|
[10]="2 4")
|
||||||
map="$(dialog --backtitle "Select Map" \
|
map="$(dialog --backtitle "Select Map" \
|
||||||
--clear \
|
--clear \
|
||||||
--no-tags \
|
--no-tags \
|
||||||
@ -325,7 +340,7 @@ case ${buttonCode} in
|
|||||||
'-extratic' '-dup' '3'
|
'-extratic' '-dup' '3'
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
pushd "${doomPath}"
|
pushd "${gamePath}"
|
||||||
launch_game ${gameOption} "${flags[@]}"
|
launch_game ${gameOption} "${flags[@]}"
|
||||||
;;
|
;;
|
||||||
0)
|
0)
|
2
.launch/Monkey Spank.game
Normal file
2
.launch/Monkey Spank.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/monkeyspank/monkeyspank"
|
2
.launch/Numnastics.game
Normal file
2
.launch/Numnastics.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/numnastics/numnastics"
|
2
.launch/Onslaught.game
Normal file
2
.launch/Onslaught.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/Onslaught/onslaught.AppImage"
|
2
.launch/Periphery Synthetic EP.game
Normal file
2
.launch/Periphery Synthetic EP.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/periphery-synthetic-ep/periphery-synthetic-ep"
|
1
.launch/QuentinC Play Room.sh
Normal file
1
.launch/QuentinC Play Room.sh
Normal file
@ -0,0 +1 @@
|
|||||||
|
open_url "https://qcsalon.net/"
|
2
.launch/S.E.A..game
Normal file
2
.launch/S.E.A..game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/S.E.A./SEA"
|
2
.launch/Slay the Spire.game
Normal file
2
.launch/Slay the Spire.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${launcherPath}/.scripts/SlayTheSpire.sh"
|
2
.launch/Slay the Text.game
Normal file
2
.launch/Slay the Text.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/slaythetext/main.py"
|
2
.launch/Soulblaze.game
Normal file
2
.launch/Soulblaze.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/Soulblaze/Soulblaze.x86_64"
|
0
.launch/SoundRTS.game
Normal file
0
.launch/SoundRTS.game
Normal file
2
.launch/Stardew Valley.game
Normal file
2
.launch/Stardew Valley.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/StardewValley/StardewValley"
|
10
.launch/StickMUD.game
Normal file
10
.launch/StickMUD.game
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
mudPath="${installPath}/tintin-stickmud/stickmud.tin"
|
||||||
|
pushd "${mudPath%/*}"
|
||||||
|
git pull | \
|
||||||
|
dialog --progressbox "Checking for updates, please wait..." -1 -1
|
||||||
|
if [[ -n "${COLORTERM}" ]]; then
|
||||||
|
terminal_emulator tt++ ${mudPath##*/}
|
||||||
|
else
|
||||||
|
tt++ ${mudPath##*/}
|
||||||
|
fi
|
2
.launch/System Fault.game
Normal file
2
.launch/System Fault.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/System_Fault/system-fault-linux-x86_64.AppImage"
|
3
.launch/The Tornado Chicken.game
Normal file
3
.launch/The Tornado Chicken.game
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
check_architecture x86_64
|
||||||
|
pushd "${installPath}/The Tornado Chicken"
|
||||||
|
${fex}./Ttc
|
@ -1,8 +1,8 @@
|
|||||||
# Choice of maps
|
# Choice of maps
|
||||||
mapList=(
|
mapList=(
|
||||||
"${gamePath}/OpMDK.wad"
|
"${gamePath}/OpMDK.wad"
|
||||||
"${gamePath}/TobyDoomLevels.wad"
|
"${gamePath}/Addons/MAPS/TobyDoomLevels.wad"
|
||||||
"${gamePath}/Toby-Demo-Level.wad"
|
"${gamePath}/Addons/MAPS/Toby-Demo-Level.wad"
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -a mapMenu=('none' 'None')
|
declare -a mapMenu=('none' 'None')
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# check for required wad.
|
# check for required wad.
|
||||||
source ${0%/*}/TobyCustom/.dependencies
|
source ${BASH_SOURCE[0]%/*}/.dependencies
|
||||||
check_dependencies "${gamePath}/aoddoom1.wad" "https://www.moddb.com/mods/army-of-darkness-total-conversion/addons/army-of-darkness-doom-wad" "Place \"aoddoom1.wad\" in \"${gamePath}\"."
|
check_dependencies "${gamePath}/aoddoom1.wad" "https://www.moddb.com/mods/army-of-darkness-total-conversion/addons/army-of-darkness-doom-wad" "Place \"aoddoom1.wad\" in \"${gamePath}\"."
|
||||||
|
|
||||||
|
|
||||||
@ -20,4 +20,4 @@ elif [[ -e "${gamePath}/DoomMetalVol6.wad" ]]; then
|
|||||||
gameOption+=("${gamePath}/DoomMetalVol6.wad")
|
gameOption+=("${gamePath}/DoomMetalVol6.wad")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
source ${0%/*}/TobyCustom/.mapmenu
|
source ${BASH_SOURCE[0]%/*}/.mapmenu
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# check for required pk3.
|
# check for required pk3.
|
||||||
source ${0%/*}/TobyCustom/.dependencies
|
source ${BASH_SOURCE[0]%/*}/.dependencies
|
||||||
check_dependencies "${gamePath}/GMOTA_V.1.5.2.pk3" \
|
check_dependencies "${gamePath}/GMOTA_V.1.5.2.pk3" \
|
||||||
"https://combine-kegan.itch.io/gmota" \
|
"https://combine-kegan.itch.io/gmota" \
|
||||||
"Place the file in ${gamePath}"
|
"Place the file in ${gamePath}"
|
||||||
@ -15,7 +15,7 @@ gameOption=(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
source ${0%/*}/TobyCustom/.mapmenu
|
source ${BASH_SOURCE[0]%/*}/.mapmenu
|
||||||
flags=(
|
flags=(
|
||||||
# Key bindings
|
# Key bindings
|
||||||
'+bind Alt +altattack'
|
'+bind Alt +altattack'
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# check for required pk3.
|
# check for required pk3.
|
||||||
source ${0%/*}/TobyCustom/.dependencies
|
source ${BASH_SOURCE[0]%/*}/.dependencies
|
||||||
check_dependencies "${gamePath}/Project_Brutality.pk3" \
|
check_dependencies "${gamePath}/Project_Brutality.pk3" \
|
||||||
"https://www.moddb.com/mods/project-brutality" \
|
"https://www.moddb.com/mods/project-brutality" \
|
||||||
"This should be included by default." \
|
"This should be included by default." \
|
||||||
@ -24,7 +24,7 @@ elif [[ -e "${gamePath}/DoomMetalVol6.wad" ]]; then
|
|||||||
gameOption+=("${gamePath}/DoomMetalVol6.wad")
|
gameOption+=("${gamePath}/DoomMetalVol6.wad")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
source ${0%/*}/TobyCustom/.mapmenu
|
source ${BASH_SOURCE[0]%/*}/.mapmenu
|
||||||
flags=(
|
flags=(
|
||||||
# Key bindings
|
# Key bindings
|
||||||
'+bind Alt +altattack'
|
'+bind Alt +altattack'
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# check for required pk3.
|
# check for required pk3.
|
||||||
source ${0%/*}/TobyCustom/.dependencies
|
source ${BASH_SOURCE[0]%/*}/.dependencies
|
||||||
check_dependencies "${gamePath}/Project_Brutality-Latest.pk3" \
|
check_dependencies "${gamePath}/Project_Brutality-Latest.pk3" \
|
||||||
"https://www.moddb.com/mods/project-brutality" \
|
"https://www.moddb.com/mods/project-brutality" \
|
||||||
"This should be included by default." \
|
"This should be included by default." \
|
||||||
@ -23,7 +23,7 @@ elif [[ -e "${gamePath}/DoomMetalVol6.wad" ]]; then
|
|||||||
gameOption+=("${gamePath}/DoomMetalVol6.wad")
|
gameOption+=("${gamePath}/DoomMetalVol6.wad")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
source ${0%/*}/TobyCustom/.mapmenu
|
source ${BASH_SOURCE[0]%/*}/.mapmenu
|
||||||
flags=(
|
flags=(
|
||||||
# Key bindings
|
# Key bindings
|
||||||
'+bind Alt +altattack'
|
'+bind Alt +altattack'
|
@ -10,4 +10,4 @@ gameOption=(
|
|||||||
"$gamePath/Addons/STARWARS/"*
|
"$gamePath/Addons/STARWARS/"*
|
||||||
)
|
)
|
||||||
|
|
||||||
source ${0%/*}/TobyCustom/.mapmenu
|
source ${BASH_SOURCE[0]%/*}/.mapmenu
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# check for required pk3.
|
# check for required pk3.
|
||||||
source ${0%/*}/TobyCustom/.dependencies
|
source ${BASH_SOURCE[0]%/*}/.dependencies
|
||||||
check_dependencies "${gamePath}/Addons/WOLFENDOOM/orig_enh.pk3" \
|
check_dependencies "${gamePath}/Addons/WOLFENDOOM/orig_enh.pk3" \
|
||||||
"https://www.moddb.com/mods/wolfendoom/downloads/wolfendoom-enhanced" \
|
"https://www.moddb.com/mods/wolfendoom/downloads/wolfendoom-enhanced" \
|
||||||
"mkdir -p ${gamePath}/Addons/WOLFENDOOM/" \
|
"mkdir -p ${gamePath}/Addons/WOLFENDOOM/" \
|
1
.launch/Trigaea.sh
Normal file
1
.launch/Trigaea.sh
Normal file
@ -0,0 +1 @@
|
|||||||
|
open_url "https://ryngm.itch.io/trigaea"
|
2
.launch/Upheaval Commandline.game
Normal file
2
.launch/Upheaval Commandline.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/Upheaval_Commandline/Upheaval_Command_Line"
|
2
.launch/Upheaval Gui.game
Normal file
2
.launch/Upheaval Gui.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/Upheaval_Gui/Upheaval"
|
2
.launch/Wurmus.game
Normal file
2
.launch/Wurmus.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/Wurmus/Wurmus"
|
2
.launch/Zombowl.game
Normal file
2
.launch/Zombowl.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/${pkgname%.*}/Zombowl"
|
2
.launch/soundStrider.game
Normal file
2
.launch/soundStrider.game
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pushd "${installPath}"
|
||||||
|
"${installPath}/soundStrider/soundStrider"
|
@ -48,7 +48,7 @@ export DIALOGOPTS='--no-lines --visit-items'
|
|||||||
# Check for updates
|
# Check for updates
|
||||||
check_update() {
|
check_update() {
|
||||||
local url="$(git ls-remote --get-url)"
|
local url="$(git ls-remote --get-url)"
|
||||||
if [[ "$url" =~ ^ssh://|git@ ]] || [[ -z "$url" ]]; then
|
if [[ "$url" =~ ^[[:alnum:]]+@ ]] || [[ -z "$url" ]]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
git remote update > /dev/null 2>&1
|
git remote update > /dev/null 2>&1
|
||||||
@ -72,6 +72,7 @@ check_update() {
|
|||||||
# Check architecture compatibility
|
# Check architecture compatibility
|
||||||
check_architecture() {
|
check_architecture() {
|
||||||
if command -v FEXLoader &> /dev/null ; then
|
if command -v FEXLoader &> /dev/null ; then
|
||||||
|
export fex="FEXLoader -- "
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
local architecture="$(uname -m)"
|
local architecture="$(uname -m)"
|
||||||
@ -151,7 +152,7 @@ desktop_launcher() {
|
|||||||
'Name=Linux game manager'
|
'Name=Linux game manager'
|
||||||
'GenericName=Linux game Manager'
|
'GenericName=Linux game Manager'
|
||||||
'Comment=Install and launch games that are accessible to the blind'
|
'Comment=Install and launch games that are accessible to the blind'
|
||||||
"Exec=${terminal} -t \"Linux Game Manager\" -e \"/usr/bin/bash -c 'nohup $(readlink -e "$0") 2> /dev/null'\""
|
"Exec=${terminal} -t \"Linux Game Manager\" -e \"/usr/bin/bash -c 'pushd $(readlink -e "${0%/*}");nohup ./"${0##*/}" 2> /dev/null'\""
|
||||||
'Terminal=false'
|
'Terminal=false'
|
||||||
'Type=Application'
|
'Type=Application'
|
||||||
'StartupNotify=false'
|
'StartupNotify=false'
|
||||||
@ -232,19 +233,18 @@ download() {
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"wad")
|
"wad")
|
||||||
if [[ "$(file -b --mime-type "${cache}/${dest}")" != "application/octet-stream" ]]; then
|
if [[ "$(file -b --mime-type "${cache}/${dest}")" == "application/octet-stream" ]]; then
|
||||||
downloadError=0
|
downloadError=0
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# Add HTML check for other file types
|
# Add HTML check for other file types
|
||||||
if file -b "${cache}/${dest}" | grep -q "HTML document" ; then
|
if file -b "${cache}/${dest}" | grep -q "HTML document" ; then
|
||||||
echo "File not found: \"$i\" (HTML document probably 404)"
|
downloadError=1
|
||||||
downloadError=0
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
if [[ $downloadError -eq 0 ]]; then
|
if [[ $downloadError -ne 0 ]]; then
|
||||||
rm -fv "${cache}/${dest}"
|
rm -fv "${cache}/${dest}"
|
||||||
dialog --backtitle "Linux Game Manager" \
|
dialog --backtitle "Linux Game Manager" \
|
||||||
--infobox "Error downloading \"${dest}\". Installation cannot continue." -1 -1 --stdout
|
--infobox "Error downloading \"${dest}\". Installation cannot continue." -1 -1 --stdout
|
||||||
@ -332,19 +332,9 @@ help() {
|
|||||||
|
|
||||||
# main script
|
# main script
|
||||||
|
|
||||||
add_launcher() {
|
|
||||||
local launchSettings="${game}|${*}"
|
|
||||||
if ! grep -F -q -x "${launchSettings}" "${configFile}" 2> /dev/null ; then
|
|
||||||
echo "${launchSettings}" >> "${configFile}"
|
|
||||||
sort -o "${configFile}" "${configFile}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Install games
|
# Install games
|
||||||
game_installer() {
|
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 available games by reading from .install directory
|
# Create the menu of available games by reading from .install directory
|
||||||
declare -a menuList
|
declare -a menuList
|
||||||
# Get all .sh files from .install directory, excluding those starting with #, and sort them
|
# Get all .sh files from .install directory, excluding those starting with #, and sort them
|
||||||
@ -398,53 +388,66 @@ game_installer() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
if [[ -e "${0%/*}/.launch/${game}.game" ]] && ! [[ -L "${0%/*}/.launch/${game}.sh" ]]; then
|
||||||
|
ln -srf "${0%/*}/.launch/${game}.game" "${0%/*}/.launch/${game}.sh"
|
||||||
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# remove games
|
# remove games
|
||||||
game_removal() {
|
game_removal() {
|
||||||
mapfile -t lines < <(sed '/^$/d' "${configFile}" 2> /dev/null)
|
# Initialize array for menu construction
|
||||||
if [[ ${#lines} -eq 0 ]]; then
|
mapfile -t menuList < <(
|
||||||
echo "No games found."
|
if [[ -d ".launch" ]]; then
|
||||||
|
find -L "${0%/*}/.launch" -maxdepth 1 -type f -iname "*.sh" -print0 | sort -z | xargs -0 bash -c '
|
||||||
|
for f; do
|
||||||
|
name="${f##*/}"
|
||||||
|
echo "$f"
|
||||||
|
echo "${name%.sh}"
|
||||||
|
done' _
|
||||||
|
fi
|
||||||
|
)
|
||||||
|
if [[ ${#menuList} -eq 0 ]]; then
|
||||||
|
dialog --backtitle "Linux Game Manager" \
|
||||||
|
--msgbox "No games found." -1 -1
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
# Create the menu of installed games
|
# Create the menu of installed games
|
||||||
declare -a menuList
|
local selectedGame
|
||||||
for i in "${lines[@]}" ; do
|
selectedGame=$(dialog --backtitle "Linux Game Manager" \
|
||||||
menuList+=("${i#*|}" "${i%|*}")
|
|
||||||
done
|
|
||||||
menuList+=("Donate" "Donate")
|
|
||||||
menuList+=("Become a Patron" "Become a Patron")
|
|
||||||
local game="$(dialog --backtitle "Audio Game Removal" \
|
|
||||||
--clear \
|
--clear \
|
||||||
--no-tags \
|
--no-tags \
|
||||||
--menu "Please select a game to delete" 0 0 0 "${menuList[@]}" --stdout)"
|
--menu "Please select a game to delete" 0 0 0 "${menuList[@]}" --stdout)
|
||||||
if [[ ${#game} -gt 0 ]]; then
|
exitCode=$?
|
||||||
if [[ "$game" == "Donate" ]]; then
|
[[ $exitCode -ne 0 ]] && exit 0
|
||||||
open_url "https://ko-fi.com/stormux"
|
# Get the actual game file paths
|
||||||
exit 0
|
local gameName="${selectedGame##*/}"
|
||||||
fi
|
gameName="${gameName%.sh}"
|
||||||
if [[ "$game" == "Become a Patron" ]]; then
|
local gameFile="$(readlink -f "${0%/*}/.launch/${gameName}.sh")"
|
||||||
open_url "https://2mb.games/product/2mb-patron/"
|
# Get the actual installation path from the .game file
|
||||||
exit 0
|
local gameInstallPath
|
||||||
fi
|
gameInstallPath="$(grep -F "installPath" "$gameFile" | grep -v 'pushd' | head -n1)"
|
||||||
fi
|
gameInstallPath="${gameInstallPath#*/}"
|
||||||
local launcherPath="$(readlink -f "$0")"
|
gameInstallPath="${installPath}/${gameInstallPath%/*}"
|
||||||
launcherPath="${launcherPath%/*}"
|
if [[ -z "$gameInstallPath" ]] || [[ "${gameInstallPath%%/}" == "$installPath" ]]; then
|
||||||
local noRemove="no"
|
# No install path found, just remove from list
|
||||||
if [[ "${game%/*}" =~ ^$launcherPath ]] ; then
|
|
||||||
# The launcher is actually a script under lgm, do not remove.
|
|
||||||
noRemove="yes"
|
|
||||||
dialog --backtitle "Linux Game Manager" \
|
dialog --backtitle "Linux Game Manager" \
|
||||||
--yesno "This will remove the game from your game list, but will not remove any files. Do you want to continue?." -1 -1 --stdout || exit 0
|
--yesno "This will remove the game from your game list, but will not remove any files. Do you want to continue?" -1 -1 || exit 0
|
||||||
|
# Remove only the .sh symlink
|
||||||
|
rm -fv "${0%/*}/.launch/${gameName}.sh" | \
|
||||||
|
dialog --backtitle "Linux Game Manager" \
|
||||||
|
--progressbox "Removing game from list..." -1 -1
|
||||||
else
|
else
|
||||||
|
# Found install path, can remove game files
|
||||||
dialog --backtitle "Linux Game Manager" \
|
dialog --backtitle "Linux Game Manager" \
|
||||||
--yesno "This will remove the directory \"${game%/*}\" and all of its contents. Do you want to continue?." -1 -1 --stdout || exit 0
|
--yesno "This will remove the directory \"${gameInstallPath}\" and all of its contents. Do you want to continue?" -1 -1 || exit 0
|
||||||
|
# Remove the game directory and symlink
|
||||||
|
{ rm -rfv "${gameInstallPath}"
|
||||||
|
rm -fv "${0%/*}/.launch/${gameName}.sh";
|
||||||
|
} | dialog --backtitle "Linux Game Manager" \
|
||||||
|
--progressbox "Removing game..." -1 -1
|
||||||
fi
|
fi
|
||||||
export noRemove
|
|
||||||
{ [ "$noRemove" == "no" ] && rm -rfv "${game%/*}";
|
|
||||||
sed -i "/${game//\//\\/}/d" "$configFile"; } | dialog --backtitle "Linux Game Manager" --progressbox "Removing game..." -1 -1
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -485,20 +488,25 @@ game_update() {
|
|||||||
|
|
||||||
# launch games that are installed
|
# launch games that are installed
|
||||||
game_launcher() {
|
game_launcher() {
|
||||||
mapfile -t lines < <(sed '/^$/d' "${configFile}" 2> /dev/null)
|
# Initialize array for menu construction
|
||||||
# Create the menu of installed games
|
mapfile -t menuList < <(
|
||||||
declare -a menuList
|
if [[ -d ".launch" ]]; then
|
||||||
for i in "${lines[@]}" ; do
|
find -L "${0%/*}/.launch" -maxdepth 1 -type f -iname "*.sh" -print0 | sort -z | xargs -0 bash -c '
|
||||||
menuList+=("${i#*|}" "${i%|*}")
|
for f; do
|
||||||
done
|
[[ $(head -n1 "$f") =~ ^#$ ]] && continue
|
||||||
# Web based games and donation
|
name="${f##*/}"
|
||||||
menuList+=("Aliens" "Aliens")
|
echo "$f"
|
||||||
menuList+=("Cacophony" "Cacophony")
|
echo "${name%.sh}"
|
||||||
menuList+=("Battle Weary" "Battle Weary")
|
done' _
|
||||||
menuList+=("QuentinC Play Room" "QuentinC Play Room")
|
fi
|
||||||
menuList+=("Trigaea" "Trigaea")
|
)
|
||||||
menuList+=("Donate" "Donate")
|
if [[ ${#menuList} -eq 0 ]]; then
|
||||||
game="$(dialog --backtitle "Linux Game Launcher" \
|
dialog --backtitle "Linux Game Manager" \
|
||||||
|
--msgbox "No games found." 5 20
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
# Create the menu of all games
|
||||||
|
selectedGame="$(dialog --backtitle "Linux Game Launcher" \
|
||||||
--clear \
|
--clear \
|
||||||
--no-tags \
|
--no-tags \
|
||||||
--menu "Please select a game to play" 0 0 0 "${menuList[@]}" --stdout)"
|
--menu "Please select a game to play" 0 0 0 "${menuList[@]}" --stdout)"
|
||||||
@ -506,59 +514,32 @@ game_launcher() {
|
|||||||
if [[ $menuCode -eq 1 ]]; then
|
if [[ $menuCode -eq 1 ]]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
# Remove any trailing | from game variable.
|
. "${selectedGame}"
|
||||||
game="${game%|}"
|
|
||||||
case "${game}" in
|
|
||||||
"Aliens")
|
|
||||||
open_url "https://files.jantrid.net/aliens/"
|
|
||||||
;;
|
|
||||||
"Battle Weary")
|
|
||||||
open_url "https://lonespelunker.itch.io/battle-weary"
|
|
||||||
;;
|
|
||||||
"Cacophony")
|
|
||||||
open_url "https://tianmaru.itch.io/cacophony"
|
|
||||||
;;
|
|
||||||
"QuentinC Play Room")
|
|
||||||
open_url "https://qcsalon.net/"
|
|
||||||
;;
|
|
||||||
"Trigaea")
|
|
||||||
open_url "https://ryngm.itch.io/trigaea"
|
|
||||||
;;
|
|
||||||
"Donate")
|
|
||||||
open_url "https://ko-fi.com/stormux"
|
|
||||||
;;
|
|
||||||
*".tin")
|
|
||||||
git -C "${game%/*}" pull | \
|
|
||||||
dialog --progressbox "Checking for updates, please wait..." -1 -1
|
|
||||||
if [[ -n "${COLORTERM}" ]]; then
|
|
||||||
terminal_emulator tt++ ${game##*/}
|
|
||||||
else
|
|
||||||
pushd "${game%/*}"
|
|
||||||
exec tt++ ${game##*/}
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*"main.py")
|
|
||||||
pushd "${game%/*}"
|
|
||||||
git pull -q | dialog --progressbox "Checking for updates, please wait..." -1 -1
|
|
||||||
python3 ${game}
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
pushd "${game%/*}"
|
|
||||||
if file "${game##*/}" | grep -q "ELF.*x86-64"; then
|
|
||||||
if [[ "$(uname -m)" != "x86_64" ]]; then
|
|
||||||
exec FEXLoader -- ${game}
|
|
||||||
else
|
|
||||||
exec ${game}
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
exec ${game}
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
migrate_launcher() {
|
||||||
|
# Check if config file exists
|
||||||
|
[[ -f "${configFile}" ]] || return
|
||||||
|
# Process each line of the config file
|
||||||
|
while IFS= read -r line; do
|
||||||
|
# Skip empty lines
|
||||||
|
[[ -z "${line}" ]] && continue
|
||||||
|
# Extract game name and path
|
||||||
|
gameName="${line%|*}"
|
||||||
|
# Create launcher script if it doesn't exist
|
||||||
|
if [[ ! -L "${0%/*}/.launch/${gameName}.sh" ]]; then
|
||||||
|
ln -srf "${0%/*}/.launch/${gameName}.game" "${0%/*}/.launch/${gameName}.sh"
|
||||||
|
fi
|
||||||
|
done < <(sed '/^$/d' "${configFile}")
|
||||||
|
# Move the old config file and notify user
|
||||||
|
mv "${configFile}" "${configFile}.bak"
|
||||||
|
dialog --backtitle "Linux Game manager" --msgbox \
|
||||||
|
"Games have been converted to the new launch system.\nThe old game launch information has been moved to ${configFile}.bak\nIf everything works like you expect, feel free to delete ${configFile}" -1 -1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# If display isn't set assume we are launching from console and an X environment is running using display :0
|
# If display isn't set assume we are launching from console and an X environment is running using display :0
|
||||||
# Warning, launching games from console is not recommended.
|
# Warning, launching games from console is not recommended.
|
||||||
if [[ -z "$DISPLAY" ]]; then
|
if [[ -z "$DISPLAY" ]]; then
|
||||||
@ -583,6 +564,7 @@ export spd_rate="${spd_rate:+ -r ${spd_rate}}"
|
|||||||
export spd_voice="${spd_voice:+ -y ${spd_voice}}"
|
export spd_voice="${spd_voice:+ -y ${spd_voice}}"
|
||||||
export spd_volume="${spd_volume:+ -i ${spd_volume}}"
|
export spd_volume="${spd_volume:+ -i ${spd_volume}}"
|
||||||
mkdir -p "${installPath}"
|
mkdir -p "${installPath}"
|
||||||
|
migrate_launcher
|
||||||
|
|
||||||
|
|
||||||
# Check for required packages
|
# Check for required packages
|
||||||
|
Loading…
x
Reference in New Issue
Block a user