Finally, RS Games working. More fixes needed for some games.

This commit is contained in:
stormdragon2976 2023-01-30 23:56:21 -05:00
parent b434cc16db
commit e5253d7757

View File

@ -306,7 +306,7 @@ get_bottle() {
"revelation"*) ;&
"swamp"*) ;&
"triple -triad"*)
version="7.7"
install_wine "7.7" "32"
export WINEPREFIX="${HOME}/.local/wine/aprone" ;;
"bg-"*) export WINEPREFIX="${HOME}/.local/wine/bg";;
# ESP Pinball games
@ -348,6 +348,10 @@ get_bottle() {
"challenge-of-the-horse"*) export WINEPREFIX="${HOME}/.local/wine/tunmi13";;
*) export WINEPREFIX="${HOME}/.local/wine/${game%|*}";;
esac
# Wine version for bottles
if [[ "$game" =~ rs-games ]]; then
install_wine "7.0" "32"
fi
}
get_installer() {
@ -531,19 +535,19 @@ install_rhvoice() {
download "${RHVoice[${voiceName}]}"
winetricks -q win8
echo "Installing RHVoice ${voiceName^}..."
wine "${cache}/${voiceFile}" &
${wine} "${cache}/${voiceFile}" &
sleep 20
wineserver -k
${wine}server -k
}
install_wine_bottle() {
# 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="${WINEARCH:-win32}"
# Figure out if we are using a specific version of wine
wine="${wine:-$(command -v wine)}"
export wine="${wine:-$(command -v wine)}"
# Set the WINE and WINESERVER environmental variables so winetricks will use the right installation.
WINE="${wine}"
WINESERVER="${wine}server"
export WINE="${wine}"
export WINESERVER="${wine}server"
if [[ -z "$bottle" ]]; then
local bottle="${game,,}"
bottle="${bottle//[[:space:]]/-}"
@ -569,8 +573,8 @@ install_wine_bottle() {
{ echo -n "Using "
${wine} --version
DISPLAY="" ${wine}boot -u
$wine msiexec /i z:"$monoPath" /quiet
$wine msiexec /i z:"$geckoPath" /quiet
${wine} msiexec /i z:"$monoPath" /quiet
${wine} msiexec /i z:"$geckoPath" /quiet
if [[ "${*}" =~ (speechsdk|sapi) ]]; then
install_rhvoice
fi
@ -750,13 +754,15 @@ game_launcher() {
exit 0
fi
get_bottle "$game"
echo -n "launching "
${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.
wineserver -k
${wine}server -k
# launch the game
if command -v qjoypad &> /dev/null ; then
mkdir -p ~/.qjoypad3
@ -829,9 +835,6 @@ game_launcher() {
if [[ "$game" =~ sketchbook ]]; then
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
fi
if [[ "$game" =~ swamp ]]; then
export version="7.7"
fi
if [[ "$game" =~ audiodisc ]]; then
wine "$winePath\\$wineExec"
exit 0
@ -843,10 +846,9 @@ game_launcher() {
if [[ "$game" =~ entombed ]]; then
export version="7.0"
fi
if [[ "$game" =~ rs-games ]] || [[ "$game" =~ screaming-strike-2 ]]; then
export version="7.7"
if [[ "$game" =~ screaming-strike-2 ]]; then
pushd "$(winepath "$winePath")"
wine "$wineExec"
${wine} "$wineExec"
popd
exit 0
fi
@ -871,8 +873,6 @@ game_launcher() {
else
wine="$(command -v wine64)"
fi
echo -n "launching "
${wine} --version
$wine start /realtime /d "${winePath}" "$wineExec"
else
# Figure out which wine version to use
@ -882,8 +882,6 @@ game_launcher() {
else
wine="$(command -v wine)"
fi
echo -n "launching "
${wine} --version
$wine start /d "${winePath}" "$wineExec" /realtime
fi
fi
@ -2513,12 +2511,12 @@ EOF
add_launcher "c:\Program Files\RTR Offline\rtr.exe"
;;
"RS Games")
export version="7.7"
export version="7.0"
install_wine "$version" "32"
export winVer="win7"
install_wine_bottle speechsdk
download "http://rsgames.org/rsdownloads/rsgclient/rsgames-client-setup-2.01.exe" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
wine "${cache}/rsgames-client-setup-2.01.exe" /silent
${wine} "${cache}/rsgames-client-setup-2.01.exe" /silent
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
add_launcher "c:\Program Files\RS Games Client\rsg.exe"
;;