2020-08-27 15:42:24 -04:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
# Wine configuration section
|
|
|
|
|
2020-08-27 17:35:32 -04:00
|
|
|
checklist() {
|
|
|
|
declare -a errorList
|
|
|
|
echo "Checking your system..."
|
|
|
|
echo
|
|
|
|
if command -v wine &> /dev/null ; then
|
|
|
|
echo "Wine is installed."
|
|
|
|
else
|
|
|
|
errorList+=("Critical: Wine is not installed. You will not be able to play any games.")
|
|
|
|
fi
|
|
|
|
if command -v wget &> /dev/null ; then
|
|
|
|
echo "Wget is installed."
|
|
|
|
else
|
|
|
|
errorList+=("Critical: Wget is not installed. You will not be able to install any games.")
|
|
|
|
fi
|
2020-09-04 18:45:45 -04:00
|
|
|
for i in cabextract unzip xz ; do
|
|
|
|
if command -v $i &> /dev/null ; then
|
|
|
|
echo "${i^} is installed."
|
|
|
|
else
|
|
|
|
errorList+=("Critical: ${i^} is not installed. You will not be able to install most games.")
|
|
|
|
fi
|
|
|
|
done
|
2020-09-02 22:36:48 -04:00
|
|
|
if command -v ocrdesktop &> /dev/null ; then
|
|
|
|
echo "Ocrdesktop is installed."
|
|
|
|
else
|
|
|
|
errorList+=("Warning: ocrdesktop is not installed. It can help if the installer gets stuck to figure out what is happening.")
|
|
|
|
fi
|
|
|
|
if command -v unix2dos &> /dev/null ; then
|
|
|
|
echo "Dos2unix is installed."
|
|
|
|
else
|
|
|
|
errorList+=("Warning: unix2dos is not installed. Some games need a configuration file in dos format before they will run.")
|
|
|
|
fi
|
2020-08-27 17:35:32 -04:00
|
|
|
if [[ -d /usr/share/wine/gecko/ ]]; then
|
|
|
|
echo "Found wine gecko."
|
|
|
|
else
|
|
|
|
errorList+=("Warning: Wine gecko not found, some games may not work.")
|
|
|
|
fi
|
|
|
|
if [[ -d /usr/share/wine/mono/ ]]; then
|
|
|
|
echo "Found wine mono."
|
|
|
|
else
|
|
|
|
errorList+=("Warning: Wine mono not found, some games may not work.")
|
|
|
|
fi
|
|
|
|
# Show the results
|
|
|
|
if [[ ${#errorList[@]} -eq 0 ]]; then
|
|
|
|
echo "No problems found, you are good to go."
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
echo "Errors detected, here is a list along with the severity."
|
|
|
|
echo "Note that errors marked critical mean that you will not be able to install and play games until they are resolved."
|
|
|
|
for i in "${errorList[@]}" ; do
|
|
|
|
echo "$i"
|
|
|
|
done
|
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
|
2020-09-06 14:38:16 -04:00
|
|
|
download() {
|
|
|
|
local source=($@)
|
|
|
|
for i in "${source[@]}" ; do
|
|
|
|
local dest="${i##*/}"
|
|
|
|
dest="${dest//%20/ }"
|
2020-09-06 19:20:14 -04:00
|
|
|
# Return if the game is in cache.
|
|
|
|
test -e "${cache}/${dest}" && return
|
|
|
|
if ! wget -O "${cache}/${dest}" "${i}" ; then
|
2020-09-06 14:38:16 -04:00
|
|
|
echo "Could not download game."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2020-09-05 00:26:29 -04:00
|
|
|
help() {
|
|
|
|
echo -e "Usage:\n"
|
|
|
|
echo "With no arguments, open the game launcher."
|
|
|
|
for i in "${!command[@]}" ; do
|
|
|
|
echo "-${i}: ${command[${i}]}"
|
|
|
|
done | sort
|
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
|
2020-08-27 15:42:24 -04:00
|
|
|
install_wine_bottle() {
|
|
|
|
local bottle="${game,,}"
|
|
|
|
bottle="${bottle//[[:space:]]/-}"
|
|
|
|
mkdir -p "$HOME/.local/wine/${bottle}"
|
|
|
|
export WINEPREFIX="$HOME/.local/wine/${bottle}"
|
|
|
|
# Arguments to the function are dependancies to be installed.
|
|
|
|
(wine msiexec /i z:/usr/share/wine/mono/$(ls -1 /usr/share/wine/mono/) /silent
|
|
|
|
wine msiexec /i z:$(ls -1 /usr/share/wine/gecko/*x86.msi) /silent
|
|
|
|
winetricks -q $@ ${winVer:-winxp} ${winetricksSettings}) | dialog --progressbox "Installing wine bottle, please wait..." -1 -1
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Install games
|
|
|
|
game_installer() {
|
2020-09-01 14:39:39 -04:00
|
|
|
mapfile -t installedGames < <(sed '/^$/d' "${configFile}" 2> /dev/null | cut -d '|' -f3)
|
2020-08-27 15:42:24 -04:00
|
|
|
# Create the menu of installed games
|
|
|
|
declare -a menuList
|
|
|
|
for i in "${gameList[@]}" ; do
|
|
|
|
local menuItem="$i"
|
|
|
|
for j in "${installedGames[@]}" ; do
|
|
|
|
if [[ "$j" == "$menuItem" ]]; then
|
|
|
|
unset menuItem
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
if [[ -n "$menuItem" ]]; then
|
|
|
|
menuList+=("$menuItem" "$menuItem")
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
if [[ ${#menuList[@]} -eq 0 ]]; then
|
|
|
|
echo "All games are already installed."
|
|
|
|
exit 0
|
|
|
|
fi
|
2020-09-01 14:39:39 -04:00
|
|
|
menuList+=("Make a One Time Donation" "Make a One Time Donation")
|
|
|
|
menuList+=("Become a Patron" "Become a Patron")
|
2020-08-27 15:42:24 -04:00
|
|
|
game="$(dialog --backtitle "Audio Game Installer" \
|
|
|
|
--clear \
|
|
|
|
--no-tags \
|
|
|
|
--menu "Please select a game to install" 0 0 0 "${menuList[@]}" --stdout)"
|
|
|
|
}
|
|
|
|
|
2020-09-04 23:32:26 -04:00
|
|
|
# remove games
|
|
|
|
game_removal() {
|
|
|
|
mapfile -t lines < <(sed '/^$/d' "${configFile}" 2> /dev/null)
|
|
|
|
if [[ ${#lines} -eq 0 ]]; then
|
|
|
|
echo "No games found."
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
# Create the menu of installed games
|
|
|
|
declare -a menuList
|
|
|
|
for i in "${lines[@]}" ; do
|
|
|
|
menuList+=("${i%|*}" "${i##*|}")
|
|
|
|
done
|
|
|
|
menuList+=("Make a One Time Donation" "Make a One Time Donation")
|
|
|
|
menuList+=("Become a Patron" "Become a Patron")
|
|
|
|
local game="$(dialog --backtitle "Audio Game Removal" \
|
|
|
|
--clear \
|
|
|
|
--no-tags \
|
|
|
|
--menu "Please select a game to delete" 0 0 0 "${menuList[@]}" --stdout)"
|
|
|
|
if [[ ${#game} -gt 0 ]]; then
|
|
|
|
if [[ "$game" == "Make a One Time Donation" ]]; then
|
|
|
|
xdg-open "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=stormdragon2976@gmail.com&lc=US&item_name=Donation+to+Storm+Games&no_note=0&cn=¤cy_code=USD&bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted"
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
if [[ "$game" == "Become a Patron" ]]; then
|
|
|
|
xdg-open "https://patreon.com/stormux"
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
local winePath="${game#*|}"
|
|
|
|
winePath="${winePath%\\*.exe}"
|
|
|
|
local wineExec="${game#*|}"
|
|
|
|
wineExec="${wineExec%|*}"
|
|
|
|
wineExec="${wineExec##*\\}"
|
|
|
|
# kill any previous existing wineservers for this prefix in case they didn't shut down properly.
|
|
|
|
WINEPREFIX="${HOME}/.local/wine/${game%|*}" wineserver -k
|
|
|
|
# remove the game
|
|
|
|
rm -rf "${HOME}/.local/wine/${game%|*}"
|
|
|
|
# remove the launcher
|
|
|
|
awk -i inplace -vLine="${game//\\/\\\\}" '!index($0,Line)' "$configFile"
|
2020-09-05 15:02:33 -04:00
|
|
|
echo "The selected game has been deleted."
|
2020-09-04 23:32:26 -04:00
|
|
|
fi
|
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
|
2020-08-27 15:42:24 -04:00
|
|
|
# launch games that are installed
|
|
|
|
game_launcher() {
|
2020-09-01 14:39:39 -04:00
|
|
|
mapfile -t lines < <(sed '/^$/d' "${configFile}" 2> /dev/null)
|
2020-08-27 15:42:24 -04:00
|
|
|
if [[ ${#lines} -eq 0 ]]; then
|
|
|
|
echo "Install some games first."
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
# Create the menu of installed games
|
|
|
|
declare -a menuList
|
|
|
|
for i in "${lines[@]}" ; do
|
|
|
|
menuList+=("${i%|*}" "${i##*|}")
|
|
|
|
done
|
2020-09-01 14:39:39 -04:00
|
|
|
menuList+=("Make a One Time Donation" "Make a One Time Donation")
|
|
|
|
menuList+=("Become a Patron" "Become a Patron")
|
2020-08-27 15:42:24 -04:00
|
|
|
local game="$(dialog --backtitle "Audio Game Launcher" \
|
|
|
|
--clear \
|
|
|
|
--no-tags \
|
|
|
|
--menu "Please select a game to play" 0 0 0 "${menuList[@]}" --stdout)"
|
|
|
|
if [[ ${#game} -gt 0 ]]; then
|
2020-09-01 14:39:39 -04:00
|
|
|
if [[ "$game" == "Make a One Time Donation" ]]; then
|
|
|
|
xdg-open "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=stormdragon2976@gmail.com&lc=US&item_name=Donation+to+Storm+Games&no_note=0&cn=¤cy_code=USD&bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted"
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
if [[ "$game" == "Become a Patron" ]]; then
|
|
|
|
xdg-open "https://patreon.com/stormux"
|
|
|
|
exit 0
|
|
|
|
fi
|
2020-08-27 15:42:24 -04:00
|
|
|
local winePath="${game#*|}"
|
|
|
|
winePath="${winePath%\\*.exe}"
|
|
|
|
local wineExec="${game#*|}"
|
|
|
|
wineExec="${wineExec%|*}"
|
|
|
|
wineExec="${wineExec##*\\}"
|
2020-09-01 14:39:39 -04:00
|
|
|
# kill any previous existing wineservers for this prefix in case they didn't shut down properly.
|
|
|
|
WINEPREFIX="${HOME}/.local/wine/${game%|*}" wineserver -k
|
|
|
|
# launch the game
|
2020-08-27 15:42:24 -04:00
|
|
|
WINEPREFIX="${HOME}/.local/wine/${game%|*}" wine start /d "${winePath}" "$wineExec"
|
|
|
|
fi
|
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# main script
|
|
|
|
|
|
|
|
#functions
|
|
|
|
|
|
|
|
add_launcher() {
|
|
|
|
local launchSettings="${game,,}"
|
|
|
|
launchSettings="${launchSettings//[[:space:]]/-}|${1}|${game}"
|
2020-09-01 14:39:39 -04:00
|
|
|
if ! grep -F -q -x "${launchSettings}" "${configFile}" ; then
|
|
|
|
echo "${launchSettings}" >> "${configFile}"
|
2020-09-03 20:21:08 -04:00
|
|
|
sort -o "${configFile}" "${configFile}"
|
2020-09-05 12:37:10 -04:00
|
|
|
# Remove .lnk files because they don't work.
|
|
|
|
find ~/Desktop -type f -iname '*.lnk' -exec bash -c '
|
|
|
|
for f ; do
|
|
|
|
mimeType="$(file -b "$f")"
|
|
|
|
mimeType="${mimeType%%,*}"
|
|
|
|
if [[ "$mimeType" == "MS Windows shortcut" ]]; then
|
|
|
|
rm -v "$f"
|
|
|
|
fi
|
|
|
|
done' _ {} +
|
2020-09-06 19:20:14 -04:00
|
|
|
if [[ "${noCache}" == "true" ]]; then
|
|
|
|
rm -f "${cache}/${1##*\\}"
|
|
|
|
fi
|
2020-08-27 15:42:24 -04:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
automate_installer() {
|
|
|
|
# Function arguments are the keys to be pressed.
|
2020-09-02 22:36:48 -04:00
|
|
|
sleep 15
|
|
|
|
declare -a keyList
|
2020-08-27 15:42:24 -04:00
|
|
|
for i in ${@} ; do
|
|
|
|
case "$i" in
|
2020-09-02 22:36:48 -04:00
|
|
|
"alt+f") keyList+=("sleep 15 key ${i}");;
|
|
|
|
"space") keyList+=("sleep 1 key ${i}");;
|
|
|
|
*"+"*) keyList+=("sleep 1 key ${i}");;
|
|
|
|
*) xdotool sleep 1 type ${i};;
|
2020-08-27 15:42:24 -04:00
|
|
|
esac
|
|
|
|
done
|
2020-08-27 17:35:32 -04:00
|
|
|
xdotool ${keyList[*]} &
|
2020-09-02 22:36:48 -04:00
|
|
|
# call wineserver -w in case something failed here, the user will have a chance to try to fix it.
|
|
|
|
wineserver -w
|
2020-08-27 15:42:24 -04:00
|
|
|
}
|
|
|
|
|
2020-09-06 14:38:16 -04:00
|
|
|
# If display isn't set assume we are launching from console and an X environment is running using display :0
|
|
|
|
if [[ -z "$DISPLAY" ]]; then
|
|
|
|
export DISPLAY=":0"
|
|
|
|
fi
|
2020-09-01 14:39:39 -04:00
|
|
|
# Settings file
|
2020-09-06 19:20:14 -04:00
|
|
|
cache="${XDG_CONFIG_HOME:-$HOME/.config}/storm-games/audiogame-manager/cache"
|
2020-09-01 14:39:39 -04:00
|
|
|
configFile="${XDG_CONFIG_HOME:-$HOME/.config}/storm-games/audiogame-manager/games.conf"
|
2020-09-06 19:20:14 -04:00
|
|
|
mkdir -p "${cache}"
|
2020-09-01 14:39:39 -04:00
|
|
|
mkdir -p "${configFile%/*}"
|
2020-08-27 15:42:24 -04:00
|
|
|
# 32 bit installations work best and are the default here, if you need to override it, do it in the game specific installation steps.
|
|
|
|
export WINEARCH=win32
|
|
|
|
# Turn off debug messages
|
|
|
|
export WINEDEBUG="-all"
|
|
|
|
# During installation, you can set winVer to the versions available.
|
|
|
|
# To set winetricks arguments, such as virtual desktop, set the winetricksSettings variable.
|
|
|
|
# Example: winetricksSettings="vd=1024x768"
|
2020-09-06 19:20:14 -04:00
|
|
|
# Files are cached unless -N no cache is set.
|
|
|
|
unset noCache
|
2020-09-02 22:36:48 -04:00
|
|
|
# Manual installation is not default, make sure it's unset
|
|
|
|
unset manualInstall
|
2020-08-27 15:42:24 -04:00
|
|
|
|
|
|
|
# The list of games available for installation.
|
|
|
|
# Use menu friendly names.
|
|
|
|
gameList=(
|
2020-09-06 14:38:16 -04:00
|
|
|
"Adrian's Doom"
|
2020-08-28 20:11:17 -04:00
|
|
|
"Battle Zone"
|
2020-08-27 21:27:10 -04:00
|
|
|
"Bloodshed"
|
2020-09-06 14:38:16 -04:00
|
|
|
"Easter Quest"
|
2020-08-27 15:42:24 -04:00
|
|
|
"Kitchensinc Games"
|
2020-08-30 22:26:53 -04:00
|
|
|
"Light Cars"
|
2020-09-04 22:25:00 -04:00
|
|
|
"Lockpick"
|
2020-09-07 14:54:17 -04:00
|
|
|
"Oh Shit!"
|
2020-09-01 14:39:39 -04:00
|
|
|
"Shades of Doom"
|
2020-08-27 15:42:24 -04:00
|
|
|
"Super Egg Hunt"
|
2020-08-31 15:51:29 -04:00
|
|
|
"Super Liam"
|
2020-09-07 14:54:17 -04:00
|
|
|
"Survive the Wild"
|
2020-09-05 15:02:33 -04:00
|
|
|
"Swamp"
|
2020-08-27 15:42:24 -04:00
|
|
|
"The Blind Swordsman"
|
2020-08-31 15:51:29 -04:00
|
|
|
"Technoshock"
|
2020-08-27 15:42:24 -04:00
|
|
|
"Top Speed 3"
|
|
|
|
"Q9"
|
|
|
|
"RS Games"
|
2020-08-28 20:11:17 -04:00
|
|
|
"Undead Assault"
|
2020-08-27 15:42:24 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
# With no arguments, open the game launcher.
|
|
|
|
if [[ $# -eq 0 ]]; then
|
|
|
|
game_launcher
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Array of command line arguments
|
2020-09-05 00:26:29 -04:00
|
|
|
declare -A command=(
|
|
|
|
[c]="Check your system for necessary components."
|
|
|
|
[h]="This help screen."
|
|
|
|
[i]="Install games."
|
|
|
|
[m]="Manually handle install screens instead of using xdotools."
|
2020-09-06 19:20:14 -04:00
|
|
|
[N]="No cache, delete the installer after it has been extracted."
|
2020-09-05 00:26:29 -04:00
|
|
|
[r]="Remove a game. This will delete all game data."
|
2020-08-27 15:42:24 -04:00
|
|
|
)
|
|
|
|
|
2020-09-05 00:26:29 -04:00
|
|
|
# Convert the keys of the associative array to a format usable by getopts
|
|
|
|
args="${!command[*]}"
|
|
|
|
args="${args//[[:space:]]/}"
|
|
|
|
while getopts "${args}" i ; do
|
2020-08-27 15:42:24 -04:00
|
|
|
case "$i" in
|
2020-08-27 17:35:32 -04:00
|
|
|
c) checklist;;
|
2020-09-05 00:26:29 -04:00
|
|
|
h) help;;
|
2020-08-27 17:35:32 -04:00
|
|
|
i) game_installer;;
|
2020-09-04 23:32:26 -04:00
|
|
|
m) manualInstall="true";;
|
2020-09-06 19:26:48 -04:00
|
|
|
N) noCache="true";;
|
2020-09-04 23:32:26 -04:00
|
|
|
r) game_removal;;
|
2020-08-27 15:42:24 -04:00
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
# Install game based on the selection above.
|
|
|
|
case "${game}" in
|
2020-09-06 14:38:16 -04:00
|
|
|
"Adrian's Doom")
|
|
|
|
install_wine_bottle speechsdk
|
|
|
|
download "https://agarchive.net/games/mt/adrian's%20doom.exe"
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/adrian's doom.exe" /silent
|
2020-09-06 14:38:16 -04:00
|
|
|
add_launcher "c:\Program Files\Two Caring Citizens\Adrian's Doom!\adrian.exe"
|
|
|
|
;;
|
2020-08-28 20:11:17 -04:00
|
|
|
"Battle Zone")
|
|
|
|
# Speech not working through sapi.
|
|
|
|
export winVer="win7"
|
|
|
|
install_wine_bottle speechsdk
|
2020-09-06 14:38:16 -04:00
|
|
|
download "https://www.agarchive.net/games/gameMadnessInteractive/battle%20zone%2013.5%20setup.exe"
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/battle zone 13.5 setup.exe" /silent
|
2020-08-28 20:11:17 -04:00
|
|
|
add_launcher "c:\Program Files\Battle Zone\ss.exe"
|
|
|
|
;;
|
2020-08-27 21:27:10 -04:00
|
|
|
"Bloodshed")
|
|
|
|
install_wine_bottle speechsdk
|
2020-09-06 14:38:16 -04:00
|
|
|
download "http://www.samtupy.com/games/bloodshed.exe"
|
2020-09-06 19:20:14 -04:00
|
|
|
cp "${cache}/bloodshed.exe" "$WINEPREFIX/drive_c/Program Files/"
|
2020-08-27 21:27:10 -04:00
|
|
|
;;
|
2020-09-06 14:38:16 -04:00
|
|
|
"Easter Quest")
|
|
|
|
install_wine_bottle
|
|
|
|
download "https://agarchive.net/games/mt/easter%20quest%20setup.exe"
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/easter quest setup.exe" /silent
|
2020-09-06 14:38:16 -04:00
|
|
|
add_launcher "c:\Program Files\MTGames\Easter Quest\easter.exe"
|
|
|
|
;;
|
2020-08-27 15:42:24 -04:00
|
|
|
"Kitchensinc Games")
|
2020-09-04 18:45:45 -04:00
|
|
|
install_wine_bottle vb6run speechsdk dx8vb
|
2020-09-06 14:38:16 -04:00
|
|
|
download "https://stormgames.wolfe.casa/downloads/kitchen.tar.xz"
|
2020-09-04 18:45:45 -04:00
|
|
|
echo "Extracting files..."
|
2020-09-06 19:20:14 -04:00
|
|
|
tar xf "${cache}/kitchen.tar.xz" -C "$WINEPREFIX/drive_c/Program Files/"
|
2020-08-27 15:42:24 -04:00
|
|
|
add_launcher "c:\Program Files\Kitchen's Sink\gamemenu.exe"
|
|
|
|
;;
|
2020-08-30 22:26:53 -04:00
|
|
|
"Light Cars")
|
2020-09-02 22:36:48 -04:00
|
|
|
install_wine_bottle dx8vb vb6run
|
2020-09-06 14:38:16 -04:00
|
|
|
download "https://www.agarchive.net/games/lighttech/light%20cars%20setup.exe"
|
2020-09-02 22:36:48 -04:00
|
|
|
if [[ -n "$manualInstall" ]]; then
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/light cars setup.exe"
|
2020-09-02 22:36:48 -04:00
|
|
|
else
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/light cars setup.exe" &
|
2020-09-02 22:36:48 -04:00
|
|
|
automate_installer alt+n alt+a space alt+n alt+n alt+i alt+f
|
|
|
|
fi
|
|
|
|
echo -e "${USER} ${HOST}\nna@na.na\nUS" > ~/.local/wine/light-cars/drive_c/Program\ Files/Lighttech\ Interactive/Light\ Cars/config.dat
|
|
|
|
unix2dos ~/.local/wine/light-cars/drive_c/Program\ Files/Lighttech\ Interactive/Light\ Cars/config.dat
|
2020-08-30 22:26:53 -04:00
|
|
|
add_launcher "c:\Program Files\Lighttech Interactive\Light Cars\lightCars.exe"
|
|
|
|
;;
|
2020-09-04 22:25:00 -04:00
|
|
|
"Lockpick")
|
|
|
|
install_wine_bottle vb6run dx8vb
|
2020-09-06 19:20:14 -04:00
|
|
|
download "http://files.l-works.net/lockpicksetup.exe"
|
|
|
|
wine "${cache}/lockpicksetup.exe" /silent
|
2020-09-04 22:25:00 -04:00
|
|
|
add_launcher "c:\Program Files\lWorks\Lockpick\lockpick.exe"
|
|
|
|
;;
|
2020-09-07 14:54:17 -04:00
|
|
|
"Oh Shit!")
|
|
|
|
install_wine_bottle msvcrt40 speechsdk
|
|
|
|
download "http://samtupy.com/stevend/oh_shit.zip"
|
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/oh_shit.zip"
|
|
|
|
add_launcher "c:\Program Files\oh_shit\OhShit.exe"
|
|
|
|
;;
|
2020-09-01 14:39:39 -04:00
|
|
|
"Shades of Doom")
|
|
|
|
install_wine_bottle vcrun6
|
2020-09-06 14:38:16 -04:00
|
|
|
download "http://www.gmagames.com/sod20022.exe"
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/sod20022.exe" /silent
|
2020-09-01 14:39:39 -04:00
|
|
|
add_launcher "c:\Program Files\Shades of Doom 2.0\sod.exe"
|
|
|
|
;;
|
2020-08-27 15:42:24 -04:00
|
|
|
"Super Egg Hunt")
|
|
|
|
install_wine_bottle
|
2020-09-06 14:38:16 -04:00
|
|
|
download "http://files.l-works.net/superegghuntsetup.exe"
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/superegghuntsetup.exe" /silent
|
2020-08-27 15:42:24 -04:00
|
|
|
add_launcher "c:\Program Files\Lworks\super egg hunt\superegghunt.exe"
|
|
|
|
;;
|
2020-08-31 15:51:29 -04:00
|
|
|
"Super Liam")
|
|
|
|
install_wine_bottle vb6run dx8vb
|
2020-09-06 14:38:16 -04:00
|
|
|
download "http://files.l-works.net/superliamsetup.exe"
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/superliamsetup.exe" /silent
|
2020-08-31 15:51:29 -04:00
|
|
|
add_launcher "c:\Program Files\lWorks\Super Liam\sl.exe"
|
|
|
|
;;
|
2020-09-07 14:54:17 -04:00
|
|
|
"Survive the Wild")
|
|
|
|
export winVer="win7"
|
|
|
|
install_wine_bottle setupapi speechsdk
|
|
|
|
download "http://www.samtupy.com/games/STWSetup.exe"
|
|
|
|
wine "${cache}/STWSetup.exe" /silent
|
|
|
|
add_launcher "c:\Program Files\Sam Tupy\Survive the Wild\stw.exe"
|
|
|
|
;;
|
2020-09-05 15:02:33 -04:00
|
|
|
"Swamp")
|
|
|
|
winetricksSettings="vd=1024x768"
|
|
|
|
install_wine_bottle vb6run dx8vb quartz speechsdk corefonts
|
2020-09-06 14:38:16 -04:00
|
|
|
download "https://kaldobsky.com/audiogames/SwampPart1.zip" "https://kaldobsky.com/audiogames/SwampPart2.zip"
|
2020-09-06 19:20:14 -04:00
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPart1.zip"
|
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPart2.zip"
|
2020-09-05 15:02:33 -04:00
|
|
|
# make sure the latest version is installed.
|
2020-09-06 19:20:14 -04:00
|
|
|
if wget -O "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then
|
|
|
|
unzip -o -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPatch.zip"
|
|
|
|
fi
|
2020-09-05 15:02:33 -04:00
|
|
|
wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows32bit.bat'
|
|
|
|
add_launcher "c:\Program Files\swamp\Swamp.exe"
|
|
|
|
;;
|
2020-08-27 15:42:24 -04:00
|
|
|
"The Blind Swordsman")
|
|
|
|
install_wine_bottle
|
2020-09-06 14:38:16 -04:00
|
|
|
download "http://www.evildogserver.com/theblindswordsman/theblindswordsmanPC.zip"
|
2020-09-06 19:20:14 -04:00
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/theblindswordsmanPC.zip"
|
2020-08-27 15:42:24 -04:00
|
|
|
add_launcher "c:\Program Files\TheBlindSwordsman.exe"
|
|
|
|
;;
|
2020-08-31 15:51:29 -04:00
|
|
|
"Technoshock")
|
|
|
|
install_wine_bottle
|
2020-09-06 14:38:16 -04:00
|
|
|
download "http://tiflocomp.ru/download/games/technoshock_140b_en.zip" "http://tiflocomp.ru/download/games/technoshock140b_en_update.zip"
|
2020-09-06 19:20:14 -04:00
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/technoshock_140b_en.zip"
|
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/technoshock_140b_en_update.zip"
|
2020-08-31 15:51:29 -04:00
|
|
|
wine "$WINEPREFIX/drive_c/Program Files/setup_eng.exe" /silent
|
|
|
|
wineserver -w
|
2020-08-31 16:14:36 -04:00
|
|
|
wine "$WINEPREFIX/drive_c/Program Files/setup_eng_update_pack.exe" /silent
|
2020-08-31 16:47:38 -04:00
|
|
|
add_launcher "c:\Program Files\Tiflocomp Games\Technoshock\ts.exe"
|
2020-08-31 15:51:29 -04:00
|
|
|
;;
|
2020-08-27 15:42:24 -04:00
|
|
|
"Top Speed 3")
|
2020-08-28 20:11:17 -04:00
|
|
|
install_wine_bottle directplay
|
2020-09-06 14:38:16 -04:00
|
|
|
download "https://github.com/PlayingintheDark/TopSpeed/releases/download/h/Tspeed_3.0.3.exe"
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/Tspeed_3.0.3.exe" /silent
|
2020-08-27 15:42:24 -04:00
|
|
|
add_launcher "c:\Program Files\Playing in the dark\Top Speed 3\TopSpeed.exe"
|
|
|
|
;;
|
|
|
|
"Q9")
|
|
|
|
install_wine_bottle
|
2020-09-06 14:38:16 -04:00
|
|
|
download "http://www.blastbay.com/q9_english_installer.exe"
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/q9_english_installer.exe" /silent
|
2020-08-27 15:42:24 -04:00
|
|
|
add_launcher "c:\Program Files\Q9 Action Game\q9.exe"
|
|
|
|
;;
|
|
|
|
"RS Games")
|
2020-08-28 20:11:17 -04:00
|
|
|
# Does not speak with sapi.
|
2020-09-06 14:38:16 -04:00
|
|
|
export winetricksSettings="vd=1024x768"
|
2020-09-02 11:05:52 -04:00
|
|
|
install_wine_bottle speechsdk vcrun6
|
2020-09-06 14:38:16 -04:00
|
|
|
download "http://rsgames.org/rsdownloads/rsgclient/rsgames-client-setup-2.01.exe"
|
2020-09-06 19:20:14 -04:00
|
|
|
wine "${cache}/rsgames-client-setup-2.01.exe" /silent
|
2020-08-27 15:42:24 -04:00
|
|
|
add_launcher "c:\Program Files\RS Games Client\rsg.exe"
|
|
|
|
;;
|
2020-08-28 20:11:17 -04:00
|
|
|
"Undead Assault")
|
|
|
|
# Does not speak with sapi.
|
|
|
|
install_wine_bottle speechsdk vcrun6sp6
|
2020-09-06 14:38:16 -04:00
|
|
|
download "http://undead-assault.com/static/files/public/undead_assault.zip"
|
2020-09-06 19:20:14 -04:00
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/undead_assault.zip"
|
2020-08-28 20:11:17 -04:00
|
|
|
add_launcher "c:\Program Files\Undead Assault.exe"
|
|
|
|
;;
|
2020-09-01 18:29:07 -04:00
|
|
|
"Make a One Time Donation")
|
2020-09-01 14:39:39 -04:00
|
|
|
xdg-open "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=stormdragon2976@gmail.com&lc=US&item_name=Donation+to+Storm+Games&no_note=0&cn=¤cy_code=USD&bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted"
|
|
|
|
;;
|
2020-09-01 18:29:07 -04:00
|
|
|
"Become a Patron")
|
2020-09-01 14:39:39 -04:00
|
|
|
xdg-open "https://patreon.com/stormux"
|
|
|
|
;;
|
2020-08-27 15:42:24 -04:00
|
|
|
*)
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
exit 0
|