Call Of Duty 2

Informations

Creator Message
tef

Information

This installer has been approved by the team.

Informations

Platforms:
Downloads: 174140
Wine: 3.0.3

Feedbacks

Description

FPS, 2005. Wikipedia.

PCGamingWiki., Appdb.winehq.org.

Note: the script does also work with the demo (to download for example from Softpedia).

Screenshots

Miniature

Source code

#!/bin/bash
# Date : (2020-02-22 20-00)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : Ubuntu 19.10 64 bits
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: .
#
# Middlewares used by this software : DirectX 9.
#
#
# CHANGELOG
# [tef ?] (2009-09-11 13-00)
#   Initial script.
# [Danny-POL] (2015-05-30 01-17)
#   ...
# [Dadu042] (2020-01-22 21:30)
#   Wine 1.6.2 -> 3.0.3
#   Improve POL_Shortcut
#   Standardize POL_Function_NoCDWarning
# [Dadu042] (2020-02-22 22:30)
#   Brand new script (allows install from local file). 
#
#
# KNOWN ISSUES
#  - Wine x86 3.0.3, 3.20: the installer of the demo does never end. Fix: Wine 4.0.3 and 4.21
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: X
     
     
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
     
TITLE="Call of Duty 2"
PREFIX="COD2"
EDITOR="Activision"
GAME_URL="https://en.wikipedia.org/wiki/Call_of_Duty_2"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="COD2SP_s.exe"
SOFTWARE_CATEGORIES="Game;Shooter;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="read*.txt"
    
# Starting the script
POL_SetupWindow_Init
                 
# Starting debugging API
POL_Debug_Init
                
# Open dialogue box 
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
              
# POL_SetupWindow_message "$(eval_gettext 'WARNING: this software does exist in Linux native version.\n\nThis script only allow to run the Windows version on Linux, please prefer the Linux edition for better 3D speed.')" "$TITLE"
              
# POL_SetupWindow_message "$(eval_gettext 'This game requires a fast 3D GPU (ie: Intel HD Graphics 4440 is not enough).')" "$TITLE"
               
POL_RequiredVersion "4.1.0" || POL_Debug_Fatal "$APPLICATION_TITLE $VERSION is required to install $TITLE"
   
# Setting prefix path
POL_Wine_SelectPrefix "$PREFIX"

# Determine Architecture
# POL_System_SetArch "amd64"
POL_System_SetArch "x86"
           
# Downloading wine if necessary and creating prefix
POL_Wine_PrefixCreate "3.0.3"
     
POL_System_TmpCreate "$PREFIX"
     
Set_OS "winxp"
     
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_corefonts
          
         
################
#      GPU     #
################
     
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
      
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
       
# Useful for Nvidia GPUs
# POL_Call POL_Install_physx
         
         
#############################################
#  Sound problem fix - pulseaudio related   #
#############################################
# [ "$POL_OS" = "Linux" ] && Set_SoundDriver "alsa"
# [ "$POL_OS" = "Linux" ] && Set_SoundEmulDriver "Y"
## End Fix
      
     
#######################################
#  Main part of this script           #
#######################################
         
# Choose between Steam and other Digital Download versions
# POL_SetupWindow_InstallMethod "STEAM,DVD,LOCAL,DOWNLOAD"
POL_SetupWindow_InstallMethod "CD,LOCAL"

# POL_SetupWindow_message "Warning: do not install DirectX." "$TITLE"
# POL_SetupWindow_message "Warning: do not install Visual C++ 2013 redistribuable\n nor Direct X." "$TITLE"
      
# Begin game installation
if [ "$INSTALL_METHOD" == "STEAM" ]; then
        POL_Call POL_Install_steam
        # Mandatory pre-install fix for steam
        POL_Call POL_Install_steam_flags "$STEAM_ID"
        # Shortcut done before install for steam version
        POL_Shortcut "steam.exe" "$TITLE" "" "steam://rungameid/$STEAM_ID"
        # Steam install
        POL_SetupWindow_message "$(eval_gettext 'When $TITLE download by Steam is finished,\nDo NOT click on Play.\n\nClose COMPLETELY the Steam interface, \nso that the installation script can continue')" "$TITLE"
        cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
        POL_Wine start /unix "steam.exe" steam://install/$STEAM_ID
        POL_Wine_WaitExit "$TITLE"
              
elif [ "$INSTALL_METHOD" == "CD" ]; then
        POL_Call POL_Function_NoCDWarning

        POL_SetupWindow_cdrom
       
        POL_SetupWindow_check_cdrom "setup.exe"
        POL_Wine start /unix "$CDROM/setup.exe"
             
        POL_Wine_WaitExit "$TITLE"
          
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
             
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
      
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
     
        # POL_SetupWindow_message "$(eval_gettext '\n\nNote: this script will download the demo.')" "$TITLE"
        POL_Download "https://archive.org/download/gmdemins/gmdemins.exe"

        mv gmdemins.exe GameInstaller.exe
   
        # POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        # POL_System_unrar x "CastlevaniaTheLecardeChronicles.rar" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."
        # POL_System_unzip "DroneSwarm_0.1.9.zip" -d "$WINEPREFIX/drive_c/game/"
     
        # Extract without sub-folder.
        # unzip "acespeeder2.zip" -j -d "$WINEPREFIX/drive_c/"
     
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
      
        # cd  "$WINEPREFIX/drive_c/game/"
        POL_Wine "GameInstaller.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        rm GameInstaller.exe
     
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_QuietDebug "$TITLE"
     
        # Restore screen resolution (game's default is 1024x768)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
          
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

     
elif [ "$INSTALL_METHOD" == "LOCAL" ]; then
        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.EXE')~$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
        APP_ANSWER=".EXE"
   
if [ "$APP_ANSWER" == ".EXE" ]; then
        # Asking then installing local files of the game
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        POL_Wine start /unix "$SETUP_EXE"
        POL_Wine_WaitExit "$TITLE"
           
        # Restore screen resolution (game's default is 640x480 ?)
        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
           
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        # POL_Shortcut_QuietDebug "$TITLE"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
          
elif [ "$APP_ANSWER" == "$(eval_gettext '.ZIP')" ]; then
        cd "$HOME"
     
        POL_SetupWindow_message "$(eval_gettext '\n\nWARNING: the file name must not have SPACES in its name !.')" "$TITLE"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        cd "$POL_System_TmpDir"
        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        POL_System_unzip "$APP_ANSWER" -d "$WINEPREFIX/drive_c/game/"
   
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
   
   
elif [ "$APP_ANSWER" == "$(eval_gettext '.RAR')" ]; then
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .RAR file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        cd "$POL_System_TmpDir"
        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        POL_System_unrar x "$APP_ANSWER" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."

        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
     
     
################
# Patch update #
################
    
POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"      
     
if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .EXE file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
      
# POL_SetupWindow_message "$(eval_gettext '\nInstallation is finished ! :)')" "$TITLE"
   
# POL_SetupWindow_message "$(eval_gettext 'WARNING: to avoid to have huge log file, you should type \ninto Debug flags : fixme-all')" "$TITLE"
      
# Fail ?
# POL_SetupWindow_message "$LNG_FIN" "$TITLE"
     
POL_System_TmpDelete
POL_SetupWindow_Close
exit 0

Contributions

Filters:

Contribute
Member Message
Dadu042 Saturday 22 February 2020 at 21:44
Dadu042
Moderator

Information

This update has been approved by the team.

Differences

@@ -70,7 +70,7 @@
 POL_System_SetArch "x86"
            
 # Downloading wine if necessary and creating prefix
-POL_Wine_PrefixCreate "4.21"
+POL_Wine_PrefixCreate "3.0.3"
      
 POL_System_TmpCreate "$PREFIX"
      

New source code

#!/bin/bash
# Date : (2020-02-22 20-00)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : Ubuntu 19.10 64 bits
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: .
#
# Middlewares used by this software : DirectX 9.
#
#
# CHANGELOG
# [tef ?] (2009-09-11 13-00)
#   Initial script.
# [Danny-POL] (2015-05-30 01-17)
#   ...
# [Dadu042] (2020-01-22 21:30)
#   Wine 1.6.2 -> 3.0.3
#   Improve POL_Shortcut
#   Standardize POL_Function_NoCDWarning
# [Dadu042] (2020-02-22 22:30)
#   Brand new script (allows install from local file). 
#
#
# KNOWN ISSUES
#  - Wine x86 3.0.3, 3.20: the installer of the demo does never end. Fix: Wine 4.0.3 and 4.21
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: X
     
     
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
     
TITLE="Call of Duty 2"
PREFIX="COD2"
EDITOR="Activision"
GAME_URL="https://en.wikipedia.org/wiki/Call_of_Duty_2"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="COD2SP_s.exe"
SOFTWARE_CATEGORIES="Game;Shooter;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="read*.txt"
    
# Starting the script
POL_SetupWindow_Init
                 
# Starting debugging API
POL_Debug_Init
                
# Open dialogue box 
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
              
# POL_SetupWindow_message "$(eval_gettext 'WARNING: this software does exist in Linux native version.\n\nThis script only allow to run the Windows version on Linux, please prefer the Linux edition for better 3D speed.')" "$TITLE"
              
# POL_SetupWindow_message "$(eval_gettext 'This game requires a fast 3D GPU (ie: Intel HD Graphics 4440 is not enough).')" "$TITLE"
               
POL_RequiredVersion "4.1.0" || POL_Debug_Fatal "$APPLICATION_TITLE $VERSION is required to install $TITLE"
   
# Setting prefix path
POL_Wine_SelectPrefix "$PREFIX"

# Determine Architecture
# POL_System_SetArch "amd64"
POL_System_SetArch "x86"
           
# Downloading wine if necessary and creating prefix
POL_Wine_PrefixCreate "3.0.3"
     
POL_System_TmpCreate "$PREFIX"
     
Set_OS "winxp"
     
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_corefonts
          
         
################
#      GPU     #
################
     
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
      
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
       
# Useful for Nvidia GPUs
# POL_Call POL_Install_physx
         
         
#############################################
#  Sound problem fix - pulseaudio related   #
#############################################
# [ "$POL_OS" = "Linux" ] && Set_SoundDriver "alsa"
# [ "$POL_OS" = "Linux" ] && Set_SoundEmulDriver "Y"
## End Fix
      
     
#######################################
#  Main part of this script           #
#######################################
         
# Choose between Steam and other Digital Download versions
# POL_SetupWindow_InstallMethod "STEAM,DVD,LOCAL,DOWNLOAD"
POL_SetupWindow_InstallMethod "CD,LOCAL"

# POL_SetupWindow_message "Warning: do not install DirectX." "$TITLE"
# POL_SetupWindow_message "Warning: do not install Visual C++ 2013 redistribuable\n nor Direct X." "$TITLE"
      
# Begin game installation
if [ "$INSTALL_METHOD" == "STEAM" ]; then
        POL_Call POL_Install_steam
        # Mandatory pre-install fix for steam
        POL_Call POL_Install_steam_flags "$STEAM_ID"
        # Shortcut done before install for steam version
        POL_Shortcut "steam.exe" "$TITLE" "" "steam://rungameid/$STEAM_ID"
        # Steam install
        POL_SetupWindow_message "$(eval_gettext 'When $TITLE download by Steam is finished,\nDo NOT click on Play.\n\nClose COMPLETELY the Steam interface, \nso that the installation script can continue')" "$TITLE"
        cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
        POL_Wine start /unix "steam.exe" steam://install/$STEAM_ID
        POL_Wine_WaitExit "$TITLE"
              
elif [ "$INSTALL_METHOD" == "CD" ]; then
        POL_Call POL_Function_NoCDWarning

        POL_SetupWindow_cdrom
       
        POL_SetupWindow_check_cdrom "setup.exe"
        POL_Wine start /unix "$CDROM/setup.exe"
             
        POL_Wine_WaitExit "$TITLE"
          
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
             
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
      
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
     
        # POL_SetupWindow_message "$(eval_gettext '\n\nNote: this script will download the demo.')" "$TITLE"
        POL_Download "https://archive.org/download/gmdemins/gmdemins.exe"

        mv gmdemins.exe GameInstaller.exe
   
        # POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        # POL_System_unrar x "CastlevaniaTheLecardeChronicles.rar" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."
        # POL_System_unzip "DroneSwarm_0.1.9.zip" -d "$WINEPREFIX/drive_c/game/"
     
        # Extract without sub-folder.
        # unzip "acespeeder2.zip" -j -d "$WINEPREFIX/drive_c/"
     
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
      
        # cd  "$WINEPREFIX/drive_c/game/"
        POL_Wine "GameInstaller.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        rm GameInstaller.exe
     
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_QuietDebug "$TITLE"
     
        # Restore screen resolution (game's default is 1024x768)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
          
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

     
elif [ "$INSTALL_METHOD" == "LOCAL" ]; then
        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.EXE')~$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
        APP_ANSWER=".EXE"
   
if [ "$APP_ANSWER" == ".EXE" ]; then
        # Asking then installing local files of the game
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        POL_Wine start /unix "$SETUP_EXE"
        POL_Wine_WaitExit "$TITLE"
           
        # Restore screen resolution (game's default is 640x480 ?)
        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
           
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        # POL_Shortcut_QuietDebug "$TITLE"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
          
elif [ "$APP_ANSWER" == "$(eval_gettext '.ZIP')" ]; then
        cd "$HOME"
     
        POL_SetupWindow_message "$(eval_gettext '\n\nWARNING: the file name must not have SPACES in its name !.')" "$TITLE"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        cd "$POL_System_TmpDir"
        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        POL_System_unzip "$APP_ANSWER" -d "$WINEPREFIX/drive_c/game/"
   
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
   
   
elif [ "$APP_ANSWER" == "$(eval_gettext '.RAR')" ]; then
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .RAR file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        cd "$POL_System_TmpDir"
        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        POL_System_unrar x "$APP_ANSWER" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."

        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
     
     
################
# Patch update #
################
    
POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"      
     
if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .EXE file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
      
# POL_SetupWindow_message "$(eval_gettext '\nInstallation is finished ! :)')" "$TITLE"
   
# POL_SetupWindow_message "$(eval_gettext 'WARNING: to avoid to have huge log file, you should type \ninto Debug flags : fixme-all')" "$TITLE"
      
# Fail ?
# POL_SetupWindow_message "$LNG_FIN" "$TITLE"
     
POL_System_TmpDelete
POL_SetupWindow_Close
exit 0

Replies

Dadu042 Saturday 22 February 2020 at 21:43
Dadu042
Moderator

Warning

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

Differences

@@ -26,7 +26,7 @@
 #
 #
 # KNOWN ISSUES
-#  - Wine x86 3.0.3, 3.20: the installer of the demo does never end. Fix: Wine 4.0.3
+#  - Wine x86 3.0.3, 3.20: the installer of the demo does never end. Fix: Wine 4.0.3 and 4.21
 #
 # KNOWN ISSUES (FIXED):
 #  - Wine amd64 3.0.3: X
@@ -70,7 +70,7 @@
 POL_System_SetArch "x86"
            
 # Downloading wine if necessary and creating prefix
-POL_Wine_PrefixCreate "3.0.3"
+POL_Wine_PrefixCreate "4.21"
      
 POL_System_TmpCreate "$PREFIX"
      

New source code

#!/bin/bash
# Date : (2020-02-22 20-00)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : Ubuntu 19.10 64 bits
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: .
#
# Middlewares used by this software : DirectX 9.
#
#
# CHANGELOG
# [tef ?] (2009-09-11 13-00)
#   Initial script.
# [Danny-POL] (2015-05-30 01-17)
#   ...
# [Dadu042] (2020-01-22 21:30)
#   Wine 1.6.2 -> 3.0.3
#   Improve POL_Shortcut
#   Standardize POL_Function_NoCDWarning
# [Dadu042] (2020-02-22 22:30)
#   Brand new script (allows install from local file). 
#
#
# KNOWN ISSUES
#  - Wine x86 3.0.3, 3.20: the installer of the demo does never end. Fix: Wine 4.0.3 and 4.21
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: X
     
     
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
     
TITLE="Call of Duty 2"
PREFIX="COD2"
EDITOR="Activision"
GAME_URL="https://en.wikipedia.org/wiki/Call_of_Duty_2"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="COD2SP_s.exe"
SOFTWARE_CATEGORIES="Game;Shooter;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="read*.txt"
    
# Starting the script
POL_SetupWindow_Init
                 
# Starting debugging API
POL_Debug_Init
                
# Open dialogue box 
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
              
# POL_SetupWindow_message "$(eval_gettext 'WARNING: this software does exist in Linux native version.\n\nThis script only allow to run the Windows version on Linux, please prefer the Linux edition for better 3D speed.')" "$TITLE"
              
# POL_SetupWindow_message "$(eval_gettext 'This game requires a fast 3D GPU (ie: Intel HD Graphics 4440 is not enough).')" "$TITLE"
               
POL_RequiredVersion "4.1.0" || POL_Debug_Fatal "$APPLICATION_TITLE $VERSION is required to install $TITLE"
   
# Setting prefix path
POL_Wine_SelectPrefix "$PREFIX"

# Determine Architecture
# POL_System_SetArch "amd64"
POL_System_SetArch "x86"
           
# Downloading wine if necessary and creating prefix
POL_Wine_PrefixCreate "4.21"
     
POL_System_TmpCreate "$PREFIX"
     
Set_OS "winxp"
     
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_corefonts
          
         
################
#      GPU     #
################
     
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
      
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
       
# Useful for Nvidia GPUs
# POL_Call POL_Install_physx
         
         
#############################################
#  Sound problem fix - pulseaudio related   #
#############################################
# [ "$POL_OS" = "Linux" ] && Set_SoundDriver "alsa"
# [ "$POL_OS" = "Linux" ] && Set_SoundEmulDriver "Y"
## End Fix
      
     
#######################################
#  Main part of this script           #
#######################################
         
# Choose between Steam and other Digital Download versions
# POL_SetupWindow_InstallMethod "STEAM,DVD,LOCAL,DOWNLOAD"
POL_SetupWindow_InstallMethod "CD,LOCAL"

# POL_SetupWindow_message "Warning: do not install DirectX." "$TITLE"
# POL_SetupWindow_message "Warning: do not install Visual C++ 2013 redistribuable\n nor Direct X." "$TITLE"
      
# Begin game installation
if [ "$INSTALL_METHOD" == "STEAM" ]; then
        POL_Call POL_Install_steam
        # Mandatory pre-install fix for steam
        POL_Call POL_Install_steam_flags "$STEAM_ID"
        # Shortcut done before install for steam version
        POL_Shortcut "steam.exe" "$TITLE" "" "steam://rungameid/$STEAM_ID"
        # Steam install
        POL_SetupWindow_message "$(eval_gettext 'When $TITLE download by Steam is finished,\nDo NOT click on Play.\n\nClose COMPLETELY the Steam interface, \nso that the installation script can continue')" "$TITLE"
        cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
        POL_Wine start /unix "steam.exe" steam://install/$STEAM_ID
        POL_Wine_WaitExit "$TITLE"
              
elif [ "$INSTALL_METHOD" == "CD" ]; then
        POL_Call POL_Function_NoCDWarning

        POL_SetupWindow_cdrom
       
        POL_SetupWindow_check_cdrom "setup.exe"
        POL_Wine start /unix "$CDROM/setup.exe"
             
        POL_Wine_WaitExit "$TITLE"
          
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
             
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
      
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
     
        # POL_SetupWindow_message "$(eval_gettext '\n\nNote: this script will download the demo.')" "$TITLE"
        POL_Download "https://archive.org/download/gmdemins/gmdemins.exe"

        mv gmdemins.exe GameInstaller.exe
   
        # POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        # POL_System_unrar x "CastlevaniaTheLecardeChronicles.rar" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."
        # POL_System_unzip "DroneSwarm_0.1.9.zip" -d "$WINEPREFIX/drive_c/game/"
     
        # Extract without sub-folder.
        # unzip "acespeeder2.zip" -j -d "$WINEPREFIX/drive_c/"
     
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
      
        # cd  "$WINEPREFIX/drive_c/game/"
        POL_Wine "GameInstaller.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        rm GameInstaller.exe
     
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_QuietDebug "$TITLE"
     
        # Restore screen resolution (game's default is 1024x768)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
          
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

     
elif [ "$INSTALL_METHOD" == "LOCAL" ]; then
        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.EXE')~$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
        APP_ANSWER=".EXE"
   
if [ "$APP_ANSWER" == ".EXE" ]; then
        # Asking then installing local files of the game
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        POL_Wine start /unix "$SETUP_EXE"
        POL_Wine_WaitExit "$TITLE"
           
        # Restore screen resolution (game's default is 640x480 ?)
        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
           
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        # POL_Shortcut_QuietDebug "$TITLE"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
          
elif [ "$APP_ANSWER" == "$(eval_gettext '.ZIP')" ]; then
        cd "$HOME"
     
        POL_SetupWindow_message "$(eval_gettext '\n\nWARNING: the file name must not have SPACES in its name !.')" "$TITLE"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        cd "$POL_System_TmpDir"
        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        POL_System_unzip "$APP_ANSWER" -d "$WINEPREFIX/drive_c/game/"
   
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
   
   
elif [ "$APP_ANSWER" == "$(eval_gettext '.RAR')" ]; then
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .RAR file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        cd "$POL_System_TmpDir"
        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        POL_System_unrar x "$APP_ANSWER" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."

        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
     
     
################
# Patch update #
################
    
POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"      
     
if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .EXE file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
      
# POL_SetupWindow_message "$(eval_gettext '\nInstallation is finished ! :)')" "$TITLE"
   
# POL_SetupWindow_message "$(eval_gettext 'WARNING: to avoid to have huge log file, you should type \ninto Debug flags : fixme-all')" "$TITLE"
      
# Fail ?
# POL_SetupWindow_message "$LNG_FIN" "$TITLE"
     
POL_System_TmpDelete
POL_SetupWindow_Close
exit 0

Replies

Dadu042 Saturday 22 February 2020 at 21:16
Dadu042
Moderator

Warning

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

Differences

@@ -26,7 +26,7 @@
 #
 #
 # KNOWN ISSUES
-#  - Wine x86 4.21, 5.0: X
+#  - Wine x86 3.0.3, 3.20: the installer of the demo does never end. Fix: Wine 4.0.3
 #
 # KNOWN ISSUES (FIXED):
 #  - Wine amd64 3.0.3: X
@@ -60,7 +60,7 @@
               
 # POL_SetupWindow_message "$(eval_gettext 'This game requires a fast 3D GPU (ie: Intel HD Graphics 4440 is not enough).')" "$TITLE"
                
-POL_RequiredVersion "4.3.0" || POL_Debug_Fatal "$APPLICATION_TITLE $VERSION is required to install $TITLE"
+POL_RequiredVersion "4.1.0" || POL_Debug_Fatal "$APPLICATION_TITLE $VERSION is required to install $TITLE"
    
 # Setting prefix path
 POL_Wine_SelectPrefix "$PREFIX"
@@ -145,7 +145,7 @@
         POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
         POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
-        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
+        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
       
 elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
         cd "$WINEPREFIX/drive_c"
@@ -198,7 +198,7 @@
         # POL_Shortcut_QuietDebug "$TITLE"
         POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
-        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
+        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
           
 elif [ "$APP_ANSWER" == "$(eval_gettext '.ZIP')" ]; then
         cd "$HOME"
@@ -212,7 +212,7 @@
         POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
         POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
-        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
+        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
    
    
 elif [ "$APP_ANSWER" == "$(eval_gettext '.RAR')" ]; then
@@ -226,7 +226,7 @@
         POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
         POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
-        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
+        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
 fi
 fi
      

New source code

#!/bin/bash
# Date : (2020-02-22 20-00)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : Ubuntu 19.10 64 bits
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: .
#
# Middlewares used by this software : DirectX 9.
#
#
# CHANGELOG
# [tef ?] (2009-09-11 13-00)
#   Initial script.
# [Danny-POL] (2015-05-30 01-17)
#   ...
# [Dadu042] (2020-01-22 21:30)
#   Wine 1.6.2 -> 3.0.3
#   Improve POL_Shortcut
#   Standardize POL_Function_NoCDWarning
# [Dadu042] (2020-02-22 22:30)
#   Brand new script (allows install from local file). 
#
#
# KNOWN ISSUES
#  - Wine x86 3.0.3, 3.20: the installer of the demo does never end. Fix: Wine 4.0.3
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: X
     
     
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
     
TITLE="Call of Duty 2"
PREFIX="COD2"
EDITOR="Activision"
GAME_URL="https://en.wikipedia.org/wiki/Call_of_Duty_2"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="COD2SP_s.exe"
SOFTWARE_CATEGORIES="Game;Shooter;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="read*.txt"
    
# Starting the script
POL_SetupWindow_Init
                 
# Starting debugging API
POL_Debug_Init
                
# Open dialogue box 
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
              
# POL_SetupWindow_message "$(eval_gettext 'WARNING: this software does exist in Linux native version.\n\nThis script only allow to run the Windows version on Linux, please prefer the Linux edition for better 3D speed.')" "$TITLE"
              
# POL_SetupWindow_message "$(eval_gettext 'This game requires a fast 3D GPU (ie: Intel HD Graphics 4440 is not enough).')" "$TITLE"
               
POL_RequiredVersion "4.1.0" || POL_Debug_Fatal "$APPLICATION_TITLE $VERSION is required to install $TITLE"
   
# Setting prefix path
POL_Wine_SelectPrefix "$PREFIX"

# Determine Architecture
# POL_System_SetArch "amd64"
POL_System_SetArch "x86"
           
# Downloading wine if necessary and creating prefix
POL_Wine_PrefixCreate "3.0.3"
     
POL_System_TmpCreate "$PREFIX"
     
Set_OS "winxp"
     
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_corefonts
          
         
################
#      GPU     #
################
     
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
      
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
       
# Useful for Nvidia GPUs
# POL_Call POL_Install_physx
         
         
#############################################
#  Sound problem fix - pulseaudio related   #
#############################################
# [ "$POL_OS" = "Linux" ] && Set_SoundDriver "alsa"
# [ "$POL_OS" = "Linux" ] && Set_SoundEmulDriver "Y"
## End Fix
      
     
#######################################
#  Main part of this script           #
#######################################
         
# Choose between Steam and other Digital Download versions
# POL_SetupWindow_InstallMethod "STEAM,DVD,LOCAL,DOWNLOAD"
POL_SetupWindow_InstallMethod "CD,LOCAL"

# POL_SetupWindow_message "Warning: do not install DirectX." "$TITLE"
# POL_SetupWindow_message "Warning: do not install Visual C++ 2013 redistribuable\n nor Direct X." "$TITLE"
      
# Begin game installation
if [ "$INSTALL_METHOD" == "STEAM" ]; then
        POL_Call POL_Install_steam
        # Mandatory pre-install fix for steam
        POL_Call POL_Install_steam_flags "$STEAM_ID"
        # Shortcut done before install for steam version
        POL_Shortcut "steam.exe" "$TITLE" "" "steam://rungameid/$STEAM_ID"
        # Steam install
        POL_SetupWindow_message "$(eval_gettext 'When $TITLE download by Steam is finished,\nDo NOT click on Play.\n\nClose COMPLETELY the Steam interface, \nso that the installation script can continue')" "$TITLE"
        cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
        POL_Wine start /unix "steam.exe" steam://install/$STEAM_ID
        POL_Wine_WaitExit "$TITLE"
              
elif [ "$INSTALL_METHOD" == "CD" ]; then
        POL_Call POL_Function_NoCDWarning

        POL_SetupWindow_cdrom
       
        POL_SetupWindow_check_cdrom "setup.exe"
        POL_Wine start /unix "$CDROM/setup.exe"
             
        POL_Wine_WaitExit "$TITLE"
          
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
             
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
      
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
     
        # POL_SetupWindow_message "$(eval_gettext '\n\nNote: this script will download the demo.')" "$TITLE"
        POL_Download "https://archive.org/download/gmdemins/gmdemins.exe"

        mv gmdemins.exe GameInstaller.exe
   
        # POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        # POL_System_unrar x "CastlevaniaTheLecardeChronicles.rar" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."
        # POL_System_unzip "DroneSwarm_0.1.9.zip" -d "$WINEPREFIX/drive_c/game/"
     
        # Extract without sub-folder.
        # unzip "acespeeder2.zip" -j -d "$WINEPREFIX/drive_c/"
     
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
      
        # cd  "$WINEPREFIX/drive_c/game/"
        POL_Wine "GameInstaller.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        rm GameInstaller.exe
     
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_QuietDebug "$TITLE"
     
        # Restore screen resolution (game's default is 1024x768)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
          
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

     
elif [ "$INSTALL_METHOD" == "LOCAL" ]; then
        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.EXE')~$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
        APP_ANSWER=".EXE"
   
if [ "$APP_ANSWER" == ".EXE" ]; then
        # Asking then installing local files of the game
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        POL_Wine start /unix "$SETUP_EXE"
        POL_Wine_WaitExit "$TITLE"
           
        # Restore screen resolution (game's default is 640x480 ?)
        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
           
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        # POL_Shortcut_QuietDebug "$TITLE"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
          
elif [ "$APP_ANSWER" == "$(eval_gettext '.ZIP')" ]; then
        cd "$HOME"
     
        POL_SetupWindow_message "$(eval_gettext '\n\nWARNING: the file name must not have SPACES in its name !.')" "$TITLE"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        cd "$POL_System_TmpDir"
        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        POL_System_unzip "$APP_ANSWER" -d "$WINEPREFIX/drive_c/game/"
   
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
   
   
elif [ "$APP_ANSWER" == "$(eval_gettext '.RAR')" ]; then
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .RAR file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        cd "$POL_System_TmpDir"
        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        POL_System_unrar x "$APP_ANSWER" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."

        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "CoD2MP_s.exe" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
     
     
################
# Patch update #
################
    
POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"      
     
if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .EXE file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
      
# POL_SetupWindow_message "$(eval_gettext '\nInstallation is finished ! :)')" "$TITLE"
   
# POL_SetupWindow_message "$(eval_gettext 'WARNING: to avoid to have huge log file, you should type \ninto Debug flags : fixme-all')" "$TITLE"
      
# Fail ?
# POL_SetupWindow_message "$LNG_FIN" "$TITLE"
     
POL_System_TmpDelete
POL_SetupWindow_Close
exit 0

Replies

Dadu042 Saturday 22 February 2020 at 20:40
Dadu042
Moderator

Warning

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

Differences

@@ -1,59 +1,256 @@
 #!/bin/bash
-# Date : (2009-09-11 13-00)
-# Last revision : (2015-05-30 01-17)
-# Wine version used : 1.6.2
-# Author :
-# updated: https://www.facebook.com/groups/LinuxandWindowsHelp
+# Date : (2020-02-22 20-00)
+# Last revision : see the changelog below
+# Wine version used : see the changelog below
+# Distribution used to test : Ubuntu 19.10 64 bits
+# Author : Dadu042
 # Licence : Retail
+# Only For : http://www.playonlinux.com
+#
+# TESTED Editions: .
+#
+# Middlewares used by this software : DirectX 9.
+#
 #
 # CHANGELOG
-# [?] (2009-09-11 13-00)
+# [tef ?] (2009-09-11 13-00)
 #   Initial script.
 # [Danny-POL] (2015-05-30 01-17)
-#
+#   ...
 # [Dadu042] (2020-01-22 21:30)
 #   Wine 1.6.2 -> 3.0.3
 #   Improve POL_Shortcut
 #   Standardize POL_Function_NoCDWarning
-
+# [Dadu042] (2020-02-22 22:30)
+#   Brand new script (allows install from local file). 
+#
+#
+# KNOWN ISSUES
+#  - Wine x86 4.21, 5.0: X
+#
+# KNOWN ISSUES (FIXED):
+#  - Wine amd64 3.0.3: X
+     
+     
 [ "$PLAYONLINUX" = "" ] && exit 0
 source "$PLAYONLINUX/lib/sources"
- 
+     
 TITLE="Call of Duty 2"
 PREFIX="COD2"
- 
+EDITOR="Activision"
+GAME_URL="https://en.wikipedia.org/wiki/Call_of_Duty_2"
+AUTHOR="Dadu042"
+STEAM_ID=""
+GAME_VMS="64"
+SHORTCUT_FILENAME="COD2SP_s.exe"
+SOFTWARE_CATEGORIES="Game;Shooter;"
+# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
+DOCUMENT_FILE="read*.txt"
+    
+# Starting the script
 POL_SetupWindow_Init
+                 
+# Starting debugging API
 POL_Debug_Init
- 
-POL_SetupWindow_presentation "$TITLE" "Activision" "http://www.activision.com" "http://www.facebook.com/groups/LinuxandWindowsHelp" "$PREFIX"
- 
-POL_SetupWindow_message "$(eval_gettext 'Please insert $TITLE media into your disk drive.')"
-POL_SetupWindow_cdrom
-POL_SetupWindow_check_cdrom "setup.exe"
-
+                
+# Open dialogue box 
+POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
+              
+# POL_SetupWindow_message "$(eval_gettext 'WARNING: this software does exist in Linux native version.\n\nThis script only allow to run the Windows version on Linux, please prefer the Linux edition for better 3D speed.')" "$TITLE"
+              
+# POL_SetupWindow_message "$(eval_gettext 'This game requires a fast 3D GPU (ie: Intel HD Graphics 4440 is not enough).')" "$TITLE"
+               
+POL_RequiredVersion "4.3.0" || POL_Debug_Fatal "$APPLICATION_TITLE $VERSION is required to install $TITLE"
+   
+# Setting prefix path
 POL_Wine_SelectPrefix "$PREFIX"
+
+# Determine Architecture
+# POL_System_SetArch "amd64"
+POL_System_SetArch "x86"
+           
+# Downloading wine if necessary and creating prefix
 POL_Wine_PrefixCreate "3.0.3"
- 
-#starting installation
-POL_Wine_WaitBefore "$TITLE"
-cd "$CDROM"
-POL_Wine "setup.exe"
-POL_Wine_WaitExit "$TITLE"
-
- 
-POL_Wine_Direct3D "Multisampling" "enabled"
-POL_SetupWindow_VMS
- 
-cd  "$WINEPREFIX/drive_c/windows/temp/"
-convert "$CDROM/Setup/rsrc/Art/cod4.ico" -geometry 32X32 "cod2.png"
-cp "cod2-1.png" "$POL_USER_ROOT/icones/32/$TITLE Singleplayer"
-cp "cod2-1.png" "$POL_USER_ROOT/icones/32/$TITLE Multiplayer"
- 
-#making shortcut
-POL_Shortcut "$PROGRAMFILES/Activision/Call of Duty 2/COD2SP_s.exe" "$TITLE Singleplayer" "" "" "Game;"
-POL_Shortcut "$PROGRAMFILES/Activision/Call of Duty 2/CoD2MP_s.exe" "$TITLE Multiplayer" "" "" "Game;"
+     
+POL_System_TmpCreate "$PREFIX"
+     
+Set_OS "winxp"
+     
+#######################################
+#  Installing mandatory dependencies  #
+#######################################
+
+# POL_Call POL_Install_corefonts
+          
+         
+################
+#      GPU     #
+################
+     
+# Asking about memory size of graphic card
+POL_SetupWindow_VMS $GAME_VMS
+      
+# Set Graphic Card information keys for wine
+POL_Wine_SetVideoDriver
+       
+# Useful for Nvidia GPUs
+# POL_Call POL_Install_physx
+         
+         
+#############################################
+#  Sound problem fix - pulseaudio related   #
+#############################################
+# [ "$POL_OS" = "Linux" ] && Set_SoundDriver "alsa"
+# [ "$POL_OS" = "Linux" ] && Set_SoundEmulDriver "Y"
+## End Fix
+      
+     
+#######################################
+#  Main part of this script           #
+#######################################
+         
+# Choose between Steam and other Digital Download versions
+# POL_SetupWindow_InstallMethod "STEAM,DVD,LOCAL,DOWNLOAD"
+POL_SetupWindow_InstallMethod "CD,LOCAL"
+
+# POL_SetupWindow_message "Warning: do not install DirectX." "$TITLE"
+# POL_SetupWindow_message "Warning: do not install Visual C++ 2013 redistribuable\n nor Direct X." "$TITLE"
+      
+# Begin game installation
+if [ "$INSTALL_METHOD" == "STEAM" ]; then
+        POL_Call POL_Install_steam
+        # Mandatory pre-install fix for steam
+        POL_Call POL_Install_steam_flags "$STEAM_ID"
+        # Shortcut done before install for steam version
+        POL_Shortcut "steam.exe" "$TITLE" "" "steam://rungameid/$STEAM_ID"
+        # Steam install
+        POL_SetupWindow_message "$(eval_gettext 'When $TITLE download by Steam is finished,\nDo NOT click on Play.\n\nClose COMPLETELY the Steam interface, \nso that the installation script can continue')" "$TITLE"
+        cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
+        POL_Wine start /unix "steam.exe" steam://install/$STEAM_ID
+        POL_Wine_WaitExit "$TITLE"
+              
+elif [ "$INSTALL_METHOD" == "CD" ]; then
+        POL_Call POL_Function_NoCDWarning
+
+        POL_SetupWindow_cdrom
+       
+        POL_SetupWindow_check_cdrom "setup.exe"
+        POL_Wine start /unix "$CDROM/setup.exe"
+             
+        POL_Wine_WaitExit "$TITLE"
+          
+        # Restore screen resolution (game's default is 800x600 ?)
+        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
+             
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
+        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
+
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
+      
+elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
+        cd "$WINEPREFIX/drive_c"
+     
+        # POL_SetupWindow_message "$(eval_gettext '\n\nNote: this script will download the demo.')" "$TITLE"
+        POL_Download "https://archive.org/download/gmdemins/gmdemins.exe"
+
+        mv gmdemins.exe GameInstaller.exe
+   
+        # POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
+        # POL_System_unrar x "CastlevaniaTheLecardeChronicles.rar" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."
+        # POL_System_unzip "DroneSwarm_0.1.9.zip" -d "$WINEPREFIX/drive_c/game/"
+     
+        # Extract without sub-folder.
+        # unzip "acespeeder2.zip" -j -d "$WINEPREFIX/drive_c/"
+     
+        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
+      
+        # cd  "$WINEPREFIX/drive_c/game/"
+        POL_Wine "GameInstaller.exe" # "/SILENT"
+        POL_Wine_WaitBefore "$TITLE"
+        rm GameInstaller.exe
+     
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
+        POL_Shortcut_QuietDebug "$TITLE"
+     
+        # Restore screen resolution (game's default is 1024x768)
+        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
+          
+        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
+
+     
+elif [ "$INSTALL_METHOD" == "LOCAL" ]; then
+        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.EXE')~$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
+        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
+        APP_ANSWER=".EXE"
+   
+if [ "$APP_ANSWER" == ".EXE" ]; then
+        # Asking then installing local files of the game
+        cd "$HOME"
+        POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "$TITLE"
+        SETUP_EXE="$APP_ANSWER"
+        POL_Wine start /unix "$SETUP_EXE"
+        POL_Wine_WaitExit "$TITLE"
+           
+        # Restore screen resolution (game's default is 640x480 ?)
+        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
+           
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
+        # POL_Shortcut_QuietDebug "$TITLE"
+        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
+
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
+          
+elif [ "$APP_ANSWER" == "$(eval_gettext '.ZIP')" ]; then
+        cd "$HOME"
+     
+        POL_SetupWindow_message "$(eval_gettext '\n\nWARNING: the file name must not have SPACES in its name !.')" "$TITLE"
+        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
+        cd "$POL_System_TmpDir"
+        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
+        POL_System_unzip "$APP_ANSWER" -d "$WINEPREFIX/drive_c/game/"
+   
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
+        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
+
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
+   
+   
+elif [ "$APP_ANSWER" == "$(eval_gettext '.RAR')" ]; then
+        cd "$HOME"
+        POL_SetupWindow_browse "$(eval_gettext 'Please select the .RAR file')" "$TITLE"
+        SETUP_EXE="$APP_ANSWER"
+        cd "$POL_System_TmpDir"
+        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
+        POL_System_unrar x "$APP_ANSWER" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."
 
-POL_Call POL_Function_NoCDWarning
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
+        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
+fi
+fi
+     
+     
+################
+# Patch update #
+################
+    
+POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"      
+     
+if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
+        POL_SetupWindow_browse "$(eval_gettext 'Please select the .EXE file to run')" "$TITLE"
+        PATCH_EXE="$APP_ANSWER"
+        POL_Wine start /unix "$PATCH_EXE"
+        POL_Wine_WaitExit "$PATCH_EXE"
+fi
+      
+# POL_SetupWindow_message "$(eval_gettext '\nInstallation is finished ! :)')" "$TITLE"
+   
+# POL_SetupWindow_message "$(eval_gettext 'WARNING: to avoid to have huge log file, you should type \ninto Debug flags : fixme-all')" "$TITLE"
+      
+# Fail ?
+# POL_SetupWindow_message "$LNG_FIN" "$TITLE"
+     
+POL_System_TmpDelete
 POL_SetupWindow_Close
 exit 0
\ No newline at end of file

New source code

#!/bin/bash
# Date : (2020-02-22 20-00)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : Ubuntu 19.10 64 bits
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: .
#
# Middlewares used by this software : DirectX 9.
#
#
# CHANGELOG
# [tef ?] (2009-09-11 13-00)
#   Initial script.
# [Danny-POL] (2015-05-30 01-17)
#   ...
# [Dadu042] (2020-01-22 21:30)
#   Wine 1.6.2 -> 3.0.3
#   Improve POL_Shortcut
#   Standardize POL_Function_NoCDWarning
# [Dadu042] (2020-02-22 22:30)
#   Brand new script (allows install from local file). 
#
#
# KNOWN ISSUES
#  - Wine x86 4.21, 5.0: X
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: X
     
     
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
     
TITLE="Call of Duty 2"
PREFIX="COD2"
EDITOR="Activision"
GAME_URL="https://en.wikipedia.org/wiki/Call_of_Duty_2"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="COD2SP_s.exe"
SOFTWARE_CATEGORIES="Game;Shooter;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="read*.txt"
    
# Starting the script
POL_SetupWindow_Init
                 
# Starting debugging API
POL_Debug_Init
                
# Open dialogue box 
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
              
# POL_SetupWindow_message "$(eval_gettext 'WARNING: this software does exist in Linux native version.\n\nThis script only allow to run the Windows version on Linux, please prefer the Linux edition for better 3D speed.')" "$TITLE"
              
# POL_SetupWindow_message "$(eval_gettext 'This game requires a fast 3D GPU (ie: Intel HD Graphics 4440 is not enough).')" "$TITLE"
               
POL_RequiredVersion "4.3.0" || POL_Debug_Fatal "$APPLICATION_TITLE $VERSION is required to install $TITLE"
   
# Setting prefix path
POL_Wine_SelectPrefix "$PREFIX"

# Determine Architecture
# POL_System_SetArch "amd64"
POL_System_SetArch "x86"
           
# Downloading wine if necessary and creating prefix
POL_Wine_PrefixCreate "3.0.3"
     
POL_System_TmpCreate "$PREFIX"
     
Set_OS "winxp"
     
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_corefonts
          
         
################
#      GPU     #
################
     
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
      
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
       
# Useful for Nvidia GPUs
# POL_Call POL_Install_physx
         
         
#############################################
#  Sound problem fix - pulseaudio related   #
#############################################
# [ "$POL_OS" = "Linux" ] && Set_SoundDriver "alsa"
# [ "$POL_OS" = "Linux" ] && Set_SoundEmulDriver "Y"
## End Fix
      
     
#######################################
#  Main part of this script           #
#######################################
         
# Choose between Steam and other Digital Download versions
# POL_SetupWindow_InstallMethod "STEAM,DVD,LOCAL,DOWNLOAD"
POL_SetupWindow_InstallMethod "CD,LOCAL"

# POL_SetupWindow_message "Warning: do not install DirectX." "$TITLE"
# POL_SetupWindow_message "Warning: do not install Visual C++ 2013 redistribuable\n nor Direct X." "$TITLE"
      
# Begin game installation
if [ "$INSTALL_METHOD" == "STEAM" ]; then
        POL_Call POL_Install_steam
        # Mandatory pre-install fix for steam
        POL_Call POL_Install_steam_flags "$STEAM_ID"
        # Shortcut done before install for steam version
        POL_Shortcut "steam.exe" "$TITLE" "" "steam://rungameid/$STEAM_ID"
        # Steam install
        POL_SetupWindow_message "$(eval_gettext 'When $TITLE download by Steam is finished,\nDo NOT click on Play.\n\nClose COMPLETELY the Steam interface, \nso that the installation script can continue')" "$TITLE"
        cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
        POL_Wine start /unix "steam.exe" steam://install/$STEAM_ID
        POL_Wine_WaitExit "$TITLE"
              
elif [ "$INSTALL_METHOD" == "CD" ]; then
        POL_Call POL_Function_NoCDWarning

        POL_SetupWindow_cdrom
       
        POL_SetupWindow_check_cdrom "setup.exe"
        POL_Wine start /unix "$CDROM/setup.exe"
             
        POL_Wine_WaitExit "$TITLE"
          
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
             
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
      
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
     
        # POL_SetupWindow_message "$(eval_gettext '\n\nNote: this script will download the demo.')" "$TITLE"
        POL_Download "https://archive.org/download/gmdemins/gmdemins.exe"

        mv gmdemins.exe GameInstaller.exe
   
        # POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        # POL_System_unrar x "CastlevaniaTheLecardeChronicles.rar" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."
        # POL_System_unzip "DroneSwarm_0.1.9.zip" -d "$WINEPREFIX/drive_c/game/"
     
        # Extract without sub-folder.
        # unzip "acespeeder2.zip" -j -d "$WINEPREFIX/drive_c/"
     
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
      
        # cd  "$WINEPREFIX/drive_c/game/"
        POL_Wine "GameInstaller.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        rm GameInstaller.exe
     
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_QuietDebug "$TITLE"
     
        # Restore screen resolution (game's default is 1024x768)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
          
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

     
elif [ "$INSTALL_METHOD" == "LOCAL" ]; then
        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.EXE')~$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
        # POL_SetupWindow_menu "$(eval_gettext 'What is the type of the file?.')" "$TITLE" "$(eval_gettext '.ZIP')~$(eval_gettext '.RAR')" "~"
        APP_ANSWER=".EXE"
   
if [ "$APP_ANSWER" == ".EXE" ]; then
        # Asking then installing local files of the game
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        POL_Wine start /unix "$SETUP_EXE"
        POL_Wine_WaitExit "$TITLE"
           
        # Restore screen resolution (game's default is 640x480 ?)
        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
           
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        # POL_Shortcut_QuietDebug "$TITLE"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
          
elif [ "$APP_ANSWER" == "$(eval_gettext '.ZIP')" ]; then
        cd "$HOME"
     
        POL_SetupWindow_message "$(eval_gettext '\n\nWARNING: the file name must not have SPACES in its name !.')" "$TITLE"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        cd "$POL_System_TmpDir"
        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        POL_System_unzip "$APP_ANSWER" -d "$WINEPREFIX/drive_c/game/"
   
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
   
   
elif [ "$APP_ANSWER" == "$(eval_gettext '.RAR')" ]; then
        cd "$HOME"
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .RAR file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        cd "$POL_System_TmpDir"
        POL_SetupWindow_wait_next_signal "$(eval_gettext 'Extracting the archive...')" "$TITLE"
        POL_System_unrar x "$APP_ANSWER" "$WINEPREFIX/drive_c/game/" || POL_Debug_Fatal "unrar is required to unarchive $TITLE (unrar package is not installed on the OS)."

        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Singleplayer" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"

        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE - Multiplayer" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
     
     
################
# Patch update #
################
    
POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"      
     
if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the .EXE file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
      
# POL_SetupWindow_message "$(eval_gettext '\nInstallation is finished ! :)')" "$TITLE"
   
# POL_SetupWindow_message "$(eval_gettext 'WARNING: to avoid to have huge log file, you should type \ninto Debug flags : fixme-all')" "$TITLE"
      
# Fail ?
# POL_SetupWindow_message "$LNG_FIN" "$TITLE"
     
POL_System_TmpDelete
POL_SetupWindow_Close
exit 0

Replies

Dadu042 Wednesday 29 January 2020 at 11:22
Dadu042
Moderator

Warning

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

Differences

@@ -5,7 +5,17 @@
 # Author :
 # updated: https://www.facebook.com/groups/LinuxandWindowsHelp
 # Licence : Retail
- 
+#
+# CHANGELOG
+# [?] (2009-09-11 13-00)
+#   Initial script.
+# [Danny-POL] (2015-05-30 01-17)
+#
+# [Dadu042] (2020-01-22 21:30)
+#   Wine 1.6.2 -> 3.0.3
+#   Improve POL_Shortcut
+#   Standardize POL_Function_NoCDWarning
+
 [ "$PLAYONLINUX" = "" ] && exit 0
 source "$PLAYONLINUX/lib/sources"
  
@@ -20,11 +30,9 @@
 POL_SetupWindow_message "$(eval_gettext 'Please insert $TITLE media into your disk drive.')"
 POL_SetupWindow_cdrom
 POL_SetupWindow_check_cdrom "setup.exe"
- 
-CHOSENWINEVERSION="1.6.2"
- 
+
 POL_Wine_SelectPrefix "$PREFIX"
-POL_Wine_PrefixCreate "$CHOSENWINEVERSION"
+POL_Wine_PrefixCreate "3.0.3"
  
 #starting installation
 POL_Wine_WaitBefore "$TITLE"
@@ -42,10 +50,10 @@
 cp "cod2-1.png" "$POL_USER_ROOT/icones/32/$TITLE Multiplayer"
  
 #making shortcut
-POL_Shortcut "$PROGRAMFILES/Activision/Call of Duty 2/COD2SP_s.exe" "$TITLE Singleplayer"
-POL_Shortcut "$PROGRAMFILES/Activision/Call of Duty 2/CoD2MP_s.exe" "$TITLE Multiplayer"
- 
-POL_SetupWindow_message "$(eval_gettext 'Please note that this game has a copy protection system\nand sadly, it prevents Wine from running the game.\n\nPlayOnLinux will not provide any help concerning any illegal\nstuff.')" "Note about copy protection"
- 
+POL_Shortcut "$PROGRAMFILES/Activision/Call of Duty 2/COD2SP_s.exe" "$TITLE Singleplayer" "" "" "Game;"
+POL_Shortcut "$PROGRAMFILES/Activision/Call of Duty 2/CoD2MP_s.exe" "$TITLE Multiplayer" "" "" "Game;"
+
+POL_Call POL_Function_NoCDWarning
+
 POL_SetupWindow_Close
 exit 0
\ No newline at end of file

New source code

#!/bin/bash
# Date : (2009-09-11 13-00)
# Last revision : (2015-05-30 01-17)
# Wine version used : 1.6.2
# Author :
# updated: https://www.facebook.com/groups/LinuxandWindowsHelp
# Licence : Retail
#
# CHANGELOG
# [?] (2009-09-11 13-00)
#   Initial script.
# [Danny-POL] (2015-05-30 01-17)
#
# [Dadu042] (2020-01-22 21:30)
#   Wine 1.6.2 -> 3.0.3
#   Improve POL_Shortcut
#   Standardize POL_Function_NoCDWarning

[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
 
TITLE="Call of Duty 2"
PREFIX="COD2"
 
POL_SetupWindow_Init
POL_Debug_Init
 
POL_SetupWindow_presentation "$TITLE" "Activision" "http://www.activision.com" "http://www.facebook.com/groups/LinuxandWindowsHelp" "$PREFIX"
 
POL_SetupWindow_message "$(eval_gettext 'Please insert $TITLE media into your disk drive.')"
POL_SetupWindow_cdrom
POL_SetupWindow_check_cdrom "setup.exe"

POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "3.0.3"
 
#starting installation
POL_Wine_WaitBefore "$TITLE"
cd "$CDROM"
POL_Wine "setup.exe"
POL_Wine_WaitExit "$TITLE"

 
POL_Wine_Direct3D "Multisampling" "enabled"
POL_SetupWindow_VMS
 
cd  "$WINEPREFIX/drive_c/windows/temp/"
convert "$CDROM/Setup/rsrc/Art/cod4.ico" -geometry 32X32 "cod2.png"
cp "cod2-1.png" "$POL_USER_ROOT/icones/32/$TITLE Singleplayer"
cp "cod2-1.png" "$POL_USER_ROOT/icones/32/$TITLE Multiplayer"
 
#making shortcut
POL_Shortcut "$PROGRAMFILES/Activision/Call of Duty 2/COD2SP_s.exe" "$TITLE Singleplayer" "" "" "Game;"
POL_Shortcut "$PROGRAMFILES/Activision/Call of Duty 2/CoD2MP_s.exe" "$TITLE Multiplayer" "" "" "Game;"

POL_Call POL_Function_NoCDWarning

POL_SetupWindow_Close
exit 0

Replies

Dennis50300 Monday 21 September 2015 at 21:41
Dennis50300 Anonymous

Message

i have the DVD-Version.

The Installer copies all Data an then i have a black screen, the progress hang there up.

 

Ubuntu ist 15.04

 

Dennis

Replies

Danny-POL Saturday 30 May 2015 at 8:17
Danny-POL Anonymous

Warning

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

Message

The script you got does not work at all. below is a working script.  there is special installation instructions. this was done using Call Of Duty 2 6 disk set, if you have a DVD version it may be different. I did not know how to unmount and eject a drive from wine.  If using regular wine it is command # wine eject [-a]. Call of duty will not install using the disks. perhaps you guys can add an addition to your next playonlinux release. that enables you to unmount a disk from wine. I tried looking. I am new to playonlinux.

 

anyways here are the steps to follow. as i said this is for the 6 disk set, not the dvd version.

 

1-- load the script i provided, after the first disk has installed fully, and asks for disk 2. switch over to playonlinux console -> configure -> cod2 -> wine, and click kill processes, otherwise your system will lock up.

 

2-- open up each disk, and copy the contents in /Setup/Data/ into /Activison/Call Of Duty 2/, start with disk 6, and count back down to disk 1, copying all the files from the /Setup/Data

 

3-- Google search version 1.3 update patch that is in a zip file, not the original extractor, because it dont work. there may be ways of fixing it, i was unable too. and it may work good on the DVD version installer.

 

4-- you will need the no cd patch for single player, you will need to create your own shortcuts, click configure on the playonlinux console, click cod2, and then click create shortcut. set the video settings at 640x480. otherwise it will look like your playing in the matrix, try it, pretty trippy.  Enjoy!

 

 

Differences

@@ -21,8 +21,7 @@
 POL_SetupWindow_cdrom
 POL_SetupWindow_check_cdrom "setup.exe"
  
-LATESTVERSION="1.6.2"
-CHOSENWINEVERSION="$LATESTVERSION"
+CHOSENWINEVERSION="1.6.2"
  
 POL_Wine_SelectPrefix "$PREFIX"
 POL_Wine_PrefixCreate "$CHOSENWINEVERSION"

New source code

#!/bin/bash
# Date : (2009-09-11 13-00)
# Last revision : (2015-05-30 01-17)
# Wine version used : 1.6.2
# Author :
# updated: https://www.facebook.com/groups/LinuxandWindowsHelp
# Licence : Retail
 
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
 
TITLE="Call of Duty 2"
PREFIX="COD2"
 
POL_SetupWindow_Init
POL_Debug_Init
 
POL_SetupWindow_presentation "$TITLE" "Activision" "http://www.activision.com" "http://www.facebook.com/groups/LinuxandWindowsHelp" "$PREFIX"
 
POL_SetupWindow_message "$(eval_gettext 'Please insert $TITLE media into your disk drive.')"
POL_SetupWindow_cdrom
POL_SetupWindow_check_cdrom "setup.exe"
 
CHOSENWINEVERSION="1.6.2"
 
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$CHOSENWINEVERSION"
 
#starting installation
POL_Wine_WaitBefore "$TITLE"
cd "$CDROM"
POL_Wine "setup.exe"
POL_Wine_WaitExit "$TITLE"

 
POL_Wine_Direct3D "Multisampling" "enabled"
POL_SetupWindow_VMS
 
cd  "$WINEPREFIX/drive_c/windows/temp/"
convert "$CDROM/Setup/rsrc/Art/cod4.ico" -geometry 32X32 "cod2.png"
cp "cod2-1.png" "$POL_USER_ROOT/icones/32/$TITLE Singleplayer"
cp "cod2-1.png" "$POL_USER_ROOT/icones/32/$TITLE Multiplayer"
 
#making shortcut
POL_Shortcut "$PROGRAMFILES/Activision/Call of Duty 2/COD2SP_s.exe" "$TITLE Singleplayer"
POL_Shortcut "$PROGRAMFILES/Activision/Call of Duty 2/CoD2MP_s.exe" "$TITLE Multiplayer"
 
POL_SetupWindow_message "$(eval_gettext 'Please note that this game has a copy protection system\nand sadly, it prevents Wine from running the game.\n\nPlayOnLinux will not provide any help concerning any illegal\nstuff.')" "Note about copy protection"
 
POL_SetupWindow_Close
exit 0

Replies

Saturday 30 May 2015 at 12:51
I have accepted your script because the former one was _really_ up to date. Can you just avoid using convert please?
Saturday 30 May 2015 at 12:51
Thanks
Anonymous
Saturday 30 May 2015 at 14:24
Not following? Avoid using convert? Not sure what you mean.
Anonymous
Saturday 30 May 2015 at 14:26
oic for the logo? Yeah someone else did that, I was looking how someone else did it, I will stop using convert. On future scripts I write or redo, thank you.
Anonymous
Saturday 30 May 2015 at 14:29
Yes I will stop using convert, a logo is not that important anyways, even if it don't work. For multi disk installations I wish you guys would add a feature to unmount a cd drive with playonlinux from wine, during this installation wine smuggles the cd rom, and don't want to let go.
Anonymous
Saturday 30 May 2015 at 14:40
Thank you for approving it. It works great.
Anonymous
Wednesday 13 December 2017 at 7:40
don't work for me, setup makes Problems -.-
Anonymous
Thursday 14 December 2017 at 14:13
i got another way to install it :-)

Edited by Tinou