| zedtux | Sunday 18 October 2009 at 20:09 | 
                
                    | zedtux  
 
             | Hello, i create a script for FLatOut 2. Works correctly, no audio or graphic bug.
 Wine version : 1.1.31
 Distribution : Ubuntu 9.04
 Carte Graphique : Nvidia, GeForce 8800 GTX
 Drivers carte graphique : 185.18.36
 Game's icon : 
   Created script: http://www.playonlinux.com/repository/?script=497 #!/bin/bash
# Date : (2009-06-02 10-00)
# Last revision : (2009-10-18 10-00)
# Wine version used : 1.1.31
# Distribution used to test : Ubuntu 9.04
# Author : zedtux
# Licence : Retail
GAMENAME="FlatOut 2"
PREFIX="flatout2"
NEEDEDWINEVERSION="1.1.31"
MENU_ACTION_INSTALL="Install the game"
MENU_ACTION_PATCH="Patch the game"
GAME_SETUP="setup.exe"
PATCHMIME="application/zip"
ZENITYPATH=`which zenity`
UNZIPPATH=`which unzip`
PROGRAMFILES=`wine cmd /c echo "%ProgramFiles%"`
PROGRAMFILES=${PROGRAMFILES:3} 
# Include mandatory PlayOnLinux libs
if [ "$PLAYONLINUX" = "" ]then
	# Display Error in console
	echo "Can't find PlayOnLinux libraries !"
	echo "Please check PLAYONLINUX"
	
	# Display error in GUI if zenity installed
	if [ "$ZENITYPATH" != "" ] ; then
		zenity --error --title="$GAMENAME PlayOnLinux Script" --text="The PlayOnLinux libraries can't be found \\! Please check the varaible PLAONLINUX \\!
It should be something like :
export PLAYONLINUX=/usr/share/playonlinux"
	fi
	
	exit 0
fi
source "$PLAYONLINUX/lib/sources"
cfg_check
# Get Cover and convert it
wget http://www.mobygames.com/images/covers/large/1174536160-00.jpg --output-document="$REPERTOIRE/tmp/flatout2.cover.jpeg"
convert "$REPERTOIRE/tmp/flatout2.cover.jpeg" -scale 150x356\\! "$REPERTOIRE/tmp/left.flatout.2.jpeg"
# Initialize the main window
POL_SetupWindow_Init "" "$REPERTOIRE/tmp/left.flatout.2.jpeg"
POL_SetupWindow_presentation "$GAMENAME" "zedtux" "http://www.zedroot.org" "zedtux" "$PREFIX"
select_prefix "$REPERTOIRE/wineprefix/$PREFIX"
# Provide possibility to run install of a patch for the game
patch_game()
{
	POL_SetupWindow_browse "Select the patch file for $GAMENAME (Should be like flatout_2_patch_*.zip)" "Patching $GAMENAME" ""
	if [ "$APP_ANSWER" != "" ] ; then
		if [ `file -bi $APP_ANSWER` == "$PATCHMIME" ] ; then
			
			# Extract file, and replace existing files in the game folder
			cd $REPERTOIRE/wineprefix/$PREFIX/drive_c/Program\\ Files/Empire\\ Interactive/FlatOut2
			echo "Unziping patch into `pwd`"
			unzip -o $APP_ANSWER
		fi
		POL_SetupWindow_message "$GAMENAME patched successfully" "$TYTUL"
		POL_SetupWindow_Close
		exit
	fi
}
# Create Wine environnement before install the game
POL_SetupWindow_prefixcreate
#
# Make a menu to select one action
#
# If unzip is not installed, the script can't patch the game, so just install the game without choices
if [ "$UNZIPPATH" != "" ] ; then
	
	# Give the choice to user between install or patch the game
	POL_SetupWindow_menu "What do you want to do?" "Actions" "$MENU_ACTION_INSTALL~$MENU_ACTION_PATCH" "~"
	
	if [ "$APP_ANSWER" == "$MENU_ACTION_PATCH" ]; then
	
		# Checking if destination exist, else create it
		#[ -a "$REPERTOIRE/wineprefix/$PREFIX" ] || mkdir "$REPERTOIRE/wineprefix/$PREFIX"
	
		if [ -e "$REPERTOIRE/wineprefix/$PREFIX" ]; then
			patch_game
		fi
	
		POL_SetupWindow_Close
	fi
fi
POL_SetupWindow_cdrom
POL_SetupWindow_check_cdrom $GAME_SETUP
# Adding CD-ROM as drive d: to winecfg
cd $WINEPREFIX/dosdevices
ln -s $CDROM d:
cd "$WINEPREFIX/drive_c/windows/temp/" 
echo "[HKEY_LOCAL_MACHINE\\\\Software\\\\Wine\\\\Drives]" > cdrom.reg
echo "\\"d:\\"=\\"cdrom\\"" >> cdrom.reg
regedit cdrom.reg
# Launching Installation
POL_SetupWindow_wait_next_signal "Installing $GAMENAME..." "$GAMENAME"
cd $CDROM
wine $GAME_SETUP
# Defining options of the environnement
Set_SoundDriver alsa
POL_SetupWindow_install_wine $NEEDEDWINEVERSION
Set_WineVersion_Assign $NEEDEDWINEVERSION "$GAMENAME"
# Creating shortcut
POL_SetupWindow_make_shortcut "$PREFIX" "$PROGRAMFILES/Empire Interactive/FlatOut2" "FlatOut2.exe" "" "$GAMENAME" ""
POL_SetupWindow_message "$GAMENAME has been installed successfully" "$GAMENAME"
# Close the main window !
POL_SetupWindow_Close
echo "End Of Script"
exit | 
                                
		    | NSLW | Sunday 18 October 2009 at 20:19 | 
                
                    | NSLW  
 
             | 1)not required 
cfg_check
 because deprecated
 
 2)not required
 # Include mandatory PlayOnLinux libs
 if [ "$PLAYONLINUX" = "" ]
 then
 # Display Error in console
 echo "Can't find PlayOnLinux libraries !"
 echo "Please check PLAYONLINUX"
 
 # Display error in GUI if zenity installed
 if [ "$ZENITYPATH" != "" ] ; then
 zenity --error --title="$GAMENAME PlayOnLinux Script" --text="The PlayOnLinux libraries can't be found \\! Please check the varaible PLAONLINUX \\!
 
 It should be something like :
 export PLAYONLINUX=/usr/share/playonlinux"
 fi
 
 exit 0
 fi
 
 because PlayOnLinux should show such errors
 
 3) Why not to use wikipedia?
 http://www.mobygames.com/images/covers/large/1174536160-00.jpg
 
 4) Not quoted and contains "Program Files" which isn't in all languages
 cd $REPERTOIRE/wineprefix/$PREFIX/drive_c/Program\\ Files/Empire\\ Interactive/FlatOut2
 
 5) not required
 if [ "$UNZIPPATH" != "" ] ; then
 because unzip is playonlinux dependency
 
 6) Wrong
 if [ -e "$REPERTOIRE/wineprefix/$PREFIX" ]; then
 First: -e is for testing file and not directory
 Second: use it to know if you could ask about patch
 
 7) quote all
 $CDROM
 and maybe other paths
 | 
                                
		    | zedtux | Sunday 18 October 2009 at 20:48 | 
                
                    | zedtux  
 
             | Hello,
 Thanks for your comments !
 Everythings fixed : http://svn.zedroot.org/PlayOnLinuxScripts/flatout.2.sh Only point about wikipedia: Can you tell me where can I make the search to found the cover ?
 I've only found the page about the game with a logo, not the cover.
 Can you tell me why is it so important to quote variables ?
 ( I'm nearly new with bash )
 And finaly, my script that I post for validation is not up to date any more. How can I do to update it ?
 Thanks for your reply, and hope to help playonlinux ! :)                             Ändrat av zedtux | 
                                
		    | NSLW | Sunday 18 October 2009 at 21:01 | 
                
                    | NSLW  
 
             | 
Everythings fixed : http://svn.zedroot.org/PlayOnLinuxScripts/flatout.2.sh
 
 1) why this?
 ZENITYPATH=`which zenity`
 UNZIPPATH=`which unzip`
 
	  Only point about wikipedia: Can you tell me where can I make the search to found the cover ?
I've only found the page about the game with a logo, not the cover.
 2) Wikipedia link for game cover
 http://en.wikipedia.org/wiki/File:Flatout2pc.jpg
 3) Probably wrong
 "$REPERTOIRE/wineprefix/$PREFIX/drive_c/$PROGRAMFILES/Empire\\ Interactive/FlatOut2"
 It should be
 "$REPERTOIRE/wineprefix/$PREFIX/drive_c/$PROGRAMFILES/Empire Interactive/FlatOut2"
 Can you tell me why is it so important to quote variables ?
( I'm nearly new with bash )
 Because sometimes path to cd rom can contain spaces and if you won't quote that then some commands may not work
 
And finaly, my script that I post for validation is not up to date any more. How can I do to update it ?
 I rejected your script so you can correct it.                                                     | 
                                
		    | zedtux | Sunday 18 October 2009 at 22:33 | 
                
                    | zedtux  
 
             | Okay thanks again for tour reply!
 Let me make l'astre modifications, ans I'll update my script.
 | 
                                
		    | zedtux | Sunday 18 October 2009 at 23:11 | 
                
                    | zedtux  
 
             | 1) why this?
ZENITYPATH=`which zenity`
 UNZIPPATH=`which unzip`
 I had forget this and fix it before your post ;)
 So it's fixed !
 3) Probably wrong
"$REPERTOIRE/wineprefix/$PREFIX/drive_c/$PROGRAMFILES/Empire\\ Interactive/FlatOut2"
 
 It should be
 "$REPERTOIRE/wineprefix/$PREFIX/drive_c/$PROGRAMFILES/Empire Interactive/FlatOut2"
 No, cause of the space. It's linux path, not windows path.
 I rejected your script so you can correct it.
 Thanks you !
 I have fixed latest points, can you check please ?                                                     | 
                                
		    | NSLW | Monday 19 October 2009 at 8:58 | 
                
                    | NSLW  
 
             | No, cause of the space. It's linux path, not windows path.
 If you use quotes then you don't have to use backslashes for spaces.                                                     | 
                                
		    | zedtux | Monday 19 October 2009 at 9:33 | 
                
                    | zedtux  
 
             | Ha ok !
 Cool ! I've learn something ! :D
 
 I've made the modification, I'm updating the script.
 
 Thanks.
 | 
                                
		    | zedtux | Monday 19 October 2009 at 17:36 | 
                
                    | zedtux  
 
             | I've just fixed another bug that I've discover during creation of a new script.
 Can you refuse (again sorry) my script to patch my script please ?
 | 
                                
		    | NSLW | Monday 19 October 2009 at 17:41 | 
                
                    | NSLW  
 
             | done                                                     | 
                                
		    | zedtux | Monday 19 October 2009 at 18:19 | 
                
                    | zedtux  
 
             | Thank you very much !
 Script patched and waiting for validation ;)
 | 
                                
		    | NSLW | Monday 19 October 2009 at 19:28 | 
                
                    | NSLW  
 
             | I've got one more question:
Does this is required?
 Set_SoundDriver alsa
 Doesn't sound works with default Wine settings?
 | 
                                
		    | zedtux | Monday 19 October 2009 at 21:00 | 
                
                    | zedtux  
 
             | Hum... yeah it should...
 I think I had try with OSS, and have not work.. But Yeah agree, I can delete this line.
 | 
                                
		    | zedtux | Monday 19 October 2009 at 21:02 | 
                
                    | zedtux  
 
             | On my side is done.
 You can refuse my script to let me patch it, or you can do this if you want.
 Let me know what's your choice ;)
 | 
                                
		    | NSLW | Monday 19 October 2009 at 21:04 | 
                
                    | NSLW  
 
             | Corrected and accepted. Thanks for the script :)                                                     | 
                                
		    | zedtux | Monday 19 October 2009 at 21:10 | 
                
                    | zedtux  
 
             | Thanks to you for your help !                                                     | 
                                
		    | zedtux | Tuesday 20 October 2009 at 19:27 | 
                
                    | zedtux  
 
             | Heum... is it possible to update the script ?
 I'have found that a shortcut is missing to configure the game !
 So the script miss a second line with POL_SetupWindow_make_shortcut:
 Line 91:
 POL_SetupWindow_make_shortcut "$PREFIX" "$PROGRAMFILES/Empire Interactive/FlatOut2" "FlatOut2.exe" "" "$GAMENAME Setup" "" "-setup" | 
                                
		    | Berillions | Tuesday 20 October 2009 at 20:29 | 
                
                    | Berillions  
 
             |  | 
                                
		    | zedtux | Tuesday 20 October 2009 at 21:55 | 
                
                    | zedtux  
 
             | Thanks ! :)                                                     | 
                                
		    | zedtux | Tuesday 20 October 2009 at 22:00 | 
                
                    | zedtux  
 
             | Could you tell me why the game icon don't appear in PlayOnLinux please ?                                                     |