Compare commits
29 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
baef70bcf1 | ||
|
792a8d413f | ||
|
6a4ff7358f | ||
|
b3db3bfe28 | ||
|
6b73d2c7a8 | ||
|
246af6a8ad | ||
|
40dd4f9b77 | ||
|
c9309f4f19 | ||
91db128659 | |||
|
72fc9fb5be | ||
|
ef19077d1c | ||
65a44d2c6b | |||
|
d1f95e02ef | ||
|
29ead41c16 | ||
|
c012cb5574 | ||
|
c77f05b86a | ||
|
cabe79cc34 | ||
|
f459791fda | ||
|
9ce0c4c1e3 | ||
b36d99c970 | |||
|
2f39769362 | ||
|
0eb04939fa | ||
|
600e92c6db | ||
35a44cac17 | |||
|
94d6c3c4bc | ||
|
77d57a4fef | ||
|
91c6892785 | ||
|
d2bc752393 | ||
|
21a4cc943f |
@ -75,6 +75,7 @@ check_news() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Automatic update function
|
||||||
# Automatic update function
|
# Automatic update function
|
||||||
update() {
|
update() {
|
||||||
if ! [[ -d ".git" ]]; then
|
if ! [[ -d ".git" ]]; then
|
||||||
@ -93,7 +94,8 @@ if [[ "$home" == "$remote" ]]; then
|
|||||||
fi
|
fi
|
||||||
dialog --backtitle "Audiogame Manager" \
|
dialog --backtitle "Audiogame Manager" \
|
||||||
--yesno "Updates are available. Would you like to update now?" -1 -1 --stdout || return
|
--yesno "Updates are available. Would you like to update now?" -1 -1 --stdout || return
|
||||||
git pull
|
{ git pull
|
||||||
|
git log '@{1}..' --pretty=format:'%an: %s'; }
|
||||||
exit $?
|
exit $?
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -328,10 +330,16 @@ get_bottle() {
|
|||||||
"triple-triad"*)
|
"triple-triad"*)
|
||||||
export WINEPREFIX="${HOME}/.local/wine/aprone" ;;
|
export WINEPREFIX="${HOME}/.local/wine/aprone" ;;
|
||||||
"bg-"*) export WINEPREFIX="${HOME}/.local/wine/bg";;
|
"bg-"*) export WINEPREFIX="${HOME}/.local/wine/bg";;
|
||||||
# ESP Pinball games
|
# draconis games
|
||||||
"esp-pinball-classic"*) export WINEPREFIX="${HOME}/.local/wine/esp-pinball";;
|
"esp-pinball-classic"*) ;&
|
||||||
"esp-pinball-extreme"*) export WINEPREFIX="${HOME}/.local/wine/esp-pinball";;
|
"esp-pinball-extreme"*) ;&
|
||||||
"esp-pinball-party-pack"*) export WINEPREFIX="${HOME}/.local/wine/esp-pinball";;
|
"esp-pinball-party-pack"*) ;&
|
||||||
|
"silver-dollar"*) ;&
|
||||||
|
"monkey-business"*) ;&
|
||||||
|
"alien-outback"*) ;&
|
||||||
|
"dyna-man"*) ;&
|
||||||
|
"change-reaction"*) ;&
|
||||||
|
"ten-pin-alley"*) export WINEPREFIX="${HOME}/.local/wine/draconis";;
|
||||||
# l-works games group
|
# l-works games group
|
||||||
"duck-hunt"*) ;&
|
"duck-hunt"*) ;&
|
||||||
"judgement-day"*) ;&
|
"judgement-day"*) ;&
|
||||||
@ -423,8 +431,24 @@ get_installer() {
|
|||||||
get_steam() {
|
get_steam() {
|
||||||
# Arguments: $1 id of item for download, $2 url for game
|
# Arguments: $1 id of item for download, $2 url for game
|
||||||
trap "exit 0" SIGINT
|
trap "exit 0" SIGINT
|
||||||
echo "The next steps will install through steamcmd."
|
echo "manual intervention required."
|
||||||
alert
|
alert
|
||||||
|
dialog --backtitle "Audiogame Manager" \
|
||||||
|
--yes-label "Continue with Steam" \
|
||||||
|
--no-label "Install manually" \
|
||||||
|
--extra-button \
|
||||||
|
--extra-label "Exit" \
|
||||||
|
--yesno "To install the game manually, place files in \"${WINEPREFIX}/drive_c/Program Files/${game}\"" -1 -1 --stdout
|
||||||
|
case $? in
|
||||||
|
0) echo "The next steps will install through steamcmd." ;;
|
||||||
|
1)
|
||||||
|
mkdir -p "${WINEPREFIX}/drive_c/Program Files/${game}"
|
||||||
|
dialog --backtitle "Audiogame Manager" \
|
||||||
|
--msgbox "Place game files in \"${WINEPREFIX}/drive_c/Program Files/${game}\" and press enter to continue." -1 -1 --stdout
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
*) exit 0 ;;
|
||||||
|
esac
|
||||||
# Check for steamcmd
|
# Check for steamcmd
|
||||||
if ! command -v steamcmd &> /dev/null ; then
|
if ! command -v steamcmd &> /dev/null ; then
|
||||||
dialog --backtitle "Audiogame Manager" \
|
dialog --backtitle "Audiogame Manager" \
|
||||||
@ -690,7 +714,7 @@ install_wine_bottle() {
|
|||||||
game_installer() {
|
game_installer() {
|
||||||
export LANG="en_US.UTF-8"
|
export LANG="en_US.UTF-8"
|
||||||
# Try to deal with systems in other languages
|
# Try to deal with systems in other languages
|
||||||
mapfile -t installedGames < <(sed '/^$/d' "${configFile}" 2> /dev/null | cut -d '|' -f3)
|
mapfile -t installedGames < <(sed -e '/^$/d' -e '/^[[:space:]]*#/d' "${configFile}" 2> /dev/null | cut -d '|' -f3)
|
||||||
# Create the menu of installed games
|
# Create the menu of installed games
|
||||||
declare -a menuList
|
declare -a menuList
|
||||||
for i in "${gameList[@]}" ; do
|
for i in "${gameList[@]}" ; do
|
||||||
@ -719,7 +743,7 @@ game_installer() {
|
|||||||
|
|
||||||
# remove games
|
# remove games
|
||||||
game_removal() {
|
game_removal() {
|
||||||
mapfile -t lines < <(sed '/^$/d' "${configFile}" 2> /dev/null)
|
mapfile -t lines < <(sed -e '/^$/d' -e '/^[[:space:]]*#/d' "${configFile}" 2> /dev/null)
|
||||||
if [[ ${#lines} -eq 0 ]]; then
|
if [[ ${#lines} -eq 0 ]]; then
|
||||||
echo "No games found."
|
echo "No games found."
|
||||||
exit 0
|
exit 0
|
||||||
@ -727,7 +751,8 @@ game_removal() {
|
|||||||
# Create the menu of installed games
|
# Create the menu of installed games
|
||||||
declare -a menuList
|
declare -a menuList
|
||||||
for i in "${lines[@]}" ; do
|
for i in "${lines[@]}" ; do
|
||||||
menuList+=("${i%|*}" "${i##*|}")
|
IFS='|' read -ra gameInfo <<< "$i"
|
||||||
|
menuList+=("${gameInfo[0]}|${gameInfo[1]}" "${gameInfo[2]}")
|
||||||
done
|
done
|
||||||
menuList+=("Donate" "Donate")
|
menuList+=("Donate" "Donate")
|
||||||
menuList+=("Become a Patron" "Become a Patron")
|
menuList+=("Become a Patron" "Become a Patron")
|
||||||
@ -781,7 +806,8 @@ kill_game() {
|
|||||||
# Create the menu of installed games
|
# Create the menu of installed games
|
||||||
declare -a menuList
|
declare -a menuList
|
||||||
for i in "${lines[@]}" ; do
|
for i in "${lines[@]}" ; do
|
||||||
menuList+=("${i%|*}" "${i##*|}")
|
IFS='|' read -ra gameInfo <<< "$i"
|
||||||
|
menuList+=("${gameInfo[0]}|${gameInfo[1]}" "${gameInfo[2]}")
|
||||||
done
|
done
|
||||||
menuList+=("Donate" "Donate")
|
menuList+=("Donate" "Donate")
|
||||||
menuList+=("Become a Patron" "Become a Patron")
|
menuList+=("Become a Patron" "Become a Patron")
|
||||||
@ -812,11 +838,142 @@ kill_game() {
|
|||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# for games that require custom scripts before launch or custom launch parameters
|
||||||
|
custom_launch_parameters() {
|
||||||
|
if [[ "${game[0]}" == "dragon-pong" ]]; then
|
||||||
|
"${0%/*}/speech/speak_window_title.sh" DragonPong.exe &
|
||||||
|
pushd "$(winepath "$winePath")"
|
||||||
|
wine "$wineExec"
|
||||||
|
popd
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "executioner's-rage" ]]; then
|
||||||
|
find "${WINEPREFIX}/drive_c/Program Files" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvda2speechd64.dll" "{}" \;
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "haunted-party" ]]; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "laser-breakout" ]]; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
"${0%/*}/speech/speak_window_title.sh" play.exe &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "light-battles" ]]; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "mist-world" ]]; then
|
||||||
|
"${0%/*}/speech/speak_window_title.sh" mw.exe &
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "oh-shit" ]]; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "bokurano-daibouken-2" ]]; then
|
||||||
|
"${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken2 &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "bokurano-daibouken" ]]; then
|
||||||
|
"${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" =~ "bokurano-daibouken-3" ]]; then
|
||||||
|
dictPath="$(winepath "${winePath}")"
|
||||||
|
if [[ -r "${cache}/bk3-dict.dat" ]] && [[ ! -d "${dictPath}/dict" ]]; then
|
||||||
|
cp "${cache}/bk3-dict.dat" "${dictPath}/dict.dat"
|
||||||
|
fi
|
||||||
|
if [[ -d "${dictPath}/dict" ]]; then
|
||||||
|
if [[ ! -e "${dictPath}/data/nvdaControllerClient.dll" ]]; then
|
||||||
|
cp "${cache}/nvda2speechd32.dll" "${dictPath}/data/nvdaControllerClient.dll"
|
||||||
|
fi
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
fi
|
||||||
|
if [[ ! -d "${dictPath}/dict" ]] && [[ ! -r "${cache}/bk3-dict.dat" ]]; then
|
||||||
|
find "${WINEPREFIX}/drive_c/nyanchangame/bk3" -type f -name 'nvdaControllerClient.dll' -exec rm -v "{}" \;
|
||||||
|
"${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken3 &
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "bop-it-emulator" ]]; then
|
||||||
|
"${0%/*}/speech/speak_window_title.sh" bop.exe &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "breu2-shadow-hunt" ]]; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "road-to-rage" ]]; then
|
||||||
|
"${0%/*}/speech/speak_window_title.sh" trtr.exe &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "sequence-storm" ]]; then
|
||||||
|
"${0%/*}/speech/clipboard_reader.sh" SequenceStorm &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "shadow-line" ]]; then
|
||||||
|
find "${WINEPREFIX}/drive_c/" -type f -name 'nvdaControllerClient.dll' -exec rm -v "{}" \;
|
||||||
|
"${0%/*}/speech/clipboard_translator.sh" play_sr.exe shadow-line &
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "sketchbook" ]]; then
|
||||||
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "audiodisc" ]]; then
|
||||||
|
wine "$winePath\\$wineExec"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "audioquake" ]]; then
|
||||||
|
wine "$winePath\\$wineExec"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "screaming-strike-2" ]]; then
|
||||||
|
pushd "$(winepath "$winePath")"
|
||||||
|
${wine} "$wineExec"
|
||||||
|
popd
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "warsim" ]]; then
|
||||||
|
pushd "$(winepath "${game[1]%\\*}")"
|
||||||
|
wine "${game[1]##*\\}"
|
||||||
|
popd
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "interceptor" ]]; then
|
||||||
|
pushd "$(winepath "$winePath")"
|
||||||
|
wine "$wineExec"
|
||||||
|
popd
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "vip-mud" ]]; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
fi
|
||||||
|
if [[ -d "${WINEPREFIX}/drive_c/windows/syswow64" ]]; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
# switch to wine64 for 64 bit prefix.
|
||||||
|
[[ "${wine}" == "wine" ]] && export wine="wine64"
|
||||||
|
fi
|
||||||
|
if [[ "${game[0]}" == "the-great-toy-robbery" ]] ; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Process game launcher flags
|
||||||
|
process_launcher-flags() {
|
||||||
|
flags=("${game[@]:3}")
|
||||||
|
for i in "${flags[@]}" ; do
|
||||||
|
if [[ "${i}" =~ ^export\ [a-zA-Z_][a-zA-Z0-9_]*=\'?.*\'?$ ]]; then
|
||||||
|
eval "${i}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
create_game_array() {
|
||||||
|
# Game array 0 bottle, 1 path, 2 title, 3+ flags
|
||||||
|
for i in "${lines[@]}" ; do
|
||||||
|
if [[ "${game}" =~ ^${i} ]]; then
|
||||||
|
# This is weird. Why do I have to set game to i before making the array?
|
||||||
|
game="$i"
|
||||||
|
IFS='|' read -ra game <<< "$i"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
# launch games that are installed
|
# launch games that are installed
|
||||||
game_launcher() {
|
game_launcher() {
|
||||||
# For use by update scripts that want to source functions in this file.
|
# For use by update scripts that want to source functions in this file.
|
||||||
[[ "$agmNoLaunch" == "true" ]] && return
|
[[ "$agmNoLaunch" == "true" ]] && return
|
||||||
mapfile -t lines < <(sed '/^$/d' "${configFile}" 2> /dev/null)
|
mapfile -t lines < <(sed -e '/^$/d' -e '/^ *#/d' "${configFile}" 2> /dev/null)
|
||||||
if [[ ${#lines} -eq 0 ]]; then
|
if [[ ${#lines} -eq 0 ]]; then
|
||||||
echo "Install some games first."
|
echo "Install some games first."
|
||||||
exit 0
|
exit 0
|
||||||
@ -825,7 +982,8 @@ game_launcher() {
|
|||||||
# Create the menu of installed games
|
# Create the menu of installed games
|
||||||
declare -a menuList
|
declare -a menuList
|
||||||
for i in "${lines[@]}" ; do
|
for i in "${lines[@]}" ; do
|
||||||
menuList+=("${i%|*}" "${i##*|}")
|
IFS='|' read -ra gameInfo <<< "$i"
|
||||||
|
menuList+=("${gameInfo[0]}|${gameInfo[1]}" "${gameInfo[2]}")
|
||||||
done
|
done
|
||||||
menuList+=("Donate" "Donate")
|
menuList+=("Donate" "Donate")
|
||||||
menuList+=("Become a Patron" "Become a Patron")
|
menuList+=("Become a Patron" "Become a Patron")
|
||||||
@ -842,156 +1000,47 @@ game_launcher() {
|
|||||||
elif [[ $menuCode -eq 3 ]]; then
|
elif [[ $menuCode -eq 3 ]]; then
|
||||||
documentation "$game" "$(echo "$game" | cut -d '|' -f2)"
|
documentation "$game" "$(echo "$game" | cut -d '|' -f2)"
|
||||||
fi
|
fi
|
||||||
|
create_game_array
|
||||||
else
|
else
|
||||||
local game="$(grep "^${1}|" "${configFile}" 2> /dev/null)"
|
create_game_array
|
||||||
game="${game%|*}"
|
|
||||||
if [[ -z "$game" ]]; then
|
if [[ -z "$game" ]]; then
|
||||||
echo "Game $1 not found."
|
echo "Game $1 not found."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ ${#game} -gt 0 ]]; then
|
if [[ ${#game[@]} -gt 0 ]]; then
|
||||||
if [[ "$game" == "Donate" ]]; then
|
if [[ "${game[0]}" == "Donate" ]]; then
|
||||||
open_url "https://ko-fi.com/stormux"
|
open_url "https://ko-fi.com/stormux"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
if [[ "$game" == "Become a Patron" ]]; then
|
if [[ "${game[0]}" == "Become a Patron" ]]; then
|
||||||
open_url "https://2mb.games/product/2mb-patron/"
|
open_url "https://2mb.games/product/2mb-patron/"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
get_bottle "$game"
|
get_bottle "${game[0]}"
|
||||||
# make sure wine is actually set to something
|
# make sure wine is actually set to something
|
||||||
export wine="${wine:-wine}"
|
export wine="${wine:-wine}"
|
||||||
echo -n "launching "
|
echo -n "launching "
|
||||||
${wine} --version
|
${wine} --version
|
||||||
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.
|
# kill any previous existing wineservers for this prefix in case they didn't shut down properly.
|
||||||
${wine}server -k
|
${wine}server -k
|
||||||
# launch the game
|
# launch the game
|
||||||
if command -v qjoypad &> /dev/null ; then
|
if command -v qjoypad &> /dev/null ; then
|
||||||
mkdir -p ~/.qjoypad3
|
mkdir -p ~/.qjoypad3
|
||||||
touch "${HOME}/.qjoypad3/${game%|*}.lyt"
|
touch "${HOME}/.qjoypad3/${game[2]}.lyt"
|
||||||
# A | separated list of games that should not start with qjoypad.
|
# A | separated list of games that should not start with qjoypad.
|
||||||
noQjoypadGames="a-hero's-call"
|
noQjoypadGames="A Hero's Call"
|
||||||
if [[ "${noqjoypad}" != "true" ]] && ! [[ "${game}" =~ ${noQjoypadGames} ]]; then
|
if [[ "${noqjoypad}" != "true" ]] && ! [[ "${game[2]}" =~ ${noQjoypadGames} ]]; then
|
||||||
if pgrep qjoypad &> /dev/null ; then
|
if pgrep qjoypad &> /dev/null ; then
|
||||||
qjoypad -T "${game%|*}" 2> /dev/null
|
qjoypad -T "${game[2]}" 2> /dev/null
|
||||||
else
|
else
|
||||||
qjoypad -T "${game%|*}" 2> /dev/null &
|
qjoypad -T "${game[2]}" 2> /dev/null &
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# for games that require custom scripts before launch or custom launch parameters
|
process_launcher-flags
|
||||||
if [[ "$game" =~ dragon-pong ]]; then
|
custom_launch_parameters
|
||||||
"${0%/*}/speech/speak_window_title.sh" DragonPong.exe &
|
${wine:-wine} start /d "${game[1]%\\*}" "${game[1]##*\\}" /realtime
|
||||||
pushd "$(winepath "$winePath")"
|
|
||||||
wine "$wineExec"
|
|
||||||
popd
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ executioner\'s ]]; then
|
|
||||||
find "${WINEPREFIX}/drive_c/Program Files" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvda2speechd64.dll" "{}" \;
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ haunted-party ]]; then
|
|
||||||
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ laser-breakout ]]; then
|
|
||||||
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
||||||
"${0%/*}/speech/speak_window_title.sh" play.exe &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ light-battles ]]; then
|
|
||||||
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ mist-world ]]; then
|
|
||||||
"${0%/*}/speech/speak_window_title.sh" mw.exe &
|
|
||||||
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ oh-shit ]]; then
|
|
||||||
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ ^bokurano-daibouken-2\| ]]; then
|
|
||||||
"${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken2 &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ ^bokurano-daibouken\| ]]; then
|
|
||||||
"${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ bokurano-daibouken-3 ]]; then
|
|
||||||
dictPath="$(winepath "${winePath}")"
|
|
||||||
if [[ -r "${cache}/bk3-dict.dat" ]] && [[ ! -d "${dictPath}/dict" ]]; then
|
|
||||||
cp "${cache}/bk3-dict.dat" "${dictPath}/dict.dat"
|
|
||||||
fi
|
|
||||||
if [[ -d "${dictPath}/dict" ]]; then
|
|
||||||
if [[ ! -e "${dictPath}/data/nvdaControllerClient.dll" ]]; then
|
|
||||||
cp "${cache}/nvda2speechd32.dll" "${dictPath}/data/nvdaControllerClient.dll"
|
|
||||||
fi
|
|
||||||
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
||||||
fi
|
|
||||||
if [[ ! -d "${dictPath}/dict" ]] && [[ ! -r "${cache}/bk3-dict.dat" ]]; then
|
|
||||||
find "${WINEPREFIX}/drive_c/nyanchangame/bk3" -type f -name 'nvdaControllerClient.dll' -exec rm -v "{}" \;
|
|
||||||
"${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken3 &
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ bop-it-emulator ]]; then
|
|
||||||
"${0%/*}/speech/speak_window_title.sh" bop.exe &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ breu2-shadow-hunt ]]; then
|
|
||||||
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ road-to-rage\| ]]; then
|
|
||||||
"${0%/*}/speech/speak_window_title.sh" trtr.exe &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ sequence-storm ]]; then
|
|
||||||
"${0%/*}/speech/clipboard_reader.sh" SequenceStorm &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ shadow-line ]]; then
|
|
||||||
find "${WINEPREFIX}/drive_c/" -type f -name 'nvdaControllerClient.dll' -exec rm -v "{}" \;
|
|
||||||
"${0%/*}/speech/clipboard_translator.sh" play_sr.exe shadow-line &
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ sketchbook ]]; then
|
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ audiodisc ]]; then
|
|
||||||
wine "$winePath\\$wineExec"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ audioquake ]]; then
|
|
||||||
wine "$winePath\\$wineExec"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ screaming-strike-2 ]]; then
|
|
||||||
pushd "$(winepath "$winePath")"
|
|
||||||
${wine} "$wineExec"
|
|
||||||
popd
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ warsim ]]; then
|
|
||||||
pushd "$(winepath "$winePath")"
|
|
||||||
wine "$wineExec"
|
|
||||||
popd
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ interceptor ]]; then
|
|
||||||
pushd "$(winepath "$winePath")"
|
|
||||||
wine "$wineExec"
|
|
||||||
popd
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ vip-mud ]]; then
|
|
||||||
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
||||||
fi
|
|
||||||
if [[ -d "${WINEPREFIX}/drive_c/windows/syswow64" ]]; then
|
|
||||||
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
||||||
# switch to wine64 for 64 bit prefix.
|
|
||||||
[[ "${wine}" == "wine" ]] && export wine="wine64"
|
|
||||||
fi
|
|
||||||
if [[ "$game" =~ the-great-toy-robbery ]] ; then
|
|
||||||
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
||||||
fi
|
|
||||||
${wine:-wine} start /d "${winePath}" "$wineExec" /realtime
|
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
@ -1004,6 +1053,11 @@ game_launcher() {
|
|||||||
add_launcher() {
|
add_launcher() {
|
||||||
local launchSettings="${game,,}"
|
local launchSettings="${game,,}"
|
||||||
launchSettings="${launchSettings//[[:space:]]/-}|${1}|${game}"
|
launchSettings="${launchSettings//[[:space:]]/-}|${1}|${game}"
|
||||||
|
shift
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
launchSettings+="|$1"
|
||||||
|
shift
|
||||||
|
done
|
||||||
if ! grep -F -q -x "${launchSettings}" "${configFile}" 2> /dev/null ; then
|
if ! grep -F -q -x "${launchSettings}" "${configFile}" 2> /dev/null ; then
|
||||||
echo "${launchSettings}" >> "${configFile}"
|
echo "${launchSettings}" >> "${configFile}"
|
||||||
sort -o "${configFile}" "${configFile}"
|
sort -o "${configFile}" "${configFile}"
|
||||||
@ -1062,6 +1116,7 @@ unset manualInstall
|
|||||||
unset version
|
unset version
|
||||||
# ipfs gateway
|
# ipfs gateway
|
||||||
export ipfsGateway="${ipfsGateway:-https://gateway.pinata.cloud}"
|
export ipfsGateway="${ipfsGateway:-https://gateway.pinata.cloud}"
|
||||||
|
export nvdaControllerClientDll="${ipfsGateway}/ipfs/QmWu7YdSbKMk1Qm5DKvEA5hk1YuAK8wVkwhDf2CsmPkmF1?filename=nvdaControllerClient32.dll"
|
||||||
|
|
||||||
|
|
||||||
# The list of games available for installation.
|
# The list of games available for installation.
|
||||||
@ -1074,6 +1129,7 @@ gameList=(
|
|||||||
"Angel Gift"
|
"Angel Gift"
|
||||||
"AudioDisc"
|
"AudioDisc"
|
||||||
"AudioQuake"
|
"AudioQuake"
|
||||||
|
"Balatro"
|
||||||
"Battlefield 2D"
|
"Battlefield 2D"
|
||||||
"Battle of the Hunter"
|
"Battle of the Hunter"
|
||||||
"Battle Zone"
|
"Battle Zone"
|
||||||
@ -1136,6 +1192,7 @@ gameList=(
|
|||||||
"Castaways"
|
"Castaways"
|
||||||
"Castaways 2"
|
"Castaways 2"
|
||||||
"Challenge of the Horse"
|
"Challenge of the Horse"
|
||||||
|
"Change Reaction"
|
||||||
"Chillingham"
|
"Chillingham"
|
||||||
#"Chopper Challenge"
|
#"Chopper Challenge"
|
||||||
"Christmas Chaos"
|
"Christmas Chaos"
|
||||||
@ -1230,6 +1287,7 @@ gameList=(
|
|||||||
"Sarah and the Castle of Witchcraft and Wizardry"
|
"Sarah and the Castle of Witchcraft and Wizardry"
|
||||||
"Scramble!"
|
"Scramble!"
|
||||||
"Screaming Strike 2"
|
"Screaming Strike 2"
|
||||||
|
"Scrolling Battles"
|
||||||
"Sketchbook"
|
"Sketchbook"
|
||||||
"Sequence Storm"
|
"Sequence Storm"
|
||||||
#"Shades of Doom 1.2"
|
#"Shades of Doom 1.2"
|
||||||
@ -1237,11 +1295,13 @@ gameList=(
|
|||||||
"Shadow Line"
|
"Shadow Line"
|
||||||
"Shooter"
|
"Shooter"
|
||||||
"Silver Dollar"
|
"Silver Dollar"
|
||||||
|
"Simple Fighter"
|
||||||
"Skateboarder Pro"
|
"Skateboarder Pro"
|
||||||
"Slender Lost Vision"
|
"Slender Lost Vision"
|
||||||
"Sonic the Hedgehog"
|
"Sonic the Hedgehog"
|
||||||
"Sonic Zoom"
|
"Sonic Zoom"
|
||||||
#"Space Defender"
|
#"Space Defender"
|
||||||
|
#"Star Treck Final Conflict"
|
||||||
"Super Deekout"
|
"Super Deekout"
|
||||||
"Super Dogs Bone Hunt"
|
"Super Dogs Bone Hunt"
|
||||||
"Super Egg Hunt"
|
"Super Egg Hunt"
|
||||||
@ -1285,7 +1345,7 @@ for i in curl sox wine winetricks ; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
# Get latest news if available
|
# Get latest news if available
|
||||||
#check_news
|
check_news
|
||||||
# With no arguments, open the game launcher.
|
# With no arguments, open the game launcher.
|
||||||
if [[ $# -eq 0 ]]; then
|
if [[ $# -eq 0 ]]; then
|
||||||
game_launcher
|
game_launcher
|
||||||
@ -1357,7 +1417,7 @@ done
|
|||||||
# Install game based on the selection above.
|
# Install game based on the selection above.
|
||||||
case "${game}" in
|
case "${game}" in
|
||||||
"A Hero's Call")
|
"A Hero's Call")
|
||||||
download "https://blindgamers.com/downloads/a-heros-call-freeware.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "https://blindgamers.com/downloads/a-heros-call-freeware.zip" "${nvdaControllerClientDll}"
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export winetricksSettings="vd=1024x768"
|
export winetricksSettings="vd=1024x768"
|
||||||
install_wine_bottle speechsdk corefonts
|
install_wine_bottle speechsdk corefonts
|
||||||
@ -1383,9 +1443,12 @@ case "${game}" in
|
|||||||
;;
|
;;
|
||||||
"Alien Outback")
|
"Alien Outback")
|
||||||
download "http://download.dracoent.com/Windows/classic/AOSetup.exe"
|
download "http://download.dracoent.com/Windows/classic/AOSetup.exe"
|
||||||
|
export bottle="draconis"
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle vb6run dx8vb speechsdk quartz
|
install_wine_bottle vb6run dx8vb speechsdk quartz
|
||||||
wine "${cache}/AOSetup.exe" /sp- /silent
|
cp -v "${cache}/AOSetup.exe" "$WINEPREFIX/drive_c/windows/temp/"
|
||||||
|
wine "c:/windows/temp/AOSetup.exe" /sp- /silent
|
||||||
|
rm -fv "$WINEPREFIX/drive_c/windows/temp/AOSetup.exe"
|
||||||
# warning warning warning: Do not change location, or installer will not function.
|
# warning warning warning: Do not change location, or installer will not function.
|
||||||
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
||||||
winetricks -q dotnet20
|
winetricks -q dotnet20
|
||||||
@ -1415,6 +1478,26 @@ download "https://erion.cf/files/ag_103.zip"
|
|||||||
echo "After you launch the game, press tab then enter and it should begin speaking."
|
echo "After you launch the game, press tab then enter and it should begin speaking."
|
||||||
alert
|
alert
|
||||||
;;
|
;;
|
||||||
|
"Balatro")
|
||||||
|
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll" "https://stormgames.wolfe.casa/downloads/Tolk.dll" "https://github.com/Aurelius7309/BlackHole/releases/download/0.3.1/BlackHole-Release.zip"
|
||||||
|
export WINEARCH=win64
|
||||||
|
export winVer="win10"
|
||||||
|
install_wine_bottle
|
||||||
|
get_steam "2379780" "https://store.steampowered.com/app/2379780/Balatro/"
|
||||||
|
mkdir -p "$WINEPREFIX/drive_c/users/$USER/AppData/Roaming/Balatro/Mods"
|
||||||
|
unzip -d "$WINEPREFIX/drive_c/users/$USER/AppData/Roaming/Balatro" "$cache/BlackHole-Release.zip"
|
||||||
|
pushd "$WINEPREFIX/drive_c/users/$USER/AppData/Roaming/Balatro/Mods"
|
||||||
|
(cat mod_urls.txt ; echo) | while read -r x ; do
|
||||||
|
git clone "$x"
|
||||||
|
done
|
||||||
|
cp -v BlackHole/bin/*.dll "$WINEPREFIX/drive_c/Program Files/Balatro"
|
||||||
|
cp -v "$cache/Tolk.dll" "$WINEPREFIX/drive_c/Program Files/Balatro/tolk.dll"
|
||||||
|
cp -v "$cache/Tolk.dll" BlackHole/bin/tolk.dll
|
||||||
|
cp -v "$cache/nvda2speechd64.dll" "$WINEPREFIX/drive_c/Program Files/Balatro/nvdaControllerClient64.dll"
|
||||||
|
cp -v "$cache/nvda2speechd64.dll" BlackHole/bin/nvdaControllerClient64.dll
|
||||||
|
cp -v ../version.dll "$WINEPREFIX/drive_c/Program Files/Balatro"
|
||||||
|
add_launcher 'c:\Program Files\Balatro\Balatro.exe' 'export WINEDLLOVERRIDES=version=n,b'
|
||||||
|
;;
|
||||||
"Battlefield 2D")
|
"Battlefield 2D")
|
||||||
get_installer "bf.zip" "https://tunmi13.itch.io/battlefield-2d"
|
get_installer "bf.zip" "https://tunmi13.itch.io/battlefield-2d"
|
||||||
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
|
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
|
||||||
@ -1866,7 +1949,7 @@ download "https://erion.cf/files/ag_103.zip"
|
|||||||
add_launcher "c:\Program Files\bomvercats\game.exe"
|
add_launcher "c:\Program Files\bomvercats\game.exe"
|
||||||
;;
|
;;
|
||||||
"Breed Memorial")
|
"Breed Memorial")
|
||||||
download "https://hirotaka2014.sakura.ne.jp/mh0406/game/breed_memorial.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "https://hirotaka2014.sakura.ne.jp/mh0406/game/breed_memorial.zip" "${nvdaControllerClientDll}"
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle cjkfonts speechsdk
|
install_wine_bottle cjkfonts speechsdk
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/breed_memorial.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/breed_memorial.zip"
|
||||||
@ -1900,6 +1983,20 @@ download "https://erion.cf/files/ag_103.zip"
|
|||||||
find "${WINEPREFIX}" -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
|
find "${WINEPREFIX}" -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
|
||||||
add_launcher "c:\Program Files\\${game}\game.exe"
|
add_launcher "c:\Program Files\\${game}\game.exe"
|
||||||
;;
|
;;
|
||||||
|
"Change Reaction")
|
||||||
|
download "https://download.dracoent.com/Windows/ChangeReactionSetup.exe"
|
||||||
|
export bottle="draconis"
|
||||||
|
export winVer="win7"
|
||||||
|
install_wine_bottle vb6run dx8vb speechsdk quartz
|
||||||
|
cp -v "${cache}/ChangeReactionSetup.exe" "$WINEPREFIX/drive_c/windows/temp/"
|
||||||
|
wine "c:/windows/temp/ChangeReactionSetup.exe" /sp- /silent
|
||||||
|
rm -fv "$WINEPREFIX/drive_c/windows/temp/ChangeReactionSetup.exe"
|
||||||
|
# warning warning warning: Do not change location, or installer will not function.
|
||||||
|
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
||||||
|
winetricks -q dotnet20
|
||||||
|
wineserver -k # Damn you, dotnet.
|
||||||
|
add_launcher "c:\Program Files\Draconis Entertainment\Change Reaction\ChangeReactionGui.exe"
|
||||||
|
;;
|
||||||
"Chillingham")
|
"Chillingham")
|
||||||
download "https://stormgames.wolfe.casa/downloads/chillingham.zip"
|
download "https://stormgames.wolfe.casa/downloads/chillingham.zip"
|
||||||
install_wine_bottle vb6run mfc42
|
install_wine_bottle vb6run mfc42
|
||||||
@ -1988,12 +2085,14 @@ download "https://erion.cf/files/ag_103.zip"
|
|||||||
add_launcher "c:\Program Files\copter mission\game.exe"
|
add_launcher "c:\Program Files\copter mission\game.exe"
|
||||||
;;
|
;;
|
||||||
"Crazy Party")
|
"Crazy Party")
|
||||||
export winVer="win7"
|
export WINEARCH=win64
|
||||||
download "${ipfsGateway}/ipfs/QmZPsVdizDW6nrNj9czPTctAomYxafs7SYRw6YjqxPidvn?filename=Crazy-Party-beta78.zip"
|
export winVer="win8"
|
||||||
install_wine_bottle speechsdk
|
download "http://pragmapragma.free.fr/crazy-party/Crazy-Party-beta82.zip" "https://stormgames.wolfe.casa/downloads/Tolk.dll" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/Crazy-Party-beta78.zip"
|
install_wine_bottle
|
||||||
add_launcher "c:\Program Files\Crazy-Party-beta78\Crazy Party.exe"
|
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/Crazy-Party-beta82.zip"
|
||||||
rm -f "${WINEPREFIX}/drive_c/Program Files/Crazy-Party-beta78/nvdaControllerClient32.dll"
|
find "${WINEPREFIX}" -type f -name 'Tolk.dll' -exec cp -v "${cache}/Tolk.dll" "{}" \;
|
||||||
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvda2speechd64.dll" "{}" \;
|
||||||
|
add_launcher "c:\Program Files\Crazy-Party-beta82\Crazy Party.exe"
|
||||||
;;
|
;;
|
||||||
"Crazy Tennis")
|
"Crazy Tennis")
|
||||||
download "https://www.agarchive.net/games/VIP/crazy%20tennis%20setup.exe"
|
download "https://www.agarchive.net/games/VIP/crazy%20tennis%20setup.exe"
|
||||||
@ -2095,9 +2194,12 @@ download "https://erion.cf/files/ag_103.zip"
|
|||||||
;;
|
;;
|
||||||
"DynaMan")
|
"DynaMan")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
|
export bottle="draconis"
|
||||||
download "http://download.dracoent.com/Windows/classic/DMSetup.exe"
|
download "http://download.dracoent.com/Windows/classic/DMSetup.exe"
|
||||||
install_wine_bottle vb6run dx8vb speechsdk quartz
|
install_wine_bottle vb6run dx8vb speechsdk quartz
|
||||||
wine "${cache}/DMSetup.exe" /sp- /silent
|
cp -v "${cache}/DMSetup.exe" "$WINEPREFIX/drive_c/windows/temp/"
|
||||||
|
wine "c:/windows/temp/DMSetup.exe" /sp- /silent
|
||||||
|
rm -fv "$WINEPREFIX/drive_c/windows/temp/DMSetup.exe"
|
||||||
# warning warning warning: Do not change location, or installer will not function.
|
# warning warning warning: Do not change location, or installer will not function.
|
||||||
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
||||||
winetricks -q dotnet20
|
winetricks -q dotnet20
|
||||||
@ -2149,10 +2251,12 @@ download "https://erion.cf/files/ag_103.zip"
|
|||||||
;;
|
;;
|
||||||
"ESP Pinball Classic")
|
"ESP Pinball Classic")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export bottle="esp-pinball"
|
export bottle="draconis"
|
||||||
download "http://download.dracoent.com/Windows/classic/PBCSetup.exe"
|
download "http://download.dracoent.com/Windows/classic/PBCSetup.exe"
|
||||||
install_wine_bottle vb6run dx8vb speechsdk quartz
|
install_wine_bottle vb6run dx8vb speechsdk quartz
|
||||||
wine "${cache}/PBCSetup.exe" /sp- /silent
|
cp -v "${cache}/PBCSetup.exe" "$WINEPREFIX/drive_c/windows/temp/"
|
||||||
|
wine "c:/windows/temp/PBCSetup.exe" /sp- /silent
|
||||||
|
rm -fv "$WINEPREFIX/drive_c/windows/temp/PBCSetup.exe"
|
||||||
# warning warning warning: Do not change location, or installer will not function.
|
# warning warning warning: Do not change location, or installer will not function.
|
||||||
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
||||||
winetricks -q dotnet20
|
winetricks -q dotnet20
|
||||||
@ -2161,10 +2265,12 @@ download "https://erion.cf/files/ag_103.zip"
|
|||||||
;;
|
;;
|
||||||
"ESP Pinball Extreme")
|
"ESP Pinball Extreme")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export bottle="esp-pinball"
|
export bottle="draconis"
|
||||||
download "http://download.dracoent.com/Windows/classic/PBXSetup.exe"
|
download "http://download.dracoent.com/Windows/classic/PBXSetup.exe"
|
||||||
install_wine_bottle vb6run dx8vb speechsdk quartz
|
install_wine_bottle vb6run dx8vb speechsdk quartz
|
||||||
wine "${cache}/PBXSetup.exe" /sp- /silent
|
cp -v "${cache}/PBXSetup.exe" "$WINEPREFIX/drive_c/windows/temp/"
|
||||||
|
wine "c:/windows/temp/PBXSetup.exe" /sp- /silent
|
||||||
|
rm -fv "$WINEPREFIX/drive_c/windows/temp/PBXSetup.exe"
|
||||||
# warning warning warning: Do not change location, or installer will not function.
|
# warning warning warning: Do not change location, or installer will not function.
|
||||||
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
||||||
winetricks -q dotnet20
|
winetricks -q dotnet20
|
||||||
@ -2173,15 +2279,17 @@ download "https://erion.cf/files/ag_103.zip"
|
|||||||
;;
|
;;
|
||||||
"ESP Pinball Party Pack")
|
"ESP Pinball Party Pack")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export bottle="esp-pinball"
|
export bottle="draconis"
|
||||||
export WINEPREFIX="$HOME/.local/wine/esp-pinball"
|
export WINEPREFIX="$HOME/.local/wine/draconis"
|
||||||
# Only works in conjunction with esp pinball extreme.
|
# Only works in conjunction with esp pinball extreme.
|
||||||
if ! [ -f "$HOME/.local/wine/$bottle/drive_c/Program Files/Draconis Entertainment/ESP Pinball Xtreme/pbx.exe" ] ; then
|
if ! [ -f "$HOME/.local/wine/$bottle/drive_c/Program Files/Draconis Entertainment/ESP Pinball Xtreme/pbx.exe" ] ; then
|
||||||
echo "Error: You need to install ESP Pinball Extreme first to use this game. Please do so before continuing." >&2
|
echo "Error: You need to install ESP Pinball Extreme first to use this game. Please do so before continuing." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
download "http://download.dracoent.com/Windows/classic/PP1Setup.exe"
|
download "http://download.dracoent.com/Windows/classic/PP1Setup.exe"
|
||||||
wine "${cache}/PP1Setup.exe" /sp- /silent
|
cp -v "${cache}/PP1Setup.exe" "$WINEPREFIX/drive_c/windows/temp/"
|
||||||
|
wine "c:/windows/temp/PP1Setup.exe" /sp- /silent
|
||||||
|
rm -fv "$WINEPREFIX/drive_c/windows/temp/PP1Setup.exe"
|
||||||
add_launcher "c:\Program Files\Draconis Entertainment\ESP Pinball Xtreme\pbx.exe"
|
add_launcher "c:\Program Files\Draconis Entertainment\ESP Pinball Xtreme\pbx.exe"
|
||||||
;;
|
;;
|
||||||
"Eurofly")
|
"Eurofly")
|
||||||
@ -2562,9 +2670,12 @@ EOF
|
|||||||
;;
|
;;
|
||||||
"Monkey Business")
|
"Monkey Business")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
|
export bottle="draconis"
|
||||||
download "http://download.dracoent.com/Windows/classic/MBSetup.exe"
|
download "http://download.dracoent.com/Windows/classic/MBSetup.exe"
|
||||||
install_wine_bottle vb6run dx8vb speechsdk quartz
|
install_wine_bottle vb6run dx8vb speechsdk quartz
|
||||||
wine "${cache}/MBSetup.exe" /sp- /silent
|
cp -v "${cache}/MBSetup.exe" "$WINEPREFIX/drive_c/windows/temp/"
|
||||||
|
wine "c:/windows/temp/MBSetup.exe" /sp- /silent
|
||||||
|
rm -fv "$WINEPREFIX/drive_c/windows/temp/MBSetup.exe"
|
||||||
# warning warning warning: Do not change location, or installer will not function.
|
# warning warning warning: Do not change location, or installer will not function.
|
||||||
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
||||||
winetricks -q dotnet20
|
winetricks -q dotnet20
|
||||||
@ -2604,7 +2715,7 @@ EOF
|
|||||||
"Oh Shit")
|
"Oh Shit")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export norh="true" # Requires sapi even though uses nvda
|
export norh="true" # Requires sapi even though uses nvda
|
||||||
download "${ipfsGateway}/ipfs/QmQnAJJrt5uABFziQc7enXYrJ74J9GKQSMi8Ry8ebsxfPV?filename=OhShit.zip" "https://stormgames.wolfe.casa/downloads/nvda2speechd32.dll"
|
download "${ipfsGateway}/ipfs/QmQnAJJrt5uABFziQc7enXYrJ74J9GKQSMi8Ry8ebsxfPV?filename=OhShit.zip" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle speechsdk
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/OhShit.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/OhShit.zip"
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvda2speechd32.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvda2speechd32.dll" "{}" \;
|
||||||
@ -2773,7 +2884,7 @@ EOF
|
|||||||
"Rhythm Rage")
|
"Rhythm Rage")
|
||||||
export bottle="oriol-gomez"
|
export bottle="oriol-gomez"
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://oriolgomez.com/games/rr_en.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "http://oriolgomez.com/games/rr_en.zip" "${nvdaControllerClientDll}"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle speechsdk
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/rhythm rage" "${cache}/rr_en.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/rhythm rage" "${cache}/rr_en.zip"
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
||||||
@ -2808,7 +2919,7 @@ EOF
|
|||||||
;;
|
;;
|
||||||
"RS Games")
|
"RS Games")
|
||||||
export version="7.0"
|
export version="7.0"
|
||||||
download "http://rsgames.org/rsdownloads/rsgclient/rsgames-client-setup-2.01.exe" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "http://rsgames.org/rsdownloads/rsgclient/rsgames-client-setup-2.01.exe" "${nvdaControllerClientDll}"
|
||||||
install_wine "$version" "32"
|
install_wine "$version" "32"
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle speechsdk
|
||||||
@ -2826,7 +2937,7 @@ EOF
|
|||||||
;;
|
;;
|
||||||
"Sammy Center")
|
"Sammy Center")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://www.samtupy.com/games/SCSetup.exe" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "http://www.samtupy.com/games/SCSetup.exe" "${nvdaControllerClientDll}"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle speechsdk
|
||||||
wine "${cache}/SCSetup.exe" /silent
|
wine "${cache}/SCSetup.exe" /silent
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
||||||
@ -2842,7 +2953,7 @@ EOF
|
|||||||
"Scramble!")
|
"Scramble!")
|
||||||
winetricksSettings="vd=1024x768"
|
winetricksSettings="vd=1024x768"
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "https://stevend.net/downloads/scramble_win32.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "https://stevend.net/downloads/scramble_win32.zip" "${nvdaControllerClientDll}"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle speechsdk
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/scramble_win32.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/scramble_win32.zip"
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
||||||
@ -2851,7 +2962,7 @@ EOF
|
|||||||
"Screaming Strike 2")
|
"Screaming Strike 2")
|
||||||
export bottle="nyanchan"
|
export bottle="nyanchan"
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "https://www.nyanchangames.com/softs/screamingStrike2.exe" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "https://www.nyanchangames.com/softs/screamingStrike2.exe" "${nvdaControllerClientDll}"
|
||||||
install_wine_bottle fakejapanese speechsdk
|
install_wine_bottle fakejapanese speechsdk
|
||||||
wine "${cache}/screamingStrike2.exe" &
|
wine "${cache}/screamingStrike2.exe" &
|
||||||
xdotool sleep 10 key Return
|
xdotool sleep 10 key Return
|
||||||
@ -2859,9 +2970,19 @@ EOF
|
|||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
||||||
add_launcher "c:\nyanchangame\Screaming Strike 2\play.exe"
|
add_launcher "c:\nyanchangame\Screaming Strike 2\play.exe"
|
||||||
;;
|
;;
|
||||||
|
"Scrolling Battles")
|
||||||
|
export WINEARCH=win64
|
||||||
|
export winVer="win7"
|
||||||
|
get_installer "sbrw-win.zip" "https://masonasons.itch.io/sbrw"
|
||||||
|
download "https://stormgames.wolfe.casa/downloads/Tolk.dll"
|
||||||
|
install_wine_bottle
|
||||||
|
unzip -d "$WINEPREFIX/drive_c/Program Files/sbrw" "${cache}/sbrw-win.zip"
|
||||||
|
find "${WINEPREFIX}" -type f -name 'Tolk.dll' -exec cp -v "${cache}/Tolk.dll" "{}" \;
|
||||||
|
add_launcher "c:\Program Files\sbrw\sb.exe"
|
||||||
|
;;
|
||||||
"Sketchbook")
|
"Sketchbook")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://sbyw.games/SBYW/SBYW.zip" "http://sbyw.games/SBYW/sounds.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "http://sbyw.games/SBYW/SBYW.zip" "http://sbyw.games/SBYW/sounds.zip" "${nvdaControllerClientDll}"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle speechsdk
|
||||||
mv -v "${cache}/sounds.zip" "${cache}/SBYW-sounds.zip"
|
mv -v "${cache}/sounds.zip" "${cache}/SBYW-sounds.zip"
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/sketchbook" "${cache}/SBYW.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/sketchbook" "${cache}/SBYW.zip"
|
||||||
@ -2894,7 +3015,7 @@ EOF
|
|||||||
;;
|
;;
|
||||||
"Shadow Line")
|
"Shadow Line")
|
||||||
export version="7.7"
|
export version="7.7"
|
||||||
download "https://www.mm-galabo.com/sr/Download_files_srfv/shadowrine_fullvoice3.171.exe"
|
download "https://www.mm-galabo.com/sr/Download_files_srfv/shadowrine_fullvoice3.171.exe" "https://raw.githubusercontent.com/LordLuceus/sr-english-localization/master/language_en.dat"
|
||||||
install_wine "$version" "32"
|
install_wine "$version" "32"
|
||||||
export winVer="win8"
|
export winVer="win8"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
@ -2908,19 +3029,44 @@ EOF
|
|||||||
xdotool key --clearmodifiers --delay=500 space
|
xdotool key --clearmodifiers --delay=500 space
|
||||||
xdotool key --clearmodifiers --delay=500 alt+f
|
xdotool key --clearmodifiers --delay=500 alt+f
|
||||||
${wine}server -w
|
${wine}server -w
|
||||||
|
mv -v "${cache}/language_en.dat" "${WINEPREFIX}/drive_c/Program Files/GalaxyLaboratory/ShadowRine_FullVoice/SystemData/language_en.dat"
|
||||||
add_launcher "c:\Program Files\GalaxyLaboratory\ShadowRine_FullVoice\play_sr.exe"
|
add_launcher "c:\Program Files\GalaxyLaboratory\ShadowRine_FullVoice\play_sr.exe"
|
||||||
|
echo "Please set the language to English when the game opens."
|
||||||
|
echo "Go to options and press enter."
|
||||||
|
echo "Press down arrow 5 times and press enter."
|
||||||
|
echo "Press down arrow 1 time and press enter."
|
||||||
|
echo "Press up arrow 2 times and press enter."
|
||||||
|
echo "If everything worked as expected you should be back on the game menu and speech should work."
|
||||||
|
alert
|
||||||
;;
|
;;
|
||||||
"Silver Dollar")
|
"Silver Dollar")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
|
export bottle="draconis"
|
||||||
download "http://download.dracoent.com/Windows/SilverDollarSetup.exe"
|
download "http://download.dracoent.com/Windows/SilverDollarSetup.exe"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle speechsdk
|
||||||
wine "${cache}/SilverDollarSetup.exe" /silent
|
cp -v "${cache}/SilverDollarSetup.exe" "$WINEPREFIX/drive_c/windows/temp/"
|
||||||
|
wine "c:/windows/temp/SilverDollarSetup.exe" /sp- /silent
|
||||||
|
rm -fv "$WINEPREFIX/drive_c/windows/temp/SilverDollarSetup.exe"
|
||||||
# warning warning warning: Do not change location, or installer will not function.
|
# warning warning warning: Do not change location, or installer will not function.
|
||||||
# FIXME: Hacky, but it works. Install dotnet40 by itself so it actually doesn't hang.
|
# FIXME: Hacky, but it works. Install dotnet40 by itself so it actually doesn't hang.
|
||||||
DISPLAY="" winetricks -q dotnet40
|
DISPLAY="" winetricks -q dotnet40
|
||||||
wineserver -k # Damn you, dotnet.
|
wineserver -k # Damn you, dotnet.
|
||||||
add_launcher "c:\Program Files\Draconis Entertainment\Silver Dollar\SilverDollarGui.exe"
|
add_launcher "c:\Program Files\Draconis Entertainment\Silver Dollar\SilverDollarGui.exe"
|
||||||
;;
|
;;
|
||||||
|
"Simple Fighter")
|
||||||
|
export WINEARCH=win64
|
||||||
|
export winVer="win7"
|
||||||
|
get_installer "simple fighter.exe" "https://tsatria03.itch.io/simple-fighter"
|
||||||
|
if [[ ! -r "${cache}/simple-fighter-sounds.7z" ]] && [[ ! -r "${cache}/sounds.7z" ]]; then
|
||||||
|
get_installer "sounds.7z" "https://tsatria03.itch.io/simple-fighter"
|
||||||
|
mv "${cache}/sounds.7z" "${cache}/simple-fighter-sounds.7z"
|
||||||
|
fi
|
||||||
|
install_wine_bottle
|
||||||
|
7z x -o"$WINEPREFIX/drive_c/Program Files/simple fighter" "${cache}/simple fighter.exe"
|
||||||
|
7z x -o"$WINEPREFIX/drive_c/Program Files/simple fighter/sounds" "${cache}/simple-fighter-sounds.7z"
|
||||||
|
find "${WINEPREFIX}/drive_c/Program Files/bf" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvda2speechd64.dll" "{}" \;
|
||||||
|
add_launcher "c:\Program Files\simple fighter\game.exe"
|
||||||
|
;;
|
||||||
"Slender Lost Vision")
|
"Slender Lost Vision")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "https://www.iamtalon.me/games/slender.zip"
|
download "https://www.iamtalon.me/games/slender.zip"
|
||||||
@ -2970,6 +3116,12 @@ EOF
|
|||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/space_defender.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/space_defender.zip"
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvdaControllerClient64.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvdaControllerClient64.dll" "{}" \;
|
||||||
add_launcher "c:\Program Files\space_defender\sdefender.exe"
|
add_launcher "c:\Program Files\space_defender\sdefender.exe"
|
||||||
|
;;
|
||||||
|
"Star Treck Final Conflict")
|
||||||
|
download "https://agarchive.net/games/USA/star%20trek%20final%20conflict%20Setup.exe"
|
||||||
|
install_wine_bottle speechsdk
|
||||||
|
wine "${cache}/star trek final conflict Setup.exe" /silent
|
||||||
|
add_launcher "c:\Program Files\USA Games\Final Conflict\stfc.exe"
|
||||||
;;
|
;;
|
||||||
"Super Deekout")
|
"Super Deekout")
|
||||||
export bottle=dan-z
|
export bottle=dan-z
|
||||||
@ -3090,9 +3242,12 @@ EOF
|
|||||||
;;
|
;;
|
||||||
"Ten Pin Alley")
|
"Ten Pin Alley")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
|
export bottle="draconis"
|
||||||
download "http://download.dracoent.com/Windows/classic/TPAXPSetup.exe"
|
download "http://download.dracoent.com/Windows/classic/TPAXPSetup.exe"
|
||||||
install_wine_bottle vb6run dx8vb speechsdk quartz
|
install_wine_bottle vb6run dx8vb speechsdk quartz
|
||||||
wine "${cache}/TPAXPSetup.exe" /sp- /silent
|
cp -v "${cache}/TPAXPSetup.exe" "$WINEPREFIX/drive_c/windows/temp/"
|
||||||
|
wine "c:/windows/temp/TPAXPSetup.exe" /sp- /silent
|
||||||
|
rm -fv "$WINEPREFIX/drive_c/windows/temp/TPAXPSetup.exe"
|
||||||
#winetricks -q msdxmocx # I think having this installed first breaks things.
|
#winetricks -q msdxmocx # I think having this installed first breaks things.
|
||||||
# warning warning warning: Do not change location, or installer will not function.
|
# warning warning warning: Do not change location, or installer will not function.
|
||||||
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
||||||
@ -3267,9 +3422,12 @@ export norh=false # Must install a voice, and rhvoice works easily with 64 bit.
|
|||||||
;;
|
;;
|
||||||
"Ultimate SounDoku")
|
"Ultimate SounDoku")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
|
export bottle="draconis"
|
||||||
download "http://download.dracoent.com/Windows/classic/USSetup.exe"
|
download "http://download.dracoent.com/Windows/classic/USSetup.exe"
|
||||||
install_wine_bottle vb6run dx8vb speechsdk quartz
|
install_wine_bottle vb6run dx8vb speechsdk quartz
|
||||||
wine "${cache}/USSetup.exe" /sp- /silent
|
cp -v "${cache}/USSetup.exe" "$WINEPREFIX/drive_c/windows/temp/"
|
||||||
|
wine "c:/windows/temp/USSetup.exe" /sp- /silent
|
||||||
|
rm -fv "$WINEPREFIX/drive_c/windows/temp/USSetup.exe"
|
||||||
# warning warning warning: Do not change location, or installer will not function.
|
# warning warning warning: Do not change location, or installer will not function.
|
||||||
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
|
||||||
winetricks -q dotnet20
|
winetricks -q dotnet20
|
||||||
@ -3278,7 +3436,7 @@ export norh=false # Must install a voice, and rhvoice works easily with 64 bit.
|
|||||||
;;
|
;;
|
||||||
"Undead Assault")
|
"Undead Assault")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://undead-assault.com/static/files/public/undead_assault.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "http://undead-assault.com/static/files/public/undead_assault.zip" "${nvdaControllerClientDll}"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle speechsdk
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/undead_assault" "${cache}/undead_assault.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/undead_assault" "${cache}/undead_assault.zip"
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
||||||
|
@ -37,16 +37,37 @@
|
|||||||
# Works which are defined in the CPAL as a work which combines Covered Code
|
# 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.
|
# or portions thereof with code not governed by the terms of the CPAL.
|
||||||
|
|
||||||
|
newVersion=82
|
||||||
|
|
||||||
|
WINEPREFIX="${XDG_DATA_HOME:-$HOME/.local}/wine/crazy-party"
|
||||||
|
oldVersion=$(find ~/.local/wine/crazy-party -type d -name 'Crazy-Party-beta*' | tr -cd '[:digit:]')
|
||||||
cache="${XDG_CACHE_HOME:-$HOME/.cache}/audiogame-manager"
|
cache="${XDG_CACHE_HOME:-$HOME/.cache}/audiogame-manager"
|
||||||
configFile="${XDG_CONFIG_HOME:-$HOME/.config}/storm-games/audiogame-manager/games.conf"
|
configFile="${XDG_CONFIG_HOME:-$HOME/.config}/storm-games/audiogame-manager/games.conf"
|
||||||
url="http://pragmapragma.free.fr/crazy-party/Crazy-Party-beta78.zip"
|
|
||||||
(rm -v "${cache}/Crazy-Party-beta77.zip"
|
if [[ $oldVersion -le 78 ]]; then
|
||||||
wget -O "${cache}/Crazy-Party-beta78.zip" "$url" || { echo "Could not download file."; exit 1; }
|
echo "Crazy party has to be reinstalled because it is now a 64 bit application."
|
||||||
unzip -DDod "$HOME/.local/wine/crazy-party/drive_c/Program Files" "${cache}/Crazy-Party-beta78.zip"
|
echo "Please run audiogame-manager -r to remove the old version."
|
||||||
rm -fv "$HOME/.local/wine/crazy-party/drive_c/Program Files/Crazy-Party-beta78/nvdaControllerClient32.dll"
|
echo "You can then install it again with audiogame-manager -i"
|
||||||
sed -i 's/Crazy-Party-beta77/Crazy-Party-beta78/' "$configFile"
|
echo "Don't forget to make a backup of your save.bin file, custom card decks, and custom game lists."
|
||||||
mv -v "$HOME/.local/wine/crazy-party/drive_c/Program Files/Crazy-Party-beta77/save.bin" "$HOME/.local/wine/crazy-party/drive_c/Program Files/Crazy-Party-beta78/"
|
find "${WINEPREFIX}/drive_c/Program Files" -type f -name 'save.bin' 2> /dev/null
|
||||||
cp -ruv "$HOME/.local/wine/crazy-party/drive_c/Program Files/Crazy-Party-beta77/"* "$HOME/.local/wine/crazy-party/drive_c/Program Files/Crazy-Party-beta78/" 2> /dev/null
|
find "${WINEPREFIX}/drive_c/Program Files" -type d -name 'deck' 2> /dev/null
|
||||||
rm -rf "$HOME/.local/wine/crazy-party/drive_c/Program Files/Crazy-Party-beta77/") | dialog --progressbox "updating Crazy Party, please wait..." -1 -1
|
find "${WINEPREFIX}/drive_c/Program Files" -type d -name 'game' 2> /dev/null
|
||||||
|
fi
|
||||||
|
if [[ $oldVersion -eq $newVersion ]]; then
|
||||||
|
echo "Crazy Party is up to date."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
url="http://pragmapragma.free.fr/crazy-party/Crazy-Party-beta${newVersion}.zip"
|
||||||
|
(rm -v "${cache}/Crazy-Party-beta${oldVersion}.zip"
|
||||||
|
wget -O "${cache}/Crazy-Party-beta${newVersion}.zip" "$url" || { echo "Could not download file."; exit 1; }
|
||||||
|
unzip -DDod "${WINEPREFIX}/drive_c/Program Files" "${cache}/Crazy-Party-beta${newVersion}.zip"
|
||||||
|
find "${WINEPREFIX}" -type f -name 'Tolk.dll' -exec cp -v "${cache}/Tolk.dll" "{}" \;
|
||||||
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvda2speechd64.dll" "{}" \;
|
||||||
|
sed -i "s/Crazy-Party-beta${oldVersion}/Crazy-Party-beta${newVersion}/" "$configFile"
|
||||||
|
cp -v "${WINEPREFIX}/drive_c/Program Files/Crazy-Party-beta${oldVersion}/save.bin" "$HOME/.local/wine/crazy-party/drive_c/Program Files/Crazy-Party-beta${newVersion}/"
|
||||||
|
cp -ruv "${WINEPREFIX}/drive_c/Program Files/Crazy-Party-beta${oldVersion}/"* "$HOME/.local/wine/crazy-party/drive_c/Program Files/Crazy-Party-beta${newVersion}/" 2> /dev/null
|
||||||
|
rm -rf "${WINEPREFIX}/drive_c/Program Files/Crazy-Party-beta${oldVersion}/") | dialog --progressbox "updating Crazy Party, please wait..." -1 -1
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
Loading…
Reference in New Issue
Block a user