Merge branch 'testing' in preparation for binary release.
This commit is contained in:
commit
f5b8b26c01
@ -148,71 +148,92 @@ EOF
|
||||
|
||||
checklist() {
|
||||
declare -a errorList
|
||||
declare -a packageList
|
||||
if [[ $# -eq 0 ]]; then
|
||||
echo "Checking your system..."
|
||||
echo
|
||||
fi
|
||||
if command -v wine &> /dev/null ; then
|
||||
echo "Wine is installed."
|
||||
[[ $# -eq 0 ]] && echo "Wine is installed."
|
||||
else
|
||||
errorList+=("Critical: Wine is not installed. You will not be able to play any games.")
|
||||
fi
|
||||
packageList+=("wine")
|
||||
if command -v winetricks &> /dev/null ; then
|
||||
echo "Winetricks is installed."
|
||||
[[ $# -eq 0 ]] && echo "Winetricks is installed."
|
||||
else
|
||||
errorList+=("Critical: Winetricks is not installed. This means wine cannot be configured, dependancies cannot be installed, and only self-voicing games have any chance of working.")
|
||||
fi
|
||||
packageList+=("winetricks")
|
||||
if command -v wget &> /dev/null ; then
|
||||
echo "Wget is installed."
|
||||
[[ $# -eq 0 ]] && echo "Wget is installed."
|
||||
else
|
||||
errorList+=("Critical: Wget is not installed. You will not be able to install any games.")
|
||||
fi
|
||||
packageList+=("wget")
|
||||
if command -v dialog &> /dev/null ; then
|
||||
echo "Dialog is installed."
|
||||
[[ $# -eq 0 ]] && echo "Dialog is installed."
|
||||
else
|
||||
errorList+=("Critical: Dialog is not installed. You will not be able to install, launch, or remove any games.")
|
||||
fi
|
||||
packageList+=("dialog")
|
||||
for i in 7z cabextract unzip xz ; do
|
||||
if command -v $i &> /dev/null ; then
|
||||
echo "${i^} is installed."
|
||||
[[ $# -eq 0 ]] && echo "${i^} is installed."
|
||||
else
|
||||
errorList+=("Critical: ${i^} is not installed. You will not be able to install some games or their components.")
|
||||
fi
|
||||
packageList+=("$i")
|
||||
done
|
||||
if command -v gawk &> /dev/null ; then
|
||||
echo "Gawk is installed."
|
||||
[[ $# -eq 0 ]] && echo "Gawk is installed."
|
||||
else
|
||||
errorList+=("Warning: gawk is not installed. Game removal with -r will not work.")
|
||||
fi
|
||||
packageList+=("gawk")
|
||||
if command -v ocrdesktop &> /dev/null ; then
|
||||
echo "Ocrdesktop is installed."
|
||||
[[ $# -eq 0 ]] && 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
|
||||
packageList+=("ocrdesktop")
|
||||
if command -v qjoypad &> /dev/null ; then
|
||||
echo "Qjoypad is installed."
|
||||
[[ $# -eq 0 ]] && echo "Qjoypad is installed."
|
||||
else
|
||||
errorList+=("Warning: qjoypad is not installed. Qjoypad allows you to play keyboard only games with a gamepad.")
|
||||
fi
|
||||
packageList+=("qjoypad")
|
||||
if command -v unix2dos &> /dev/null ; then
|
||||
echo "Dos2unix is installed."
|
||||
[[ $# -eq 0 ]] && 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
|
||||
packageList+=("unix2dos")
|
||||
if command -v w3m &> /dev/null ; then
|
||||
echo "W3m is installed."
|
||||
[[ $# -eq 0 ]] && echo "W3m is installed."
|
||||
else
|
||||
errorList+=("Warning: w3m is not installed. W3m is used to view game documentation.")
|
||||
fi
|
||||
packageList+=("w3m")
|
||||
if command -v xclip &> /dev/null ; then
|
||||
echo "Xclip is installed."
|
||||
[[ $# -eq 0 ]] && echo "Xclip is installed."
|
||||
else
|
||||
errorList+=("Warning: Xclip is not installed. Some games may not speak or register properly.")
|
||||
fi
|
||||
packageList+=("xclip")
|
||||
if command -v xdotool &> /dev/null ; then
|
||||
echo "Xdotool is installed."
|
||||
[[ $# -eq 0 ]] && echo "Xdotool is installed."
|
||||
else
|
||||
errorList+=("Warning: Xdotool is not installed. Some installers may not work or may need manual intervention.")
|
||||
fi
|
||||
packageList+=("xdotool")
|
||||
# Show the results
|
||||
if [[ $# -ne 0 ]]; then
|
||||
for i in "${packageList[@]}" ; do
|
||||
echo "$i"
|
||||
done | sort
|
||||
exit 0
|
||||
fi
|
||||
if [[ ${#errorList[@]} -eq 0 ]]; then
|
||||
echo "No problems found, you are good to go."
|
||||
exit 0
|
||||
@ -250,6 +271,8 @@ download() {
|
||||
for i in "${source[@]}" ; do
|
||||
local dest="${i##*/}"
|
||||
dest="${dest//%20/ }"
|
||||
# Remove the destination file if it is empty.
|
||||
test -s "${cache}/${dest}" || rm -f "${cache}/${dest}" 2> /dev/null
|
||||
# Skip if the item is in cache.
|
||||
test -e "${cache}/${dest}" && continue
|
||||
if ! wget -4 -O "${cache}/${dest}" "${i}" ; then
|
||||
@ -530,8 +553,6 @@ game_launcher() {
|
||||
wine "$winePath\\$wineExec"
|
||||
exit 0
|
||||
fi
|
||||
# Work around possible wrong path for start.exe
|
||||
[[ -e "${WINEPREFIX}/drive_c/windows/system32/start.exe" ]] || ln -sr "${WINEPREFIX}/drive_c/windows/command/start.exe" "${WINEPREFIX}/drive_c/windows/system32/start.exe"
|
||||
if [[ -d "${WINEPREFIX}/drive_c/windows/syswow64" ]]; then
|
||||
wine64 start /realtime /d "${winePath}" "$wineExec"
|
||||
else
|
||||
@ -621,7 +642,7 @@ gameList=(
|
||||
"Finger Panic"
|
||||
"Fuck That Bird"
|
||||
"GMA Tank Commander"
|
||||
"Golden Crayon"
|
||||
#"Golden Crayon"
|
||||
"Hammer of Glory"
|
||||
"Hunter"
|
||||
"Insect Therapy"
|
||||
@ -645,12 +666,14 @@ gameList=(
|
||||
"Perilous Hearts"
|
||||
"Pontes Kickups!"
|
||||
"Q9"
|
||||
"Revenge of the Undead"
|
||||
"Rhythm Rage"
|
||||
#"River raiders"
|
||||
"RS Games"
|
||||
"Run For Your Life"
|
||||
#"Sammy Center"
|
||||
"Sequence Storm"
|
||||
#"Shades of Doom 1.2"
|
||||
"Shades of Doom"
|
||||
#"Silver Dollar"
|
||||
"Slender Lost Vision"
|
||||
@ -693,6 +716,7 @@ declare -A command=(
|
||||
[L]="Display license information."
|
||||
[l:]="Launch given game without interactive audiogame-manager menu specified by its wine bottle."
|
||||
[N]="No cache, delete the installer after it has been extracted."
|
||||
[P]="Print a list of packages required by audiogame-manager."
|
||||
[r]="Remove a game. This will delete all game data."
|
||||
)
|
||||
|
||||
@ -716,6 +740,7 @@ while getopts "${args}" i ; do
|
||||
L) license;;
|
||||
l) game_launcher "${OPTARG}";;
|
||||
N) noCache="true";;
|
||||
P) checklist quiet;;
|
||||
r) game_removal;;
|
||||
esac
|
||||
done
|
||||
@ -1181,6 +1206,14 @@ EOF
|
||||
wine "${cache}/q9_english_installer.exe" /silent
|
||||
add_launcher "c:\Program Files\Q9 Action Game\q9.exe"
|
||||
;;
|
||||
"Revenge of the Undead")
|
||||
export winVer="win7"
|
||||
install_wine_bottle speechsdk
|
||||
download "https://ims-productions.com/downloads/rotu.zip"
|
||||
unzip -d "$WINEPREFIX/drive_c/Program Files/revenge of the undead" "${cache}/rotu.zip"
|
||||
find "${WINEPREFIX}" -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
|
||||
add_launcher "c:\Program Files\revenge of the undead\rotu.exe"
|
||||
;;
|
||||
"Rhythm Rage")
|
||||
export winVer="win7"
|
||||
install_wine_bottle speechsdk
|
||||
@ -1238,6 +1271,12 @@ EOF
|
||||
wget -O "$WINEPREFIX/drive_c/Program Files/sequence-storm/settings.json" "https://stormgames.wolfe.casa/downloads/sequencestorm-settings.json"
|
||||
add_launcher "c:\Program Files\sequence-storm\SequenceStorm.exe"
|
||||
;;
|
||||
"Shades of Doom 1.2")
|
||||
install_wine_bottle vb6run dx8vb speechsdk
|
||||
download "http://gmagames.com/sod1208.exe"
|
||||
wine "${cache}/sod1208.exe" /sp- /verysilent
|
||||
add_launcher "c:\Program Files\Shades of Doom 1.2\sod.exe"
|
||||
;;
|
||||
"Shades of Doom")
|
||||
export winVer="win7"
|
||||
install_wine_bottle vb6run dx8vb speechsdk
|
||||
|
49
game-scripts/revenge-of-the-undead-update.sh
Executable file
49
game-scripts/revenge-of-the-undead-update.sh
Executable file
@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# âe contents of this file are subject to the Common Public Attribution
|
||||
# License Version 1.0 (the âcenseâ you may not use this file except in
|
||||
# compliance with the License. You may obtain a copy of the License at
|
||||
# https://opensource.org/licenses/CPAL-1.0. The License is based on the Mozilla Public License Version
|
||||
# 1.1 but Sections 14 and 15 have been added to cover use of software over a
|
||||
# computer network and provide for limited attribution for the Original
|
||||
# Developer. In addition, Exhibit A has been modified to be consistent with
|
||||
# Exhibit B.
|
||||
#
|
||||
# Software distributed under the License is distributed on an â ISâasis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is audiogame manager.
|
||||
#
|
||||
# The Original Developer is not the Initial Developer and is . If
|
||||
# left blank, the Original Developer is the Initial Developer.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Billy "Storm Dragon" Wolfe. All portions of
|
||||
# the code written by Billy Wolfe are Copyright (c) 2020. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
# Contributor Michael Taboada.
|
||||
#
|
||||
# Contributor Jeremiah Ticket.
|
||||
#
|
||||
# Attribution Copyright Notice: Audiogame manager copyright 2020 Storm Dragon. All rights reserved.
|
||||
#
|
||||
# Attribution Phrase (not exceeding 10 words): A Stormux project
|
||||
#
|
||||
# Attribution URL: https://stormgames.wolfe.casa
|
||||
#
|
||||
# Graphic Image as provided in the Covered Code, if any.
|
||||
#
|
||||
# Display of Attribution Information is required in Larger
|
||||
# Works which are defined in the CPAL as a work which combines Covered Code
|
||||
# or portions thereof with code not governed by the terms of the CPAL.
|
||||
|
||||
cache="${XDG_CONFIG_HOME:-$HOME/.config}/storm-games/audiogame-manager/cache"
|
||||
url="https://ims-productions.com/downloads/rotu.zip"
|
||||
(rm -v "${cache}/rotu.zip"
|
||||
wget -O "${cache}/rotu.zip" "$url" || exit 1
|
||||
unzip -od "$HOME/.local/wine/revenge-of-the-undead/drive_c/Program Files/revenge of the undead" "${cache}/rotu.zip"
|
||||
find "$HOME/.local/wine/revenge-of-the-undead" -type f -name 'nvdaControllerClient32.dll' -exec rm -fv {} \; ) | dialog --progressbox "updating Revenge of the undead, please wait..." -1 -1
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user