The forum

[Script] Stubbs the Zombie in Rebel Without a Pulse

Author Replies
Dadu042 Monday 8 July 2019 at 9:44
Dadu042

I use the retail DVD-ROM.

Very bad result, impossible to play. Read the top of the script.

 

#!/bin/bash
#!/usr/bin/env playonlinux-bash
# Date : (2019-07-02)
# Last revision : see changelog
# Wine version used : see below
# Distribution used to test : XUbuntu 19.04 x64
# Script licence : GPL3
# Program licence : Retail
# Playonlinux v4.3.4
#
# Tested version : DVD-ROM, french, files date: november 2005.
#
# Game based on: DirectX 9, Bink, OpenAL, Starforce DRM.
#
#
# CHANGELOG
# [Dadu042] (2019-07-01)
#   Initial writting.
#
# KNOW ISSUES
# - Installation seems OK (even if no graphics display), but does never end after coyping files. There are ':err:' in the install log file.
# - Virtual desktop does open but nothing more. Log: ":err:seh:setup_exception_record stack overflow 920 bytes ..."

[ -z "$PLAYONLINUX" ] && exit 0
source "$PLAYONLINUX/lib/sources"
    
TITLE="Stubbs the Zombie in Rebel Without a Pulse"
PREFIX="stubbs-zombie-rebel"
WORKING_WINE_VERSION="4.0.1"
AUTHOR="Dadu042"
EDITOR="Aspyr"
GAME_URL="https://en.wikipedia.org/wiki/Stubbs_the_Zombie_in_Rebel_Without_a_Pulse"
    
POL_SetupWindow_Init
POL_Debug_Init
     
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
     
POL_Wine_SelectPrefix "$PREFIX"
POL_System_SetArch "x86"
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"
# POL_Wine_PrefixCreate
POL_System_TmpCreate "$TITLE"
   
Set_OS "winxp"
 
# Useless ?
# POL_Call POL_Install_d3dx9_43
# POL_Call POL_Install_d3compiler_43

# Without that, on a 1280x1024 5/4 screen I (Dadu042) get a wrong resolution and frequency (as soon as the game start).
# (this issue is targeted in patch v1.0.2 of the game).
#######################################
# Create a 'virtual desktop' (window) #
#######################################
 
POL_SetupWindow_menu_list "$(eval_gettext "Choose the resolution of the game window.")" "$TITLE" "800x600-1152x864-1024x768-1280x720-1280x800-1280x900-1280x1024-1360x768-1440x900-1400x1050-1600x900-1600x1024-1680x1050-1920x1080" "-" "800x600"

resolution="$APP_ANSWER"
WIDTH="$(echo $resolution | cut -d"x" -f1)"
HEIGHT="$(echo $resolution | cut -d"x" -f2)"
 
Set_Desktop "On" "$WIDTH" "$HEIGHT"

#######################################
# Game installation                   #
#######################################

POL_SetupWindow_InstallMethod "LOCAL,STEAM,DVD"
 
POL_SetupWindow_message "Note: at the end of the installation, please do not run the game, and do not install DirectX 9." "$TITLE"
 
if [ "$INSTALL_METHOD" == "LOCAL" ]; then
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "$TITLE"
#        POL_Call POL_Install_steam
        SETUP_EXE="$APP_ANSWER"
        POL_Wine start /unix "$SETUP_EXE"
        POL_Wine_WaitExit "$TITLE"
        cd "$POL_System_TmpDir"
            
elif [ "$INSTALL_METHOD" == "STEAM" ];then
        POL_Call POL_Install_steam
        cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
        POL_Wine "steam.exe" steam://install/7800
        POL_Wine_WaitBefore "$TITLE"
else
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "Stubbs The Zombie.msi"
        POL_Wine start /unix "$CDROM/setup.exe"
#        POL_Wine_WaitExit "Stubbs The Zombie - InstallShield Wizard"
        POL_Wine_WaitExit "setup"
        cd "$POL_System_TmpDir"
fi
 
 
if [ "$INSTALL_METHOD" == "STEAM" ]; then
        POL_Shortcut "steam.exe" "$TITLE" "" "steam://rungameid/7800"
else
        # Restore screen resolution (game's default is ?)
        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"

# Workaround the fail to start issue (see KNOWN ISSUES).
# I've only tested Intel GPU.
#
POL_SetupWindow_menu "Select a GPU (fix for this game):" "$TITLE" "Intel|Nvidia|AMD|Pass" "|"
if [ "$APP_ANSWER" = "Intel" ]
        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "MESA_EXTENSION_MAX_YEAR=2010 force_s3tc_enable=true"
elif [ "$APP_ANSWER" = "Nvidia" ]
        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "__GL_ExtensionStringVersion=17700"
elif [ "$APP_ANSWER" = "AMD" ]
        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "MESA_EXTENSION_MAX_YEAR=2004 %command%"
fi
# Inspired from : https://www.playonlinux.com/en/topic-11892.html and https://github.com/ValveSoftware/Proton/issues/2221
# To try also: https://pcgamingwiki.com/wiki/Stubbs_the_Zombie_in_Rebel_Without_a_Pulse#Crash_on_startup
         
        POL_Shortcut "stubbs.exe" "$TITLE" "" "Game;ActionGame;"
        POL_Shortcut_Document "$TITLE" "Stubbs Read Me.rtf"
fi

################
# Patch update #
################
 
POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ? (to download by yourself).')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"
 
if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi

 
POL_System_TmpDelete
POL_SetupWindow_Close
exit 0

Edited by Dadu042