Lego Bionicle: The Legend of Mata Nui

Informations

Creator Message
Dadu042

Warning

This installer is a beta script. It means that it might not work as expected

Informations

Platforms:
Downloads: 3134
Wine: 7.0

Feedbacks

Description

Action-adventure video game (canceled in 2001), released unofficially in 2019 (website). Wikipedia.

Manual settings to do :

  1. The build edition to download is 'Rebuild'.
  2. Write your screen resolution in the file 'Bionicle.ini'.
  3. Game does freeze on the main screen when launched, do ALT+TAB and come back again to the game

Note: The musics (MP3) does not play. When exiting, the game shows errors.

Screenshots

Miniature

Source code

#!/bin/bash
# Date : (2020-01-11)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : XUbuntu 18.04 x64
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: REBUILT Build (Oct 26 2019) - v1.0.1 (in versionop.txt) .
#
# Middlewares used by this software : Bink, DirectX 8.
#
# CHANGELOG
# [Dadu042] (2020-01-11)
#   Initial script (Wine 5.0-rc3).
# [Dadu042] (2020-01-28)
#   Wine 5.0-rc3 -> 5.0.
# [Dadu042] (2022-03-29)
#   Wine 5.0 -> 5.0.3 (Wine 7.0 is reported OK, but not tested yet by myself).
#
# KNOWN ISSUES:
#  - Wine amd64 4.0.3, 4.21, 3.0.3: the main menu does appear but frozen (and no sound/music nor videos). Tried: vcrun6, GLSL off, dinput8. Fix: Wine 5.0-rc3 (Quartz?  xact?)
#  - Wine amd64 4.0.3, 5.0-rc3: no sound/music nor videos. Tried: dsound, amstream, directmusic.
#  - Wine amd64 5.0-rc3: unhandled exceptions when exiting the game. Tried: vcrun6, amstream. Quartz seems to help but makes troubles (freeze) in the game.
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: no sound nor music. Tried: alsa, xact. Fix: dsound (it seems to do the same job as Directmusic).


[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
         
TITLE="Lego Bionicle: The Legend of Mata Nui"
PREFIX="lego_bionicle_legend_mata_nui"
EDITOR=""
GAME_URL="https://en.wikipedia.org/wiki/Lego_Bionicle:_The_Legend_of_Mata_Nui"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="LEGOBionicle.exe"
SOFTWARE_CATEGORIES="Game;ActionGame;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="Readme.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.4" || 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 "7.0"

POL_System_TmpCreate "$PREFIX"

Set_OS "winxp"
    
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_amstream

# POL_Call POL_Install_dotnet40
# POL_Call POL_Install_mfc42
# POL_Call POL_Install_dsound
# POL_Call POL_Install_riched30
# POL_Call POL_Install_phzysx
# POL_Call POL_Install_corefonts
# POL_Call POL_Install_d3dx11
# POL_Call POL_Install_mono210
    
    
################
#      GPU     #
################
 
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
 
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
  
# 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 "LOCAL"
 
# POL_SetupWindow_message "Warning: do not install DirectX." "$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" == "DVD" ]; then
        POL_SetupWindow_cdrom
         
        # POL_Call POL_Function_NoCDWarning
  
        POL_SetupWindow_check_cdrom "TQ Launcher.dbd"
        POL_Wine start /unix "$CDROM/setup.exe" "/SILENT"
        POL_Wine_WaitExit "setup.exe"
     
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
        
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
 
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
        # POL_SetupWindow_message "$(eval_gettext 'Note: this script can only download the demo.')" "$TITLE"
        POL_Download "http://biomediaproject.com/bmp/files/gms/tlomn/Launcher/setuprebuilt.exe"
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
 
        POL_Wine "setuprebuilt.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        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 "l.exe" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        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 '.EXE')~$(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" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_QuietDebug "$TITLE"

        # POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
     
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 (otherwise: unzip error 9).')" "$TITLE"

        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        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" "" "" "$SOFTWARE_CATEGORIES"

        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
                  
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" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
    
################
# Patch update #
################

# POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?\n (to download by yourself).')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"

if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
 
# POL_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 Tuesday 29 March 2022 at 1:26
Dadu042

Information

This update has been approved by the team.

Message


 

Differences

@@ -66,7 +66,7 @@
 POL_System_SetArch "x86"
       
 # Downloading wine if necessary and creating prefix
-POL_Wine_PrefixCreate "5.0.3"
+POL_Wine_PrefixCreate "7.0"
 
 POL_System_TmpCreate "$PREFIX"
 

New source code

#!/bin/bash
# Date : (2020-01-11)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : XUbuntu 18.04 x64
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: REBUILT Build (Oct 26 2019) - v1.0.1 (in versionop.txt) .
#
# Middlewares used by this software : Bink, DirectX 8.
#
# CHANGELOG
# [Dadu042] (2020-01-11)
#   Initial script (Wine 5.0-rc3).
# [Dadu042] (2020-01-28)
#   Wine 5.0-rc3 -> 5.0.
# [Dadu042] (2022-03-29)
#   Wine 5.0 -> 5.0.3 (Wine 7.0 is reported OK, but not tested yet by myself).
#
# KNOWN ISSUES:
#  - Wine amd64 4.0.3, 4.21, 3.0.3: the main menu does appear but frozen (and no sound/music nor videos). Tried: vcrun6, GLSL off, dinput8. Fix: Wine 5.0-rc3 (Quartz?  xact?)
#  - Wine amd64 4.0.3, 5.0-rc3: no sound/music nor videos. Tried: dsound, amstream, directmusic.
#  - Wine amd64 5.0-rc3: unhandled exceptions when exiting the game. Tried: vcrun6, amstream. Quartz seems to help but makes troubles (freeze) in the game.
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: no sound nor music. Tried: alsa, xact. Fix: dsound (it seems to do the same job as Directmusic).


[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
         
TITLE="Lego Bionicle: The Legend of Mata Nui"
PREFIX="lego_bionicle_legend_mata_nui"
EDITOR=""
GAME_URL="https://en.wikipedia.org/wiki/Lego_Bionicle:_The_Legend_of_Mata_Nui"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="LEGOBionicle.exe"
SOFTWARE_CATEGORIES="Game;ActionGame;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="Readme.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.4" || 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 "7.0"

POL_System_TmpCreate "$PREFIX"

Set_OS "winxp"
    
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_amstream

# POL_Call POL_Install_dotnet40
# POL_Call POL_Install_mfc42
# POL_Call POL_Install_dsound
# POL_Call POL_Install_riched30
# POL_Call POL_Install_phzysx
# POL_Call POL_Install_corefonts
# POL_Call POL_Install_d3dx11
# POL_Call POL_Install_mono210
    
    
################
#      GPU     #
################
 
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
 
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
  
# 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 "LOCAL"
 
# POL_SetupWindow_message "Warning: do not install DirectX." "$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" == "DVD" ]; then
        POL_SetupWindow_cdrom
         
        # POL_Call POL_Function_NoCDWarning
  
        POL_SetupWindow_check_cdrom "TQ Launcher.dbd"
        POL_Wine start /unix "$CDROM/setup.exe" "/SILENT"
        POL_Wine_WaitExit "setup.exe"
     
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
        
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
 
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
        # POL_SetupWindow_message "$(eval_gettext 'Note: this script can only download the demo.')" "$TITLE"
        POL_Download "http://biomediaproject.com/bmp/files/gms/tlomn/Launcher/setuprebuilt.exe"
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
 
        POL_Wine "setuprebuilt.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        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 "l.exe" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        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 '.EXE')~$(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" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_QuietDebug "$TITLE"

        # POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
     
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 (otherwise: unzip error 9).')" "$TITLE"

        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        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" "" "" "$SOFTWARE_CATEGORIES"

        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
                  
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" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
    
################
# Patch update #
################

# POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?\n (to download by yourself).')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"

if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
 
# POL_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 Tuesday 29 March 2022 at 0:33
Dadu042

Warning

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

Message

Minor update. Wine 5.0 -> 5.0.3

Differences

@@ -16,6 +16,8 @@
 #   Initial script (Wine 5.0-rc3).
 # [Dadu042] (2020-01-28)
 #   Wine 5.0-rc3 -> 5.0.
+# [Dadu042] (2022-03-29)
+#   Wine 5.0 -> 5.0.3 (Wine 7.0 is reported OK, but not tested yet by myself).
 #
 # KNOWN ISSUES:
 #  - Wine amd64 4.0.3, 4.21, 3.0.3: the main menu does appear but frozen (and no sound/music nor videos). Tried: vcrun6, GLSL off, dinput8. Fix: Wine 5.0-rc3 (Quartz?  xact?)
@@ -64,7 +66,7 @@
 POL_System_SetArch "x86"
       
 # Downloading wine if necessary and creating prefix
-POL_Wine_PrefixCreate "5.0"
+POL_Wine_PrefixCreate "5.0.3"
 
 POL_System_TmpCreate "$PREFIX"
 

New source code

#!/bin/bash
# Date : (2020-01-11)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : XUbuntu 18.04 x64
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: REBUILT Build (Oct 26 2019) - v1.0.1 (in versionop.txt) .
#
# Middlewares used by this software : Bink, DirectX 8.
#
# CHANGELOG
# [Dadu042] (2020-01-11)
#   Initial script (Wine 5.0-rc3).
# [Dadu042] (2020-01-28)
#   Wine 5.0-rc3 -> 5.0.
# [Dadu042] (2022-03-29)
#   Wine 5.0 -> 5.0.3 (Wine 7.0 is reported OK, but not tested yet by myself).
#
# KNOWN ISSUES:
#  - Wine amd64 4.0.3, 4.21, 3.0.3: the main menu does appear but frozen (and no sound/music nor videos). Tried: vcrun6, GLSL off, dinput8. Fix: Wine 5.0-rc3 (Quartz?  xact?)
#  - Wine amd64 4.0.3, 5.0-rc3: no sound/music nor videos. Tried: dsound, amstream, directmusic.
#  - Wine amd64 5.0-rc3: unhandled exceptions when exiting the game. Tried: vcrun6, amstream. Quartz seems to help but makes troubles (freeze) in the game.
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: no sound nor music. Tried: alsa, xact. Fix: dsound (it seems to do the same job as Directmusic).


[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
         
TITLE="Lego Bionicle: The Legend of Mata Nui"
PREFIX="lego_bionicle_legend_mata_nui"
EDITOR=""
GAME_URL="https://en.wikipedia.org/wiki/Lego_Bionicle:_The_Legend_of_Mata_Nui"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="LEGOBionicle.exe"
SOFTWARE_CATEGORIES="Game;ActionGame;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="Readme.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.4" || 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 "5.0.3"

POL_System_TmpCreate "$PREFIX"

Set_OS "winxp"
    
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_amstream

# POL_Call POL_Install_dotnet40
# POL_Call POL_Install_mfc42
# POL_Call POL_Install_dsound
# POL_Call POL_Install_riched30
# POL_Call POL_Install_phzysx
# POL_Call POL_Install_corefonts
# POL_Call POL_Install_d3dx11
# POL_Call POL_Install_mono210
    
    
################
#      GPU     #
################
 
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
 
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
  
# 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 "LOCAL"
 
# POL_SetupWindow_message "Warning: do not install DirectX." "$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" == "DVD" ]; then
        POL_SetupWindow_cdrom
         
        # POL_Call POL_Function_NoCDWarning
  
        POL_SetupWindow_check_cdrom "TQ Launcher.dbd"
        POL_Wine start /unix "$CDROM/setup.exe" "/SILENT"
        POL_Wine_WaitExit "setup.exe"
     
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
        
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
 
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
        # POL_SetupWindow_message "$(eval_gettext 'Note: this script can only download the demo.')" "$TITLE"
        POL_Download "http://biomediaproject.com/bmp/files/gms/tlomn/Launcher/setuprebuilt.exe"
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
 
        POL_Wine "setuprebuilt.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        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 "l.exe" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        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 '.EXE')~$(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" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_QuietDebug "$TITLE"

        # POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
     
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 (otherwise: unzip error 9).')" "$TITLE"

        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        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" "" "" "$SOFTWARE_CATEGORIES"

        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
                  
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" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
    
################
# Patch update #
################

# POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?\n (to download by yourself).')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"

if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
 
# POL_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

Tuesday 29 March 2022 at 1:19
Music and sounds are played (wine 5.0.3, Kubuntu 20.04).
NoIdea Sunday 30 January 2022 at 1:07
NoIdea Anonymous

Message

There are four different .exe files available from the website mentioned: Alpha, Beta, Rebuilt and a launcher which can install any of them.  Which is this meant to be used with?

Also, there seems to be a known problem with at least one version, the Rebuilt, with Wine 5.0 and Wine 6.21 which doesn't occur with Wine 7.0.  Details (or some details) at https://github.com/TheLegendOfMataNui/game-issues/issues/294 .

Replies

Tuesday 29 March 2022 at 0:25
It's the rebuild edition.

Thanks for the infos, what is your OS and version ?

Edited by NoIdea

Dadu042 Tuesday 28 January 2020 at 20:34
Dadu042

Warning

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

Differences

@@ -14,6 +14,8 @@
 # CHANGELOG
 # [Dadu042] (2020-01-11)
 #   Initial script (Wine 5.0-rc3).
+# [Dadu042] (2020-01-28)
+#   Wine 5.0-rc3 -> 5.0.
 #
 # KNOWN ISSUES:
 #  - Wine amd64 4.0.3, 4.21, 3.0.3: the main menu does appear but frozen (and no sound/music nor videos). Tried: vcrun6, GLSL off, dinput8. Fix: Wine 5.0-rc3 (Quartz?  xact?)
@@ -62,7 +64,7 @@
 POL_System_SetArch "x86"
       
 # Downloading wine if necessary and creating prefix
-POL_Wine_PrefixCreate "5.0-rc3"
+POL_Wine_PrefixCreate "5.0"
 
 POL_System_TmpCreate "$PREFIX"
 

New source code

#!/bin/bash
# Date : (2020-01-11)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : XUbuntu 18.04 x64
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: REBUILT Build (Oct 26 2019) - v1.0.1 (in versionop.txt) .
#
# Middlewares used by this software : Bink, DirectX 8.
#
# CHANGELOG
# [Dadu042] (2020-01-11)
#   Initial script (Wine 5.0-rc3).
# [Dadu042] (2020-01-28)
#   Wine 5.0-rc3 -> 5.0.
#
# KNOWN ISSUES:
#  - Wine amd64 4.0.3, 4.21, 3.0.3: the main menu does appear but frozen (and no sound/music nor videos). Tried: vcrun6, GLSL off, dinput8. Fix: Wine 5.0-rc3 (Quartz?  xact?)
#  - Wine amd64 4.0.3, 5.0-rc3: no sound/music nor videos. Tried: dsound, amstream, directmusic.
#  - Wine amd64 5.0-rc3: unhandled exceptions when exiting the game. Tried: vcrun6, amstream. Quartz seems to help but makes troubles (freeze) in the game.
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: no sound nor music. Tried: alsa, xact. Fix: dsound (it seems to do the same job as Directmusic).


[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
         
TITLE="Lego Bionicle: The Legend of Mata Nui"
PREFIX="lego_bionicle_legend_mata_nui"
EDITOR=""
GAME_URL="https://en.wikipedia.org/wiki/Lego_Bionicle:_The_Legend_of_Mata_Nui"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="LEGOBionicle.exe"
SOFTWARE_CATEGORIES="Game;ActionGame;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="Readme.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.4" || 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 "5.0"

POL_System_TmpCreate "$PREFIX"

Set_OS "winxp"
    
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_amstream

# POL_Call POL_Install_dotnet40
# POL_Call POL_Install_mfc42
# POL_Call POL_Install_dsound
# POL_Call POL_Install_riched30
# POL_Call POL_Install_phzysx
# POL_Call POL_Install_corefonts
# POL_Call POL_Install_d3dx11
# POL_Call POL_Install_mono210
    
    
################
#      GPU     #
################
 
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
 
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
  
# 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 "LOCAL"
 
# POL_SetupWindow_message "Warning: do not install DirectX." "$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" == "DVD" ]; then
        POL_SetupWindow_cdrom
         
        # POL_Call POL_Function_NoCDWarning
  
        POL_SetupWindow_check_cdrom "TQ Launcher.dbd"
        POL_Wine start /unix "$CDROM/setup.exe" "/SILENT"
        POL_Wine_WaitExit "setup.exe"
     
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
        
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
 
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
        # POL_SetupWindow_message "$(eval_gettext 'Note: this script can only download the demo.')" "$TITLE"
        POL_Download "http://biomediaproject.com/bmp/files/gms/tlomn/Launcher/setuprebuilt.exe"
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
 
        POL_Wine "setuprebuilt.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        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 "l.exe" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        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 '.EXE')~$(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" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_QuietDebug "$TITLE"

        # POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
     
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 (otherwise: unzip error 9).')" "$TITLE"

        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        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" "" "" "$SOFTWARE_CATEGORIES"

        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
                  
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" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
    
################
# Patch update #
################

# POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?\n (to download by yourself).')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"

if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
 
# POL_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 11 January 2020 at 12:00
Dadu042

Warning

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

Differences

@@ -13,12 +13,12 @@
 #
 # CHANGELOG
 # [Dadu042] (2020-01-11)
-#   Initial script (Wine 4.0.3).
+#   Initial script (Wine 5.0-rc3).
 #
 # KNOWN ISSUES:
 #  - Wine amd64 4.0.3, 4.21, 3.0.3: the main menu does appear but frozen (and no sound/music nor videos). Tried: vcrun6, GLSL off, dinput8. Fix: Wine 5.0-rc3 (Quartz?  xact?)
 #  - Wine amd64 4.0.3, 5.0-rc3: no sound/music nor videos. Tried: dsound, amstream, directmusic.
-#  - Wine amd64 5.0-rc3: unhandled exceptions when exiting the game. Tried: vcrun6, amstream.
+#  - Wine amd64 5.0-rc3: unhandled exceptions when exiting the game. Tried: vcrun6, amstream. Quartz seems to help but makes troubles (freeze) in the game.
 #
 # KNOWN ISSUES (FIXED):
 #  - Wine amd64 3.0.3: no sound nor music. Tried: alsa, xact. Fix: dsound (it seems to do the same job as Directmusic).
@@ -154,8 +154,9 @@
         POL_Wine "setuprebuilt.exe" # "/SILENT"
         POL_Wine_WaitBefore "$TITLE"
         POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
-     
-        # Restore screen resolution (game's default is 1024x768 ?)
+        POL_Shortcut_QuietDebug "$TITLE"
+        
+	# Restore screen resolution (game's default is 1024x768 ?)
         POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
      
         # POL_Shortcut "l.exe" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
@@ -178,6 +179,8 @@
         POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
       
         POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
+	POL_Shortcut_QuietDebug "$TITLE"
+
         # POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
      
 elif [ "$APP_ANSWER" == "$(eval_gettext '.ZIP')" ]; then

New source code

#!/bin/bash
# Date : (2020-01-11)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : XUbuntu 18.04 x64
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: REBUILT Build (Oct 26 2019) - v1.0.1 (in versionop.txt) .
#
# Middlewares used by this software : Bink, DirectX 8.
#
# CHANGELOG
# [Dadu042] (2020-01-11)
#   Initial script (Wine 5.0-rc3).
#
# KNOWN ISSUES:
#  - Wine amd64 4.0.3, 4.21, 3.0.3: the main menu does appear but frozen (and no sound/music nor videos). Tried: vcrun6, GLSL off, dinput8. Fix: Wine 5.0-rc3 (Quartz?  xact?)
#  - Wine amd64 4.0.3, 5.0-rc3: no sound/music nor videos. Tried: dsound, amstream, directmusic.
#  - Wine amd64 5.0-rc3: unhandled exceptions when exiting the game. Tried: vcrun6, amstream. Quartz seems to help but makes troubles (freeze) in the game.
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: no sound nor music. Tried: alsa, xact. Fix: dsound (it seems to do the same job as Directmusic).


[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
         
TITLE="Lego Bionicle: The Legend of Mata Nui"
PREFIX="lego_bionicle_legend_mata_nui"
EDITOR=""
GAME_URL="https://en.wikipedia.org/wiki/Lego_Bionicle:_The_Legend_of_Mata_Nui"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="LEGOBionicle.exe"
SOFTWARE_CATEGORIES="Game;ActionGame;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="Readme.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.4" || 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 "5.0-rc3"

POL_System_TmpCreate "$PREFIX"

Set_OS "winxp"
    
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_amstream

# POL_Call POL_Install_dotnet40
# POL_Call POL_Install_mfc42
# POL_Call POL_Install_dsound
# POL_Call POL_Install_riched30
# POL_Call POL_Install_phzysx
# POL_Call POL_Install_corefonts
# POL_Call POL_Install_d3dx11
# POL_Call POL_Install_mono210
    
    
################
#      GPU     #
################
 
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
 
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
  
# 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 "LOCAL"
 
# POL_SetupWindow_message "Warning: do not install DirectX." "$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" == "DVD" ]; then
        POL_SetupWindow_cdrom
         
        # POL_Call POL_Function_NoCDWarning
  
        POL_SetupWindow_check_cdrom "TQ Launcher.dbd"
        POL_Wine start /unix "$CDROM/setup.exe" "/SILENT"
        POL_Wine_WaitExit "setup.exe"
     
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
        
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
 
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
        # POL_SetupWindow_message "$(eval_gettext 'Note: this script can only download the demo.')" "$TITLE"
        POL_Download "http://biomediaproject.com/bmp/files/gms/tlomn/Launcher/setuprebuilt.exe"
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
 
        POL_Wine "setuprebuilt.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        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 "l.exe" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        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 '.EXE')~$(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" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_QuietDebug "$TITLE"

        # POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
     
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 (otherwise: unzip error 9).')" "$TITLE"

        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        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" "" "" "$SOFTWARE_CATEGORIES"

        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
                  
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" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
    
################
# Patch update #
################

# POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?\n (to download by yourself).')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"

if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
 
# POL_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 11 January 2020 at 11:49
Dadu042

Warning

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

Differences

@@ -0,0 +1,230 @@
+#!/bin/bash
+# Date : (2020-01-11)
+# Last revision : see the changelog below
+# Wine version used : see the changelog below
+# Distribution used to test : XUbuntu 18.04 x64
+# Author : Dadu042
+# Licence : Retail
+# Only For : http://www.playonlinux.com
+#
+# TESTED Editions: REBUILT Build (Oct 26 2019) - v1.0.1 (in versionop.txt) .
+#
+# Middlewares used by this software : Bink, DirectX 8.
+#
+# CHANGELOG
+# [Dadu042] (2020-01-11)
+#   Initial script (Wine 4.0.3).
+#
+# KNOWN ISSUES:
+#  - Wine amd64 4.0.3, 4.21, 3.0.3: the main menu does appear but frozen (and no sound/music nor videos). Tried: vcrun6, GLSL off, dinput8. Fix: Wine 5.0-rc3 (Quartz?  xact?)
+#  - Wine amd64 4.0.3, 5.0-rc3: no sound/music nor videos. Tried: dsound, amstream, directmusic.
+#  - Wine amd64 5.0-rc3: unhandled exceptions when exiting the game. Tried: vcrun6, amstream.
+#
+# KNOWN ISSUES (FIXED):
+#  - Wine amd64 3.0.3: no sound nor music. Tried: alsa, xact. Fix: dsound (it seems to do the same job as Directmusic).
+
+
+[ "$PLAYONLINUX" = "" ] && exit 0
+source "$PLAYONLINUX/lib/sources"
+         
+TITLE="Lego Bionicle: The Legend of Mata Nui"
+PREFIX="lego_bionicle_legend_mata_nui"
+EDITOR=""
+GAME_URL="https://en.wikipedia.org/wiki/Lego_Bionicle:_The_Legend_of_Mata_Nui"
+AUTHOR="Dadu042"
+STEAM_ID=""
+GAME_VMS="64"
+SHORTCUT_FILENAME="LEGOBionicle.exe"
+SOFTWARE_CATEGORIES="Game;ActionGame;"
+# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
+DOCUMENT_FILE="Readme.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.4" || 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 "5.0-rc3"
+
+POL_System_TmpCreate "$PREFIX"
+
+Set_OS "winxp"
+    
+#######################################
+#  Installing mandatory dependencies  #
+#######################################
+
+# POL_Call POL_Install_amstream
+
+# POL_Call POL_Install_dotnet40
+# POL_Call POL_Install_mfc42
+# POL_Call POL_Install_dsound
+# POL_Call POL_Install_riched30
+# POL_Call POL_Install_phzysx
+# POL_Call POL_Install_corefonts
+# POL_Call POL_Install_d3dx11
+# POL_Call POL_Install_mono210
+    
+    
+################
+#      GPU     #
+################
+ 
+# Set Graphic Card information keys for wine
+POL_Wine_SetVideoDriver
+ 
+# Asking about memory size of graphic card
+POL_SetupWindow_VMS $GAME_VMS
+  
+# 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 "LOCAL"
+ 
+# POL_SetupWindow_message "Warning: do not install DirectX." "$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" == "DVD" ]; then
+        POL_SetupWindow_cdrom
+         
+        # POL_Call POL_Function_NoCDWarning
+  
+        POL_SetupWindow_check_cdrom "TQ Launcher.dbd"
+        POL_Wine start /unix "$CDROM/setup.exe" "/SILENT"
+        POL_Wine_WaitExit "setup.exe"
+     
+        # Restore screen resolution (game's default is 800x600 ?)
+        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
+        
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
+        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
+ 
+ 
+elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
+        cd "$WINEPREFIX/drive_c"
+        # POL_SetupWindow_message "$(eval_gettext 'Note: this script can only download the demo.')" "$TITLE"
+        POL_Download "http://biomediaproject.com/bmp/files/gms/tlomn/Launcher/setuprebuilt.exe"
+        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
+ 
+        POL_Wine "setuprebuilt.exe" # "/SILENT"
+        POL_Wine_WaitBefore "$TITLE"
+        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
+     
+        # Restore screen resolution (game's default is 1024x768 ?)
+        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
+     
+        # POL_Shortcut "l.exe" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
+        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 '.EXE')~$(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" "" "" "$SOFTWARE_CATEGORIES"
+        # POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
+     
+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 (otherwise: unzip error 9).')" "$TITLE"
+
+        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
+        SETUP_EXE="$APP_ANSWER"
+        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" "" "" "$SOFTWARE_CATEGORIES"
+
+        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
+                  
+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" "" "" "$SOFTWARE_CATEGORIES"
+fi
+fi
+    
+################
+# Patch update #
+################
+
+# POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?\n (to download by yourself).')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"
+
+if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
+        POL_SetupWindow_browse "$(eval_gettext 'Please select the file to run')" "$TITLE"
+        PATCH_EXE="$APP_ANSWER"
+        POL_Wine start /unix "$PATCH_EXE"
+        POL_Wine_WaitExit "$PATCH_EXE"
+fi
+ 
+# POL_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-01-11)
# Last revision : see the changelog below
# Wine version used : see the changelog below
# Distribution used to test : XUbuntu 18.04 x64
# Author : Dadu042
# Licence : Retail
# Only For : http://www.playonlinux.com
#
# TESTED Editions: REBUILT Build (Oct 26 2019) - v1.0.1 (in versionop.txt) .
#
# Middlewares used by this software : Bink, DirectX 8.
#
# CHANGELOG
# [Dadu042] (2020-01-11)
#   Initial script (Wine 4.0.3).
#
# KNOWN ISSUES:
#  - Wine amd64 4.0.3, 4.21, 3.0.3: the main menu does appear but frozen (and no sound/music nor videos). Tried: vcrun6, GLSL off, dinput8. Fix: Wine 5.0-rc3 (Quartz?  xact?)
#  - Wine amd64 4.0.3, 5.0-rc3: no sound/music nor videos. Tried: dsound, amstream, directmusic.
#  - Wine amd64 5.0-rc3: unhandled exceptions when exiting the game. Tried: vcrun6, amstream.
#
# KNOWN ISSUES (FIXED):
#  - Wine amd64 3.0.3: no sound nor music. Tried: alsa, xact. Fix: dsound (it seems to do the same job as Directmusic).


[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
         
TITLE="Lego Bionicle: The Legend of Mata Nui"
PREFIX="lego_bionicle_legend_mata_nui"
EDITOR=""
GAME_URL="https://en.wikipedia.org/wiki/Lego_Bionicle:_The_Legend_of_Mata_Nui"
AUTHOR="Dadu042"
STEAM_ID=""
GAME_VMS="64"
SHORTCUT_FILENAME="LEGOBionicle.exe"
SOFTWARE_CATEGORIES="Game;ActionGame;"
# http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_9:_Standardization#Advanced_Standardization
DOCUMENT_FILE="Readme.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.4" || 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 "5.0-rc3"

POL_System_TmpCreate "$PREFIX"

Set_OS "winxp"
    
#######################################
#  Installing mandatory dependencies  #
#######################################

# POL_Call POL_Install_amstream

# POL_Call POL_Install_dotnet40
# POL_Call POL_Install_mfc42
# POL_Call POL_Install_dsound
# POL_Call POL_Install_riched30
# POL_Call POL_Install_phzysx
# POL_Call POL_Install_corefonts
# POL_Call POL_Install_d3dx11
# POL_Call POL_Install_mono210
    
    
################
#      GPU     #
################
 
# Set Graphic Card information keys for wine
POL_Wine_SetVideoDriver
 
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
  
# 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 "LOCAL"
 
# POL_SetupWindow_message "Warning: do not install DirectX." "$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" == "DVD" ]; then
        POL_SetupWindow_cdrom
         
        # POL_Call POL_Function_NoCDWarning
  
        POL_SetupWindow_check_cdrom "TQ Launcher.dbd"
        POL_Wine start /unix "$CDROM/setup.exe" "/SILENT"
        POL_Wine_WaitExit "setup.exe"
     
        # Restore screen resolution (game's default is 800x600 ?)
        # POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
        
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
 
 
elif [ "$INSTALL_METHOD" == "DOWNLOAD" ]; then
        cd "$WINEPREFIX/drive_c"
        # POL_SetupWindow_message "$(eval_gettext 'Note: this script can only download the demo.')" "$TITLE"
        POL_Download "http://biomediaproject.com/bmp/files/gms/tlomn/Launcher/setuprebuilt.exe"
        # POL_SetupWindow_message "$(eval_gettext 'Note: we recommend you to uncheck all the checkboxes:\n[x] -> [ ]')" "$TITLE"
 
        POL_Wine "setuprebuilt.exe" # "/SILENT"
        POL_Wine_WaitBefore "$TITLE"
        POL_Shortcut "$SHORTCUT_FILENAME" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
     
        # Restore screen resolution (game's default is 1024x768 ?)
        POL_Shortcut_InsertBeforeWine "$SHORTCUT" "trap 'xrandr -s 0' EXIT"
     
        # POL_Shortcut "l.exe" "$TITLE" "" "" "$SOFTWARE_CATEGORIES"
        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 '.EXE')~$(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" "" "" "$SOFTWARE_CATEGORIES"
        # POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
     
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 (otherwise: unzip error 9).')" "$TITLE"

        POL_SetupWindow_browse "$(eval_gettext 'Please select the .ZIP file')" "$TITLE"
        SETUP_EXE="$APP_ANSWER"
        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" "" "" "$SOFTWARE_CATEGORIES"

        POL_Shortcut_Document "$TITLE" "$DOCUMENT_FILE"
                  
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" "" "" "$SOFTWARE_CATEGORIES"
fi
fi
    
################
# Patch update #
################

# POL_SetupWindow_menu "$(eval_gettext 'Do you want to install a official patch-update ?\n (to download by yourself).')" "$TITLE" "$(eval_gettext 'Yes')~$(eval_gettext 'No')" "~"

if [ "$APP_ANSWER" == "$(eval_gettext 'Yes')" ]; then
        POL_SetupWindow_browse "$(eval_gettext 'Please select the file to run')" "$TITLE"
        PATCH_EXE="$APP_ANSWER"
        POL_Wine start /unix "$PATCH_EXE"
        POL_Wine_WaitExit "$PATCH_EXE"
fi
 
# POL_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

Anonymous
Monday 28 March 2022 at 21:49
Does anyone have this working? I'm running it but it's so incredibly painfully jumpy and slow and glitchy that it's entirely unplayable

This site allows content generated by members, and we promptly remove any content that infringes copyright according to our Terms of Service. To report copyright infringement, please send a notice to dmca-notice@playonlinux.com