Need For Speed Underground 2

Informations

Creator Message
NSLW

Information

This installer has been approved by the team.

Informations

Platforms:
Downloads: 103707
Wine: System

Feedbacks

Source code

#!/bin/bash
# Date : (2009-23-05 12-14)
# Last revision : (2015-21-02 11-00)
# Wine version used : 1.7.36
# Distribution used to test : Debian Squeeze (Testing)
# Author : NSWL & GNU_Raziel
# Licence : Retail
 
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
 
TITLE="Need For Speed Underground 2"
PREFIX="NFSUnderground2"
WORKING_WINE_VERSION="1.7.36"

if [ "$POL_LANG" == "fr" ]; then
LNG_CHOOSE_MEDIA="Quelle version possédez-vous?"
LNG_CD="Version CD"
LNG_DVD="Version DVD"
LNG_DDV="Version Digital Download"
LNG_INSERT_MEDIA_1="Veuillez insérer le disque 1 dans votre lecteur\nsi ce n'est pas déja fait."
LNG_INSERT_MEDIA_2="Veuillez insérer le disque 2 dans votre lecteur\nsi ce n'est pas déja fait."
LNG_INSERT_MEDIA="Veuillez insérer le disque $TITLE dans votre lecteur\nsi ce n'est pas déja fait."
LNG_CHOOSE_DDV="Veuillez selectionner votre executable Digital Download de $TITLE"
LNG_WAIT_END="Appuyez sur \"Suivant\" UNIQUEMENT quand l'installation du\njeu sera terminée sous peine de devoir recommencer l'installation."
LNG_INSTALL_ON="Installation en cours..."
LNG_GAME_VMS="Quelle est la quantité de mémoire (Mo) de votre carte graphique ?\n(minimum pour ce jeu : 256)" 
LNG_VMS_ERROR="Ce jeu ne fonctionnera correctement qu'avec une carte graphique ayant plus de 256Mo de mémoire."
LNG_SUCCES="$TITLE a été installé avec succès."
else
LNG_CHOOSE_MEDIA="What version do you have?"
LNG_CD="CD Version"
LNG_DVD="DVD Version"
LNG_DDV="Digital Download Version"
LNG_INSERT_MEDIA_1="Please insert disk 1 into your disk drive\nif not already done."
LNG_INSERT_MEDIA_2="Please insert disk 2 into your disk drive\nif not already done."
LNG_INSERT_MEDIA="Please insert $TITLE media into your disk drive\nif not already done."
LNG_CHOOSE_DDV="Please select your $TITLE Digital Download executable"
LNG_WAIT_END="Click on \"Next\" ONLY when the game installation is finished\nor you will have to redo the installation."
LNG_INSTALL_ON="Installation in progress..."
LNG_GAME_VMS="How much memory does your graphics board have?\n(minimum for this game : 256)" 
LNG_VMS_ERROR="This game will work correctly only with a graphic card with more than 256Mo of memory."
LNG_SUCCES="$TITLE has been installed successfully."
fi

#starting the script
rm "$REPERTOIRE/tmp/*.jpg"
POL_SetupWindow_Init
 
POL_SetupWindow_presentation "$TITLE" "EA Games" "N/A" "NSLW & GNU_Raziel" "$PREFIX" 
 
select_prefix "$REPERTOIRE/wineprefix/$PREFIX"
 
#downloading specific Wine
POL_SetupWindow_install_wine "$WORKING_WINE_VERSION"
Use_WineVersion "$WORKING_WINE_VERSION"
 
#fetching PROGRAMFILES environmental variable
POL_LoadVar_PROGRAMFILES
 
#Choose between CD, DVD and Digital Download version
POL_SetupWindow_menu "$LNG_CHOOSE_MEDIA" "Actions" "$LNG_CD~$LNG_DVD~$LNG_DDV" "~"
 
if [ "$APP_ANSWER" == "$LNG_CD" ]; then
        GAME_MEDIAVERSION="CD"        
elif [ "$APP_ANSWER" == "$LNG_DVD" ]; then
        GAME_MEDIAVERSION="DVD"
else
        GAME_MEDIAVERSION="DD"
fi

#Installing mandatory dependencies 
POL_Call POL_Install_vcrun2005
POL_Call POL_Install_d3dx9

if [ "$GAME_MEDIAVERSION" == "CD" ]; then
        #Copy content of CDs to HDD
        TEMP="$REPERTOIRE/tmp/$PREFIX"
        chmod -R 777 $TEMP
        rm -R $TEMP
        mkdir -p $TEMP
        cd $WINEPREFIX/dosdevices
        ln -s $TEMP d:
        #asking for CDROM and checking if it's correct one
        #CD-ROM 1
        POL_SetupWindow_message "$LNG_INSERT_MEDIA_1"
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "AutoRun.exe"
        POL_SetupWindow_wait_next_signal "$LNG_WAIT_CP" "$TITLE"
        cp -r $CDROM/* $TEMP
        chmod 777 $TEMP -R
        mv $TEMP/autorun.inf $TEMP/autorun-cd1.inf
        #CD-ROM 2
        POL_SetupWindow_message "$LNG_INSERT_MEDIA_2"
        POL_SetupWindow_cdrom
        POL_SetupWindow_wait_next_signal "$LNG_WAIT_CP" "$TITLE"
        cp -r $CDROM/* $TEMP
        chmod 777 $TEMP -R
        mv $TEMP/autorun.inf $TEMP/autorun-cd2.inf
        mv $TEMP/autorun-cd1.inf $TEMP/autorun.inf
        
        wine "d:\\AutoRun.exe"
        POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
        
        #Relinking d: to $CDROM
        cd $WINEPREFIX/dosdevices
        rm ./d:
        ln -s $CDROM ./d:
elif [ "$GAME_MEDIAVERSION" == "DVD" ]; then
        #asking for CDROM and checking if it's correct one
        POL_SetupWindow_message "$LNG_INSERT_MEDIA"
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "AutoRun.exe"
        wine start /unix "$CDROM/AutoRun.exe"
        POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
else
        #Asking then installing DDV of the game
        cd $HOME
        POL_SetupWindow_browse "$LNG_CHOOSE_DDV" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        POL_SetupWindow_wait_next_signal "$LNG_INSTALL_ON" "$TITLE"
        wine start /unix "$SETUP_EXE"
        INSTALL_ON="1"
        until [ "$INSTALL_ON" == "" ]; do
        sleep 5
        INSTALL_ON=`ps aux | grep "wineserver" | grep -v "grep"`
        done
        POL_SetupWindow_detect_exit
fi

#Fix for this game
cd "$REPERTOIRE/ressources"
if [ ! -e "dinput8.zip" ]; then
wget -c "http://www.useyourbrain.co.uk/dlldownloads-files/dinput8.zip"
fi
cd "$WINEPREFIX/drive_c/windows/temp/"
unzip "$REPERTOIRE/ressources/dinput8.zip"
mv DINPUT8.DLL "$WINEPREFIX/drive_c/windows/system32/dinput8.dll"
 
echo "[HKEY_CURRENT_USER\\Software\\Wine\\DllOverrides]" > "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
echo "\"dinput8\"=\"native\"" >> "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
regedit "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
 
#asking about memory size of graphic card
POL_SetupWindow_menu_list "$LNG_GAME_VMS" "$TITLE" "128-256-320-384-512-640-768-896-1024-1792-2048" "-" "256"
VMS="$APP_ANSWER"
 
cd "$WINEPREFIX/drive_c/windows/temp/"
echo "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]" > vms.reg
echo "\"VideoMemorySize\"=\"$VMS\"" >> vms.reg
regedit vms.reg
if [ "$VMS" -lt "256" ]; then
        POL_SetupWindow_message "$LNG_VMS_ERROR" "$TITLE"
fi

## PlayOnMac Section
[ "$PLAYONMAC" == "" ] && Set_SoundDriver "alsa"
[ "$PLAYONMAC" == "" ] || Set_Managed "Off"
## End Section
 
#cleaning temp
if [ -e "$WINEPREFIX/drive_c/windows/temp/" ]; then
        rm -rf "$WINEPREFIX/drive_c/windows/temp/*"
        chmod -R 777 "$REPERTOIRE/tmp/"
        rm -rf "$REPERTOIRE/tmp/*"
fi
 
#making shortcut
POL_SetupWindow_auto_shortcut "$PREFIX" "Speed2.exe" "$TITLE" "" ""
Set_WineVersion_Assign "$WORKING_WINE_VERSION" "$TITLE"
 
POL_SetupWindow_message "$LNG_SUCCES" "$TITLE"
 
POL_SetupWindow_Close
exit

Contributions

Filters:

Contribute
Member Message
hterbluc Friday 24 May 2019 at 2:04
hterbluc Anonymous

Message

Hey question, I'm new to playonmac so I'm trying to figure this out. I started downloading undersground with a dowloaded exe from corepack and playonmac can't seem to finish the install process, can anyone help?

Replies

Edited by hterbluc

Dadu042 Monday 29 April 2019 at 18:35
Dadu042
Moderator

Message

The approved script (# Last revision : (2015-21-02 11-00) did not work with my 2 CD edition (original, french) of the game (2004).

 

The script copied the CD #1 on the HDD, then the CD #2 on the HDD, then I had those error messages:

#1 "Error in POL_Shortcut_GetPrefix. Shortcut does not exist! "
#2 "Error in POL_Shortcut.  Binary not found: Speed2.exe   Have you installed the program to the default location ? ".

It seems that the game's installation software was running in background but not visible (OS: Ubuntu 18.04), I had to close their POL windows from the desktop toolbar.

Replies

Edited by Dadu042

ZeNity_ Thursday 23 June 2016 at 22:18
ZeNity_

Warning

This update has not been approved yet by the team.
Use it at your own risk

Message

Updated the script.

Changelog:

* Replaced deprecated functions by currently supported ones

* Removed dependencies as they don't seem required anymore

* Removed the fix (same reason as above)

* Removed start /unix from POL_Wine calls

Differences

@@ -1,175 +1,79 @@
 #!/bin/bash
-# Date : (2009-23-05 12-14)
-# Last revision : (2015-21-02 11-00)
+# Date : (2009-05-23 12-14)
+# Last revision : (2016-06-23 22-18)
 # Wine version used : 1.7.36
-# Distribution used to test : Debian Squeeze (Testing)
+# Distribution used to test : Debian Squeeze (Testing), Arch Linux
 # Author : NSWL & GNU_Raziel
 # Licence : Retail
- 
+
 [ "$PLAYONLINUX" = "" ] && exit 0
 source "$PLAYONLINUX/lib/sources"
- 
+
 TITLE="Need For Speed Underground 2"
 PREFIX="NFSUnderground2"
 WORKING_WINE_VERSION="1.7.36"
-
-if [ "$POL_LANG" == "fr" ]; then
-LNG_CHOOSE_MEDIA="Quelle version possédez-vous?"
-LNG_CD="Version CD"
-LNG_DVD="Version DVD"
-LNG_DDV="Version Digital Download"
-LNG_INSERT_MEDIA_1="Veuillez insérer le disque 1 dans votre lecteur\nsi ce n'est pas déja fait."
-LNG_INSERT_MEDIA_2="Veuillez insérer le disque 2 dans votre lecteur\nsi ce n'est pas déja fait."
-LNG_INSERT_MEDIA="Veuillez insérer le disque $TITLE dans votre lecteur\nsi ce n'est pas déja fait."
-LNG_CHOOSE_DDV="Veuillez selectionner votre executable Digital Download de $TITLE"
-LNG_WAIT_END="Appuyez sur \"Suivant\" UNIQUEMENT quand l'installation du\njeu sera terminée sous peine de devoir recommencer l'installation."
-LNG_INSTALL_ON="Installation en cours..."
-LNG_GAME_VMS="Quelle est la quantité de mémoire (Mo) de votre carte graphique ?\n(minimum pour ce jeu : 256)" 
-LNG_VMS_ERROR="Ce jeu ne fonctionnera correctement qu'avec une carte graphique ayant plus de 256Mo de mémoire."
-LNG_SUCCES="$TITLE a été installé avec succès."
-else
-LNG_CHOOSE_MEDIA="What version do you have?"
-LNG_CD="CD Version"
-LNG_DVD="DVD Version"
-LNG_DDV="Digital Download Version"
-LNG_INSERT_MEDIA_1="Please insert disk 1 into your disk drive\nif not already done."
-LNG_INSERT_MEDIA_2="Please insert disk 2 into your disk drive\nif not already done."
-LNG_INSERT_MEDIA="Please insert $TITLE media into your disk drive\nif not already done."
-LNG_CHOOSE_DDV="Please select your $TITLE Digital Download executable"
-LNG_WAIT_END="Click on \"Next\" ONLY when the game installation is finished\nor you will have to redo the installation."
-LNG_INSTALL_ON="Installation in progress..."
-LNG_GAME_VMS="How much memory does your graphics board have?\n(minimum for this game : 256)" 
-LNG_VMS_ERROR="This game will work correctly only with a graphic card with more than 256Mo of memory."
-LNG_SUCCES="$TITLE has been installed successfully."
-fi
+GAME_VMS="32"
 
 #starting the script
-rm "$REPERTOIRE/tmp/*.jpg"
 POL_SetupWindow_Init
- 
-POL_SetupWindow_presentation "$TITLE" "EA Games" "N/A" "NSLW & GNU_Raziel" "$PREFIX" 
- 
-select_prefix "$REPERTOIRE/wineprefix/$PREFIX"
- 
-#downloading specific Wine
-POL_SetupWindow_install_wine "$WORKING_WINE_VERSION"
-Use_WineVersion "$WORKING_WINE_VERSION"
- 
-#fetching PROGRAMFILES environmental variable
-POL_LoadVar_PROGRAMFILES
- 
+POL_Debug_Init
+
+POL_SetupWindow_presentation "$TITLE" "EA Games" "N/A" "NSLW & GNU_Raziel" "$PREFIX"
+
+#preparing Wine prefix
+POL_Wine_SelectPrefix "$PREFIX"
+POL_System_SetArch "x86"
+POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"
+
 #Choose between CD, DVD and Digital Download version
-POL_SetupWindow_menu "$LNG_CHOOSE_MEDIA" "Actions" "$LNG_CD~$LNG_DVD~$LNG_DDV" "~"
- 
-if [ "$APP_ANSWER" == "$LNG_CD" ]; then
-	GAME_MEDIAVERSION="CD"	
-elif [ "$APP_ANSWER" == "$LNG_DVD" ]; then
-	GAME_MEDIAVERSION="DVD"
-else
-	GAME_MEDIAVERSION="DD"
-fi
+POL_SetupWindow_InstallMethod "CD,DVD,LOCAL"
 
-#Installing mandatory dependencies 
-POL_Call POL_Install_vcrun2005
-POL_Call POL_Install_d3dx9
-
-if [ "$GAME_MEDIAVERSION" == "CD" ]; then
-	#Copy content of CDs to HDD
-	TEMP="$REPERTOIRE/tmp/$PREFIX"
-	chmod -R 777 $TEMP
-	rm -R $TEMP
-	mkdir -p $TEMP
-	cd $WINEPREFIX/dosdevices
-	ln -s $TEMP d:
+if [ "$INSTALL_METHOD" == "CD" ]; then
 	#asking for CDROM and checking if it's correct one
 	#CD-ROM 1
-	POL_SetupWindow_message "$LNG_INSERT_MEDIA_1"
+	POL_SetupWindow_message "$(eval_gettext 'Please insert the game media into your disk drive.')"
 	POL_SetupWindow_cdrom
 	POL_SetupWindow_check_cdrom "AutoRun.exe"
-	POL_SetupWindow_wait_next_signal "$LNG_WAIT_CP" "$TITLE"
-	cp -r $CDROM/* $TEMP
-	chmod 777 $TEMP -R
-	mv $TEMP/autorun.inf $TEMP/autorun-cd1.inf
+	cd "$WINEPREFIX/dosdevices"
+	rm "d::"
+	ln -s "$CDROM" "d:"
+	cd "$CDROM"
+	POL_Wine "AutoRun.exe"
+	POL_SetupWindow_message "$(eval_gettext 'When the game setup will ask for next disk\nclick on "Next".')"
 	#CD-ROM 2
-	POL_SetupWindow_message "$LNG_INSERT_MEDIA_2"
+	POL_SetupWindow_message "$(eval_gettext 'Please insert the game media into your disk drive.')"
 	POL_SetupWindow_cdrom
-	POL_SetupWindow_wait_next_signal "$LNG_WAIT_CP" "$TITLE"
-	cp -r $CDROM/* $TEMP
-	chmod 777 $TEMP -R
-	mv $TEMP/autorun.inf $TEMP/autorun-cd2.inf
-	mv $TEMP/autorun-cd1.inf $TEMP/autorun.inf
-	
-	wine "d:\\AutoRun.exe"
-	POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
-	
-	#Relinking d: to $CDROM
-	cd $WINEPREFIX/dosdevices
-	rm ./d:
-	ln -s $CDROM ./d:
-elif [ "$GAME_MEDIAVERSION" == "DVD" ]; then
+	cd "$WINEPREFIX/dosdevices"
+	rm "d:"
+	ln -s "$CDROM" "d:"
+	POL_SetupWindow_message "$(eval_gettext 'Please wait while $TITLE is installed.')" "$TITLE"
+elif [ "$INSTALL_METHOD" == "DVD" ]; then
 	#asking for CDROM and checking if it's correct one
-	POL_SetupWindow_message "$LNG_INSERT_MEDIA"
+	POL_SetupWindow_message "$(eval_gettext 'Please insert the game media into your disk drive.')"
 	POL_SetupWindow_cdrom
 	POL_SetupWindow_check_cdrom "AutoRun.exe"
-	wine start /unix "$CDROM/AutoRun.exe"
-	POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
+	cd "$CDROM"
+	POL_Wine "AutoRun.exe"
+	POL_Wine_WaitExit "$TITLE"
 else
 	#Asking then installing DDV of the game
-	cd $HOME
-	POL_SetupWindow_browse "$LNG_CHOOSE_DDV" "$TITLE"
-	SETUP_EXE="$APP_ANSWER"
-	POL_SetupWindow_wait_next_signal "$LNG_INSTALL_ON" "$TITLE"
-	wine start /unix "$SETUP_EXE"
-	INSTALL_ON="1"
-	until [ "$INSTALL_ON" == "" ]; do
-	sleep 5
-	INSTALL_ON=`ps aux | grep "wineserver" | grep -v "grep"`
-	done
-	POL_SetupWindow_detect_exit
+	POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE"
+	POL_Wine "$APP_ANSWER"
+	POL_Wine_WaitExit "$TITLE"
 fi
 
-#Fix for this game
-cd "$REPERTOIRE/ressources"
-if [ ! -e "dinput8.zip" ]; then
-wget -c "http://www.useyourbrain.co.uk/dlldownloads-files/dinput8.zip"
-fi
-cd "$WINEPREFIX/drive_c/windows/temp/"
-unzip "$REPERTOIRE/ressources/dinput8.zip"
-mv DINPUT8.DLL "$WINEPREFIX/drive_c/windows/system32/dinput8.dll"
- 
-echo "[HKEY_CURRENT_USER\\Software\\Wine\\DllOverrides]" > "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
-echo "\"dinput8\"=\"native\"" >> "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
-regedit "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
- 
 #asking about memory size of graphic card
-POL_SetupWindow_menu_list "$LNG_GAME_VMS" "$TITLE" "128-256-320-384-512-640-768-896-1024-1792-2048" "-" "256"
-VMS="$APP_ANSWER"
- 
-cd "$WINEPREFIX/drive_c/windows/temp/"
-echo "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]" > vms.reg
-echo "\"VideoMemorySize\"=\"$VMS\"" >> vms.reg
-regedit vms.reg
-if [ "$VMS" -lt "256" ]; then
-	POL_SetupWindow_message "$LNG_VMS_ERROR" "$TITLE"
-fi
+POL_SetupWindow_VMS "$GAME_VMS"
 
 ## PlayOnMac Section
 [ "$PLAYONMAC" == "" ] && Set_SoundDriver "alsa"
 [ "$PLAYONMAC" == "" ] || Set_Managed "Off"
 ## End Section
- 
-#cleaning temp
-if [ -e "$WINEPREFIX/drive_c/windows/temp/" ]; then
-	rm -rf "$WINEPREFIX/drive_c/windows/temp/*"
-	chmod -R 777 "$REPERTOIRE/tmp/"
-	rm -rf "$REPERTOIRE/tmp/*"
-fi
- 
+
 #making shortcut
-POL_SetupWindow_auto_shortcut "$PREFIX" "Speed2.exe" "$TITLE" "" ""
-Set_WineVersion_Assign "$WORKING_WINE_VERSION" "$TITLE"
- 
-POL_SetupWindow_message "$LNG_SUCCES" "$TITLE"
- 
+POL_Shortcut "speed2.exe" "$TITLE"
+
+POL_SetupWindow_message "$(eval_gettext '$TITLE has been successfully installed.')" "$TITLE"
+
 POL_SetupWindow_Close
 exit
\ No newline at end of file

New source code

#!/bin/bash
# Date : (2009-05-23 12-14)
# Last revision : (2016-06-23 22-18)
# Wine version used : 1.7.36
# Distribution used to test : Debian Squeeze (Testing), Arch Linux
# Author : NSWL & GNU_Raziel
# Licence : Retail

[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"

TITLE="Need For Speed Underground 2"
PREFIX="NFSUnderground2"
WORKING_WINE_VERSION="1.7.36"
GAME_VMS="32"

#starting the script
POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation "$TITLE" "EA Games" "N/A" "NSLW & GNU_Raziel" "$PREFIX"

#preparing Wine prefix
POL_Wine_SelectPrefix "$PREFIX"
POL_System_SetArch "x86"
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"

#Choose between CD, DVD and Digital Download version
POL_SetupWindow_InstallMethod "CD,DVD,LOCAL"

if [ "$INSTALL_METHOD" == "CD" ]; then
        #asking for CDROM and checking if it's correct one
        #CD-ROM 1
        POL_SetupWindow_message "$(eval_gettext 'Please insert the game media into your disk drive.')"
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "AutoRun.exe"
        cd "$WINEPREFIX/dosdevices"
        rm "d::"
        ln -s "$CDROM" "d:"
        cd "$CDROM"
        POL_Wine "AutoRun.exe"
        POL_SetupWindow_message "$(eval_gettext 'When the game setup will ask for next disk\nclick on "Next".')"
        #CD-ROM 2
        POL_SetupWindow_message "$(eval_gettext 'Please insert the game media into your disk drive.')"
        POL_SetupWindow_cdrom
        cd "$WINEPREFIX/dosdevices"
        rm "d:"
        ln -s "$CDROM" "d:"
        POL_SetupWindow_message "$(eval_gettext 'Please wait while $TITLE is installed.')" "$TITLE"
elif [ "$INSTALL_METHOD" == "DVD" ]; then
        #asking for CDROM and checking if it's correct one
        POL_SetupWindow_message "$(eval_gettext 'Please insert the game media into your disk drive.')"
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "AutoRun.exe"
        cd "$CDROM"
        POL_Wine "AutoRun.exe"
        POL_Wine_WaitExit "$TITLE"
else
        #Asking then installing DDV of the game
        POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE"
        POL_Wine "$APP_ANSWER"
        POL_Wine_WaitExit "$TITLE"
fi

#asking about memory size of graphic card
POL_SetupWindow_VMS "$GAME_VMS"

## PlayOnMac Section
[ "$PLAYONMAC" == "" ] && Set_SoundDriver "alsa"
[ "$PLAYONMAC" == "" ] || Set_Managed "Off"
## End Section

#making shortcut
POL_Shortcut "speed2.exe" "$TITLE"

POL_SetupWindow_message "$(eval_gettext '$TITLE has been successfully installed.')" "$TITLE"

POL_SetupWindow_Close
exit

Replies

Thursday 23 June 2016 at 22:21
Also rewrote messages using eval_gettext command.
ZeNity_ Wednesday 6 January 2016 at 18:40
ZeNity_

Warning

This update has not been approved yet by the team.
Use it at your own risk

Message

This patch comes as a replacement for the previous one which you can ignore.

I rewrote CD install section in order to make it functional but without using -fT option for ln command in order to avoid PlayOnMac compatibility issues.

Differences

@@ -1,6 +1,6 @@
 #!/bin/bash
 # Date : (2009-23-05 12-14)
-# Last revision : (2015-21-02 11-00)
+# Last revision : (2016-06-01 18-40)
 # Wine version used : 1.7.36
 # Distribution used to test : Debian Squeeze (Testing)
 # Author : NSWL & GNU_Raziel
@@ -20,6 +20,7 @@
 LNG_DDV="Version Digital Download"
 LNG_INSERT_MEDIA_1="Veuillez insérer le disque 1 dans votre lecteur\nsi ce n'est pas déja fait."
 LNG_INSERT_MEDIA_2="Veuillez insérer le disque 2 dans votre lecteur\nsi ce n'est pas déja fait."
+LNG_NEXT_MEDIA="Quand l'installateur du jeu demandera le prochain disque\ncliquez sur \"Suivant\"."
 LNG_INSERT_MEDIA="Veuillez insérer le disque $TITLE dans votre lecteur\nsi ce n'est pas déja fait."
 LNG_CHOOSE_DDV="Veuillez selectionner votre executable Digital Download de $TITLE"
 LNG_WAIT_END="Appuyez sur \"Suivant\" UNIQUEMENT quand l'installation du\njeu sera terminée sous peine de devoir recommencer l'installation."
@@ -34,6 +35,7 @@
 LNG_DDV="Digital Download Version"
 LNG_INSERT_MEDIA_1="Please insert disk 1 into your disk drive\nif not already done."
 LNG_INSERT_MEDIA_2="Please insert disk 2 into your disk drive\nif not already done."
+LNG_NEXT_MEDIA="When the game setup will ask for next disk\nclick on \"Next\"."
 LNG_INSERT_MEDIA="Please insert $TITLE media into your disk drive\nif not already done."
 LNG_CHOOSE_DDV="Please select your $TITLE Digital Download executable"
 LNG_WAIT_END="Click on \"Next\" ONLY when the game installation is finished\nor you will have to redo the installation."
@@ -74,38 +76,26 @@
 POL_Call POL_Install_d3dx9
 
 if [ "$GAME_MEDIAVERSION" == "CD" ]; then
-	#Copy content of CDs to HDD
-	TEMP="$REPERTOIRE/tmp/$PREFIX"
-	chmod -R 777 $TEMP
-	rm -R $TEMP
-	mkdir -p $TEMP
-	cd $WINEPREFIX/dosdevices
-	ln -s $TEMP d:
 	#asking for CDROM and checking if it's correct one
 	#CD-ROM 1
 	POL_SetupWindow_message "$LNG_INSERT_MEDIA_1"
 	POL_SetupWindow_cdrom
 	POL_SetupWindow_check_cdrom "AutoRun.exe"
-	POL_SetupWindow_wait_next_signal "$LNG_WAIT_CP" "$TITLE"
-	cp -r $CDROM/* $TEMP
-	chmod 777 $TEMP -R
-	mv $TEMP/autorun.inf $TEMP/autorun-cd1.inf
+	cd $WINEPREFIX/dosdevices
+	rm d::
+	ln -s $CDROM d:
+	wine start /unix "$CDROM/AutoRun.exe"
+	#Ejecting CD-ROM 1
+	POL_SetupWindow_message "$LNG_NEXT_MEDIA"
+	wine eject d:
 	#CD-ROM 2
 	POL_SetupWindow_message "$LNG_INSERT_MEDIA_2"
 	POL_SetupWindow_cdrom
-	POL_SetupWindow_wait_next_signal "$LNG_WAIT_CP" "$TITLE"
-	cp -r $CDROM/* $TEMP
-	chmod 777 $TEMP -R
-	mv $TEMP/autorun.inf $TEMP/autorun-cd2.inf
-	mv $TEMP/autorun-cd1.inf $TEMP/autorun.inf
+	cd $WINEPREFIX/dosdevices
+	rm d:
+	ln -s $CDROM d:
 	
-	wine "d:\\AutoRun.exe"
 	POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
-	
-	#Relinking d: to $CDROM
-	cd $WINEPREFIX/dosdevices
-	rm ./d:
-	ln -s $CDROM ./d:
 elif [ "$GAME_MEDIAVERSION" == "DVD" ]; then
 	#asking for CDROM and checking if it's correct one
 	POL_SetupWindow_message "$LNG_INSERT_MEDIA"

New source code

#!/bin/bash
# Date : (2009-23-05 12-14)
# Last revision : (2016-06-01 18-40)
# Wine version used : 1.7.36
# Distribution used to test : Debian Squeeze (Testing)
# Author : NSWL & GNU_Raziel
# Licence : Retail
 
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
 
TITLE="Need For Speed Underground 2"
PREFIX="NFSUnderground2"
WORKING_WINE_VERSION="1.7.36"

if [ "$POL_LANG" == "fr" ]; then
LNG_CHOOSE_MEDIA="Quelle version possédez-vous?"
LNG_CD="Version CD"
LNG_DVD="Version DVD"
LNG_DDV="Version Digital Download"
LNG_INSERT_MEDIA_1="Veuillez insérer le disque 1 dans votre lecteur\nsi ce n'est pas déja fait."
LNG_INSERT_MEDIA_2="Veuillez insérer le disque 2 dans votre lecteur\nsi ce n'est pas déja fait."
LNG_NEXT_MEDIA="Quand l'installateur du jeu demandera le prochain disque\ncliquez sur \"Suivant\"."
LNG_INSERT_MEDIA="Veuillez insérer le disque $TITLE dans votre lecteur\nsi ce n'est pas déja fait."
LNG_CHOOSE_DDV="Veuillez selectionner votre executable Digital Download de $TITLE"
LNG_WAIT_END="Appuyez sur \"Suivant\" UNIQUEMENT quand l'installation du\njeu sera terminée sous peine de devoir recommencer l'installation."
LNG_INSTALL_ON="Installation en cours..."
LNG_GAME_VMS="Quelle est la quantité de mémoire (Mo) de votre carte graphique ?\n(minimum pour ce jeu : 256)" 
LNG_VMS_ERROR="Ce jeu ne fonctionnera correctement qu'avec une carte graphique ayant plus de 256Mo de mémoire."
LNG_SUCCES="$TITLE a été installé avec succès."
else
LNG_CHOOSE_MEDIA="What version do you have?"
LNG_CD="CD Version"
LNG_DVD="DVD Version"
LNG_DDV="Digital Download Version"
LNG_INSERT_MEDIA_1="Please insert disk 1 into your disk drive\nif not already done."
LNG_INSERT_MEDIA_2="Please insert disk 2 into your disk drive\nif not already done."
LNG_NEXT_MEDIA="When the game setup will ask for next disk\nclick on \"Next\"."
LNG_INSERT_MEDIA="Please insert $TITLE media into your disk drive\nif not already done."
LNG_CHOOSE_DDV="Please select your $TITLE Digital Download executable"
LNG_WAIT_END="Click on \"Next\" ONLY when the game installation is finished\nor you will have to redo the installation."
LNG_INSTALL_ON="Installation in progress..."
LNG_GAME_VMS="How much memory does your graphics board have?\n(minimum for this game : 256)" 
LNG_VMS_ERROR="This game will work correctly only with a graphic card with more than 256Mo of memory."
LNG_SUCCES="$TITLE has been installed successfully."
fi

#starting the script
rm "$REPERTOIRE/tmp/*.jpg"
POL_SetupWindow_Init
 
POL_SetupWindow_presentation "$TITLE" "EA Games" "N/A" "NSLW & GNU_Raziel" "$PREFIX" 
 
select_prefix "$REPERTOIRE/wineprefix/$PREFIX"
 
#downloading specific Wine
POL_SetupWindow_install_wine "$WORKING_WINE_VERSION"
Use_WineVersion "$WORKING_WINE_VERSION"
 
#fetching PROGRAMFILES environmental variable
POL_LoadVar_PROGRAMFILES
 
#Choose between CD, DVD and Digital Download version
POL_SetupWindow_menu "$LNG_CHOOSE_MEDIA" "Actions" "$LNG_CD~$LNG_DVD~$LNG_DDV" "~"
 
if [ "$APP_ANSWER" == "$LNG_CD" ]; then
        GAME_MEDIAVERSION="CD"        
elif [ "$APP_ANSWER" == "$LNG_DVD" ]; then
        GAME_MEDIAVERSION="DVD"
else
        GAME_MEDIAVERSION="DD"
fi

#Installing mandatory dependencies 
POL_Call POL_Install_vcrun2005
POL_Call POL_Install_d3dx9

if [ "$GAME_MEDIAVERSION" == "CD" ]; then
        #asking for CDROM and checking if it's correct one
        #CD-ROM 1
        POL_SetupWindow_message "$LNG_INSERT_MEDIA_1"
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "AutoRun.exe"
        cd $WINEPREFIX/dosdevices
        rm d::
        ln -s $CDROM d:
        wine start /unix "$CDROM/AutoRun.exe"
        #Ejecting CD-ROM 1
        POL_SetupWindow_message "$LNG_NEXT_MEDIA"
        wine eject d:
        #CD-ROM 2
        POL_SetupWindow_message "$LNG_INSERT_MEDIA_2"
        POL_SetupWindow_cdrom
        cd $WINEPREFIX/dosdevices
        rm d:
        ln -s $CDROM d:
        
        POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
elif [ "$GAME_MEDIAVERSION" == "DVD" ]; then
        #asking for CDROM and checking if it's correct one
        POL_SetupWindow_message "$LNG_INSERT_MEDIA"
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "AutoRun.exe"
        wine start /unix "$CDROM/AutoRun.exe"
        POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
else
        #Asking then installing DDV of the game
        cd $HOME
        POL_SetupWindow_browse "$LNG_CHOOSE_DDV" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        POL_SetupWindow_wait_next_signal "$LNG_INSTALL_ON" "$TITLE"
        wine start /unix "$SETUP_EXE"
        INSTALL_ON="1"
        until [ "$INSTALL_ON" == "" ]; do
        sleep 5
        INSTALL_ON=`ps aux | grep "wineserver" | grep -v "grep"`
        done
        POL_SetupWindow_detect_exit
fi

#Fix for this game
cd "$REPERTOIRE/ressources"
if [ ! -e "dinput8.zip" ]; then
wget -c "http://www.useyourbrain.co.uk/dlldownloads-files/dinput8.zip"
fi
cd "$WINEPREFIX/drive_c/windows/temp/"
unzip "$REPERTOIRE/ressources/dinput8.zip"
mv DINPUT8.DLL "$WINEPREFIX/drive_c/windows/system32/dinput8.dll"
 
echo "[HKEY_CURRENT_USER\\Software\\Wine\\DllOverrides]" > "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
echo "\"dinput8\"=\"native\"" >> "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
regedit "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
 
#asking about memory size of graphic card
POL_SetupWindow_menu_list "$LNG_GAME_VMS" "$TITLE" "128-256-320-384-512-640-768-896-1024-1792-2048" "-" "256"
VMS="$APP_ANSWER"
 
cd "$WINEPREFIX/drive_c/windows/temp/"
echo "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]" > vms.reg
echo "\"VideoMemorySize\"=\"$VMS\"" >> vms.reg
regedit vms.reg
if [ "$VMS" -lt "256" ]; then
        POL_SetupWindow_message "$LNG_VMS_ERROR" "$TITLE"
fi

## PlayOnMac Section
[ "$PLAYONMAC" == "" ] && Set_SoundDriver "alsa"
[ "$PLAYONMAC" == "" ] || Set_Managed "Off"
## End Section
 
#cleaning temp
if [ -e "$WINEPREFIX/drive_c/windows/temp/" ]; then
        rm -rf "$WINEPREFIX/drive_c/windows/temp/*"
        chmod -R 777 "$REPERTOIRE/tmp/"
        rm -rf "$REPERTOIRE/tmp/*"
fi
 
#making shortcut
POL_SetupWindow_auto_shortcut "$PREFIX" "Speed2.exe" "$TITLE" "" ""
Set_WineVersion_Assign "$WORKING_WINE_VERSION" "$TITLE"
 
POL_SetupWindow_message "$LNG_SUCCES" "$TITLE"
 
POL_SetupWindow_Close
exit

Replies

ZeNity_ Monday 4 January 2016 at 2:12
ZeNity_

Warning

This update has not been approved yet by the team.
Use it at your own risk

Message

Hi,

As I think the section about CD install isn't functional, I decided to rewrite this part of the script.

Differences

@@ -1,6 +1,6 @@
 #!/bin/bash
 # Date : (2009-23-05 12-14)
-# Last revision : (2015-21-02 11-00)
+# Last revision : (2016-04-01 02-12)
 # Wine version used : 1.7.36
 # Distribution used to test : Debian Squeeze (Testing)
 # Author : NSWL & GNU_Raziel
@@ -20,6 +20,7 @@
 LNG_DDV="Version Digital Download"
 LNG_INSERT_MEDIA_1="Veuillez insérer le disque 1 dans votre lecteur\nsi ce n'est pas déja fait."
 LNG_INSERT_MEDIA_2="Veuillez insérer le disque 2 dans votre lecteur\nsi ce n'est pas déja fait."
+LNG_NEXT_MEDIA="Quand l'installateur du jeu demandera le prochain disque\ncliquez sur \"Suivant\"."
 LNG_INSERT_MEDIA="Veuillez insérer le disque $TITLE dans votre lecteur\nsi ce n'est pas déja fait."
 LNG_CHOOSE_DDV="Veuillez selectionner votre executable Digital Download de $TITLE"
 LNG_WAIT_END="Appuyez sur \"Suivant\" UNIQUEMENT quand l'installation du\njeu sera terminée sous peine de devoir recommencer l'installation."
@@ -34,6 +35,7 @@
 LNG_DDV="Digital Download Version"
 LNG_INSERT_MEDIA_1="Please insert disk 1 into your disk drive\nif not already done."
 LNG_INSERT_MEDIA_2="Please insert disk 2 into your disk drive\nif not already done."
+LNG_NEXT_MEDIA="When the game setup will ask for next disk\nclick on \"Next\"."
 LNG_INSERT_MEDIA="Please insert $TITLE media into your disk drive\nif not already done."
 LNG_CHOOSE_DDV="Please select your $TITLE Digital Download executable"
 LNG_WAIT_END="Click on \"Next\" ONLY when the game installation is finished\nor you will have to redo the installation."
@@ -74,38 +76,25 @@
 POL_Call POL_Install_d3dx9
 
 if [ "$GAME_MEDIAVERSION" == "CD" ]; then
-	#Copy content of CDs to HDD
-	TEMP="$REPERTOIRE/tmp/$PREFIX"
-	chmod -R 777 $TEMP
-	rm -R $TEMP
-	mkdir -p $TEMP
-	cd $WINEPREFIX/dosdevices
-	ln -s $TEMP d:
 	#asking for CDROM and checking if it's correct one
 	#CD-ROM 1
 	POL_SetupWindow_message "$LNG_INSERT_MEDIA_1"
 	POL_SetupWindow_cdrom
 	POL_SetupWindow_check_cdrom "AutoRun.exe"
-	POL_SetupWindow_wait_next_signal "$LNG_WAIT_CP" "$TITLE"
-	cp -r $CDROM/* $TEMP
-	chmod 777 $TEMP -R
-	mv $TEMP/autorun.inf $TEMP/autorun-cd1.inf
+	cd $WINEPREFIX/dosdevices
+	rm d::
+	ln -sfT $CDROM d:
+	wine start /unix "$CDROM/AutoRun.exe"
+	#Ejecting CD-ROM 1
+	POL_SetupWindow_message "$LNG_NEXT_MEDIA"
+    wine eject d:
 	#CD-ROM 2
 	POL_SetupWindow_message "$LNG_INSERT_MEDIA_2"
 	POL_SetupWindow_cdrom
-	POL_SetupWindow_wait_next_signal "$LNG_WAIT_CP" "$TITLE"
-	cp -r $CDROM/* $TEMP
-	chmod 777 $TEMP -R
-	mv $TEMP/autorun.inf $TEMP/autorun-cd2.inf
-	mv $TEMP/autorun-cd1.inf $TEMP/autorun.inf
+	cd $WINEPREFIX/dosdevices
+    ln -sfT $CDROM d:
 	
-	wine "d:\\AutoRun.exe"
 	POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
-	
-	#Relinking d: to $CDROM
-	cd $WINEPREFIX/dosdevices
-	rm ./d:
-	ln -s $CDROM ./d:
 elif [ "$GAME_MEDIAVERSION" == "DVD" ]; then
 	#asking for CDROM and checking if it's correct one
 	POL_SetupWindow_message "$LNG_INSERT_MEDIA"

New source code

#!/bin/bash
# Date : (2009-23-05 12-14)
# Last revision : (2016-04-01 02-12)
# Wine version used : 1.7.36
# Distribution used to test : Debian Squeeze (Testing)
# Author : NSWL & GNU_Raziel
# Licence : Retail
 
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
 
TITLE="Need For Speed Underground 2"
PREFIX="NFSUnderground2"
WORKING_WINE_VERSION="1.7.36"

if [ "$POL_LANG" == "fr" ]; then
LNG_CHOOSE_MEDIA="Quelle version possédez-vous?"
LNG_CD="Version CD"
LNG_DVD="Version DVD"
LNG_DDV="Version Digital Download"
LNG_INSERT_MEDIA_1="Veuillez insérer le disque 1 dans votre lecteur\nsi ce n'est pas déja fait."
LNG_INSERT_MEDIA_2="Veuillez insérer le disque 2 dans votre lecteur\nsi ce n'est pas déja fait."
LNG_NEXT_MEDIA="Quand l'installateur du jeu demandera le prochain disque\ncliquez sur \"Suivant\"."
LNG_INSERT_MEDIA="Veuillez insérer le disque $TITLE dans votre lecteur\nsi ce n'est pas déja fait."
LNG_CHOOSE_DDV="Veuillez selectionner votre executable Digital Download de $TITLE"
LNG_WAIT_END="Appuyez sur \"Suivant\" UNIQUEMENT quand l'installation du\njeu sera terminée sous peine de devoir recommencer l'installation."
LNG_INSTALL_ON="Installation en cours..."
LNG_GAME_VMS="Quelle est la quantité de mémoire (Mo) de votre carte graphique ?\n(minimum pour ce jeu : 256)" 
LNG_VMS_ERROR="Ce jeu ne fonctionnera correctement qu'avec une carte graphique ayant plus de 256Mo de mémoire."
LNG_SUCCES="$TITLE a été installé avec succès."
else
LNG_CHOOSE_MEDIA="What version do you have?"
LNG_CD="CD Version"
LNG_DVD="DVD Version"
LNG_DDV="Digital Download Version"
LNG_INSERT_MEDIA_1="Please insert disk 1 into your disk drive\nif not already done."
LNG_INSERT_MEDIA_2="Please insert disk 2 into your disk drive\nif not already done."
LNG_NEXT_MEDIA="When the game setup will ask for next disk\nclick on \"Next\"."
LNG_INSERT_MEDIA="Please insert $TITLE media into your disk drive\nif not already done."
LNG_CHOOSE_DDV="Please select your $TITLE Digital Download executable"
LNG_WAIT_END="Click on \"Next\" ONLY when the game installation is finished\nor you will have to redo the installation."
LNG_INSTALL_ON="Installation in progress..."
LNG_GAME_VMS="How much memory does your graphics board have?\n(minimum for this game : 256)" 
LNG_VMS_ERROR="This game will work correctly only with a graphic card with more than 256Mo of memory."
LNG_SUCCES="$TITLE has been installed successfully."
fi

#starting the script
rm "$REPERTOIRE/tmp/*.jpg"
POL_SetupWindow_Init
 
POL_SetupWindow_presentation "$TITLE" "EA Games" "N/A" "NSLW & GNU_Raziel" "$PREFIX" 
 
select_prefix "$REPERTOIRE/wineprefix/$PREFIX"
 
#downloading specific Wine
POL_SetupWindow_install_wine "$WORKING_WINE_VERSION"
Use_WineVersion "$WORKING_WINE_VERSION"
 
#fetching PROGRAMFILES environmental variable
POL_LoadVar_PROGRAMFILES
 
#Choose between CD, DVD and Digital Download version
POL_SetupWindow_menu "$LNG_CHOOSE_MEDIA" "Actions" "$LNG_CD~$LNG_DVD~$LNG_DDV" "~"
 
if [ "$APP_ANSWER" == "$LNG_CD" ]; then
        GAME_MEDIAVERSION="CD"        
elif [ "$APP_ANSWER" == "$LNG_DVD" ]; then
        GAME_MEDIAVERSION="DVD"
else
        GAME_MEDIAVERSION="DD"
fi

#Installing mandatory dependencies 
POL_Call POL_Install_vcrun2005
POL_Call POL_Install_d3dx9

if [ "$GAME_MEDIAVERSION" == "CD" ]; then
        #asking for CDROM and checking if it's correct one
        #CD-ROM 1
        POL_SetupWindow_message "$LNG_INSERT_MEDIA_1"
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "AutoRun.exe"
        cd $WINEPREFIX/dosdevices
        rm d::
        ln -sfT $CDROM d:
        wine start /unix "$CDROM/AutoRun.exe"
        #Ejecting CD-ROM 1
        POL_SetupWindow_message "$LNG_NEXT_MEDIA"
    wine eject d:
        #CD-ROM 2
        POL_SetupWindow_message "$LNG_INSERT_MEDIA_2"
        POL_SetupWindow_cdrom
        cd $WINEPREFIX/dosdevices
    ln -sfT $CDROM d:
        
        POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
elif [ "$GAME_MEDIAVERSION" == "DVD" ]; then
        #asking for CDROM and checking if it's correct one
        POL_SetupWindow_message "$LNG_INSERT_MEDIA"
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "AutoRun.exe"
        wine start /unix "$CDROM/AutoRun.exe"
        POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
else
        #Asking then installing DDV of the game
        cd $HOME
        POL_SetupWindow_browse "$LNG_CHOOSE_DDV" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        POL_SetupWindow_wait_next_signal "$LNG_INSTALL_ON" "$TITLE"
        wine start /unix "$SETUP_EXE"
        INSTALL_ON="1"
        until [ "$INSTALL_ON" == "" ]; do
        sleep 5
        INSTALL_ON=`ps aux | grep "wineserver" | grep -v "grep"`
        done
        POL_SetupWindow_detect_exit
fi

#Fix for this game
cd "$REPERTOIRE/ressources"
if [ ! -e "dinput8.zip" ]; then
wget -c "http://www.useyourbrain.co.uk/dlldownloads-files/dinput8.zip"
fi
cd "$WINEPREFIX/drive_c/windows/temp/"
unzip "$REPERTOIRE/ressources/dinput8.zip"
mv DINPUT8.DLL "$WINEPREFIX/drive_c/windows/system32/dinput8.dll"
 
echo "[HKEY_CURRENT_USER\\Software\\Wine\\DllOverrides]" > "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
echo "\"dinput8\"=\"native\"" >> "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
regedit "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
 
#asking about memory size of graphic card
POL_SetupWindow_menu_list "$LNG_GAME_VMS" "$TITLE" "128-256-320-384-512-640-768-896-1024-1792-2048" "-" "256"
VMS="$APP_ANSWER"
 
cd "$WINEPREFIX/drive_c/windows/temp/"
echo "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]" > vms.reg
echo "\"VideoMemorySize\"=\"$VMS\"" >> vms.reg
regedit vms.reg
if [ "$VMS" -lt "256" ]; then
        POL_SetupWindow_message "$LNG_VMS_ERROR" "$TITLE"
fi

## PlayOnMac Section
[ "$PLAYONMAC" == "" ] && Set_SoundDriver "alsa"
[ "$PLAYONMAC" == "" ] || Set_Managed "Off"
## End Section
 
#cleaning temp
if [ -e "$WINEPREFIX/drive_c/windows/temp/" ]; then
        rm -rf "$WINEPREFIX/drive_c/windows/temp/*"
        chmod -R 777 "$REPERTOIRE/tmp/"
        rm -rf "$REPERTOIRE/tmp/*"
fi
 
#making shortcut
POL_SetupWindow_auto_shortcut "$PREFIX" "Speed2.exe" "$TITLE" "" ""
Set_WineVersion_Assign "$WORKING_WINE_VERSION" "$TITLE"
 
POL_SetupWindow_message "$LNG_SUCCES" "$TITLE"
 
POL_SetupWindow_Close
exit

Replies

Monday 4 January 2016 at 8:31
After posting this patch I realized I messed up the indentation on lines 90 & 95. Can an admin fix it without having to submit another patch?
ZirconiumX Saturday 21 February 2015 at 11:57
ZirconiumX Anonymous

Information

This update has been approved by the team.

Message

The version of WINE used here is so out of date it crashes due to library incompatibilities in Arch Linux. It works fine with latest WINE (1.7.36), so it might as well be bumped to that version.

Differences

@@ -1,7 +1,7 @@
 #!/bin/bash
 # Date : (2009-23-05 12-14)
-# Last revision : (2010-22-11 21-00)
-# Wine version used : 1.3.1
+# Last revision : (2015-21-02 11-00)
+# Wine version used : 1.7.36
 # Distribution used to test : Debian Squeeze (Testing)
 # Author : NSWL & GNU_Raziel
 # Licence : Retail
@@ -11,7 +11,7 @@
  
 TITLE="Need For Speed Underground 2"
 PREFIX="NFSUnderground2"
-WORKING_WINE_VERSION="1.3.1"
+WORKING_WINE_VERSION="1.7.36"
 
 if [ "$POL_LANG" == "fr" ]; then
 LNG_CHOOSE_MEDIA="Quelle version possédez-vous?"

New source code

#!/bin/bash
# Date : (2009-23-05 12-14)
# Last revision : (2015-21-02 11-00)
# Wine version used : 1.7.36
# Distribution used to test : Debian Squeeze (Testing)
# Author : NSWL & GNU_Raziel
# Licence : Retail
 
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
 
TITLE="Need For Speed Underground 2"
PREFIX="NFSUnderground2"
WORKING_WINE_VERSION="1.7.36"

if [ "$POL_LANG" == "fr" ]; then
LNG_CHOOSE_MEDIA="Quelle version possédez-vous?"
LNG_CD="Version CD"
LNG_DVD="Version DVD"
LNG_DDV="Version Digital Download"
LNG_INSERT_MEDIA_1="Veuillez insérer le disque 1 dans votre lecteur\nsi ce n'est pas déja fait."
LNG_INSERT_MEDIA_2="Veuillez insérer le disque 2 dans votre lecteur\nsi ce n'est pas déja fait."
LNG_INSERT_MEDIA="Veuillez insérer le disque $TITLE dans votre lecteur\nsi ce n'est pas déja fait."
LNG_CHOOSE_DDV="Veuillez selectionner votre executable Digital Download de $TITLE"
LNG_WAIT_END="Appuyez sur \"Suivant\" UNIQUEMENT quand l'installation du\njeu sera terminée sous peine de devoir recommencer l'installation."
LNG_INSTALL_ON="Installation en cours..."
LNG_GAME_VMS="Quelle est la quantité de mémoire (Mo) de votre carte graphique ?\n(minimum pour ce jeu : 256)" 
LNG_VMS_ERROR="Ce jeu ne fonctionnera correctement qu'avec une carte graphique ayant plus de 256Mo de mémoire."
LNG_SUCCES="$TITLE a été installé avec succès."
else
LNG_CHOOSE_MEDIA="What version do you have?"
LNG_CD="CD Version"
LNG_DVD="DVD Version"
LNG_DDV="Digital Download Version"
LNG_INSERT_MEDIA_1="Please insert disk 1 into your disk drive\nif not already done."
LNG_INSERT_MEDIA_2="Please insert disk 2 into your disk drive\nif not already done."
LNG_INSERT_MEDIA="Please insert $TITLE media into your disk drive\nif not already done."
LNG_CHOOSE_DDV="Please select your $TITLE Digital Download executable"
LNG_WAIT_END="Click on \"Next\" ONLY when the game installation is finished\nor you will have to redo the installation."
LNG_INSTALL_ON="Installation in progress..."
LNG_GAME_VMS="How much memory does your graphics board have?\n(minimum for this game : 256)" 
LNG_VMS_ERROR="This game will work correctly only with a graphic card with more than 256Mo of memory."
LNG_SUCCES="$TITLE has been installed successfully."
fi

#starting the script
rm "$REPERTOIRE/tmp/*.jpg"
POL_SetupWindow_Init
 
POL_SetupWindow_presentation "$TITLE" "EA Games" "N/A" "NSLW & GNU_Raziel" "$PREFIX" 
 
select_prefix "$REPERTOIRE/wineprefix/$PREFIX"
 
#downloading specific Wine
POL_SetupWindow_install_wine "$WORKING_WINE_VERSION"
Use_WineVersion "$WORKING_WINE_VERSION"
 
#fetching PROGRAMFILES environmental variable
POL_LoadVar_PROGRAMFILES
 
#Choose between CD, DVD and Digital Download version
POL_SetupWindow_menu "$LNG_CHOOSE_MEDIA" "Actions" "$LNG_CD~$LNG_DVD~$LNG_DDV" "~"
 
if [ "$APP_ANSWER" == "$LNG_CD" ]; then
        GAME_MEDIAVERSION="CD"        
elif [ "$APP_ANSWER" == "$LNG_DVD" ]; then
        GAME_MEDIAVERSION="DVD"
else
        GAME_MEDIAVERSION="DD"
fi

#Installing mandatory dependencies 
POL_Call POL_Install_vcrun2005
POL_Call POL_Install_d3dx9

if [ "$GAME_MEDIAVERSION" == "CD" ]; then
        #Copy content of CDs to HDD
        TEMP="$REPERTOIRE/tmp/$PREFIX"
        chmod -R 777 $TEMP
        rm -R $TEMP
        mkdir -p $TEMP
        cd $WINEPREFIX/dosdevices
        ln -s $TEMP d:
        #asking for CDROM and checking if it's correct one
        #CD-ROM 1
        POL_SetupWindow_message "$LNG_INSERT_MEDIA_1"
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "AutoRun.exe"
        POL_SetupWindow_wait_next_signal "$LNG_WAIT_CP" "$TITLE"
        cp -r $CDROM/* $TEMP
        chmod 777 $TEMP -R
        mv $TEMP/autorun.inf $TEMP/autorun-cd1.inf
        #CD-ROM 2
        POL_SetupWindow_message "$LNG_INSERT_MEDIA_2"
        POL_SetupWindow_cdrom
        POL_SetupWindow_wait_next_signal "$LNG_WAIT_CP" "$TITLE"
        cp -r $CDROM/* $TEMP
        chmod 777 $TEMP -R
        mv $TEMP/autorun.inf $TEMP/autorun-cd2.inf
        mv $TEMP/autorun-cd1.inf $TEMP/autorun.inf
        
        wine "d:\\AutoRun.exe"
        POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
        
        #Relinking d: to $CDROM
        cd $WINEPREFIX/dosdevices
        rm ./d:
        ln -s $CDROM ./d:
elif [ "$GAME_MEDIAVERSION" == "DVD" ]; then
        #asking for CDROM and checking if it's correct one
        POL_SetupWindow_message "$LNG_INSERT_MEDIA"
        POL_SetupWindow_cdrom
        POL_SetupWindow_check_cdrom "AutoRun.exe"
        wine start /unix "$CDROM/AutoRun.exe"
        POL_SetupWindow_message "$LNG_WAIT_END" "$TITLE"
else
        #Asking then installing DDV of the game
        cd $HOME
        POL_SetupWindow_browse "$LNG_CHOOSE_DDV" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        POL_SetupWindow_wait_next_signal "$LNG_INSTALL_ON" "$TITLE"
        wine start /unix "$SETUP_EXE"
        INSTALL_ON="1"
        until [ "$INSTALL_ON" == "" ]; do
        sleep 5
        INSTALL_ON=`ps aux | grep "wineserver" | grep -v "grep"`
        done
        POL_SetupWindow_detect_exit
fi

#Fix for this game
cd "$REPERTOIRE/ressources"
if [ ! -e "dinput8.zip" ]; then
wget -c "http://www.useyourbrain.co.uk/dlldownloads-files/dinput8.zip"
fi
cd "$WINEPREFIX/drive_c/windows/temp/"
unzip "$REPERTOIRE/ressources/dinput8.zip"
mv DINPUT8.DLL "$WINEPREFIX/drive_c/windows/system32/dinput8.dll"
 
echo "[HKEY_CURRENT_USER\\Software\\Wine\\DllOverrides]" > "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
echo "\"dinput8\"=\"native\"" >> "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
regedit "$WINEPREFIX/drive_c/windows/temp/NFSU2_Fix.reg"
 
#asking about memory size of graphic card
POL_SetupWindow_menu_list "$LNG_GAME_VMS" "$TITLE" "128-256-320-384-512-640-768-896-1024-1792-2048" "-" "256"
VMS="$APP_ANSWER"
 
cd "$WINEPREFIX/drive_c/windows/temp/"
echo "[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]" > vms.reg
echo "\"VideoMemorySize\"=\"$VMS\"" >> vms.reg
regedit vms.reg
if [ "$VMS" -lt "256" ]; then
        POL_SetupWindow_message "$LNG_VMS_ERROR" "$TITLE"
fi

## PlayOnMac Section
[ "$PLAYONMAC" == "" ] && Set_SoundDriver "alsa"
[ "$PLAYONMAC" == "" ] || Set_Managed "Off"
## End Section
 
#cleaning temp
if [ -e "$WINEPREFIX/drive_c/windows/temp/" ]; then
        rm -rf "$WINEPREFIX/drive_c/windows/temp/*"
        chmod -R 777 "$REPERTOIRE/tmp/"
        rm -rf "$REPERTOIRE/tmp/*"
fi
 
#making shortcut
POL_SetupWindow_auto_shortcut "$PREFIX" "Speed2.exe" "$TITLE" "" ""
Set_WineVersion_Assign "$WORKING_WINE_VERSION" "$TITLE"
 
POL_SetupWindow_message "$LNG_SUCCES" "$TITLE"
 
POL_SetupWindow_Close
exit

Replies

Saturday 21 February 2015 at 18:27
The version of Wine should not make lib compatibility issues for a given distro unless you simply don't have those libs installed on your system, and now a newer version of Wine takes care of it. Besides, before we do anything, we need to see full system specs and debug logs (use pastebin, please) to determine if that is even the case. We can totally bump the version, but we need more info, and preferably others reporting the same issue. We cannot make a global change to the script if it only helps one person.