The forum
[Script] Chessmaster: Grandmaster Edition
The final installment of the best-selling chess series of all time
Author | Replies |
Justinian | Tuesday 7 July 2015 at 18:15 |
Justinian![]()
|
Description of the programChessmaster: Grandmaster Edition is the final installment of the Chessmaster series, which is the best-selling chess software in history. Workarounds usedOn Windows, the user browses Chessmaster's collections of tutorials by using navigation buttons. However, most of these buttons are broken in Wine (see https://appdb.winehq.org/objectManager.php?sClass=version&iId=10198). I have tested my scripts with Wine versions of 1.6.2, 1.7.45 and 1.9.0, and I have tested both the x86 and x64 architectures, but the buttons remain broken. To work around this (at least until the issue is fixed in Wine), it is necessary to ensure that all tutorials are accessible from the front pages of their respective sections, so that users never need to use the navigation buttons. This is achieved in the installation script by:
Known issues
ScreenshotsPlaying a game
Chess puzzles
Browsing the tutorials, after installing the game using an old version of the installation script. That old version of the script did not contain the workaround for the tutorial browsing issue. The navigation buttons on the sidebar (e.g. "Arsenal", "Strategy", etc.) do not function correctly, so most of the tutorials were inaccessible.
Browsing the tutorials, after installing the game using a newer version of the installation script. This newer version of the script contains the workaround for the tutorial browsing issue (hence why the contents of "Arsenal", "Strategy", etc. are appearing even when their respective buttons are not selected). Questions
ScriptsChessmaster: Grandmaster Edition#!/usr/bin/env playonlinux-bash # Date : (2015-07-07 13-33) # Last revision : (2016-01-03 10-09) # Wine version used : 1.6.2 (amd64) # Distribution used to test : Linux Mint 17.2 KDE 64-bit # Author : Justinian [ "$PLAYONLINUX" = "" ] && exit 0 source "$PLAYONLINUX/lib/sources" TITLE="Chessmaster: Grandmaster Edition" PREFIX="ChessmasterGrandmasterEdition" NEEDED=4.2.0 POL_SetupWindow_Init POL_AdvisedVersion $NEEDED || POL_Debug_Message "$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update" POL_Debug_Init POL_SetupWindow_presentation "$TITLE" "Ubisoft" "http://www.ubi.com/" "Justinian" "$PREFIX" # I had to split the following text into two seperate messages, # as it would otherwise not fit in the window when displayed. # I could have saved an extra line by replacing "Workaround:\n" with "Workaround: ", # and that would have allowed the text to barely fit within the window. # However, it is likely that the length of the text will change when translated to other languages, # and would therefore not fit in the window for certain languages. POL_SetupWindow_message "$(eval_gettext 'Known issues and workarounds:\n\n==== ISSUE 1 ====\nThe Ubisoft installation window sometimes stops responding during the installation.\n\nWorkaround:\nIf the Ubisoft installation window stops responding, then use $APPLICATION_TITLE to select "Tools" -> "Close all $APPLICATION_TITLE software". Then restart the installation.')" "$TITLE" POL_SetupWindow_message "$(eval_gettext 'Known issues and workarounds:\n\n==== ISSUE 2 ====\nWhen browsing the tutorials in $TITLE, the navigation buttons to the left of the tutorials do not work.\n\nWorkaround:\nDuring the installation, $APPLICATION_TITLE will automatically patch $TITLE so that all tutorials can be accessed without using the broken navigation buttons. The navigation buttons will still be broken, but you will have no need to use them.')" "$TITLE" POL_SetupWindow_message "$(eval_gettext 'Please insert the game media into your disk drive.')" "$TITLE" POL_SetupWindow_cdrom POL_SetupWindow_check_cdrom "Chessmaster Grandmaster Edition En/Chessmaster Grandmaster Edition.msi" POL_Wine_SelectPrefix "$PREFIX" # Chessmaster Grandmaster Edition's chess engine is available as both 32-bit and 64-bit executables. # Presumably, the 64-bit executable should offer better performance. # As such, PlayOnLinux should use a 64-bit Wine prefix if possible. POL_System_SetArch "auto" POL_Wine_PrefixCreate POL_Wine start /unix "$CDROM/Autorun.exe" POL_Wine_WaitExit "$TITLE" POL_SetupWindow_wait "$(eval_gettext 'Please wait while $TITLE is installed.')" "$TITLE" POL_Shortcut "gu.exe" "Chessmaster Grandmaster Edition" "" "" "Game;BoardGame;KidsGame" POL_Shortcut_Document "Chessmaster Grandmaster Edition" "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Chessmaster® Grandmaster Edition Manual.pdf" POL_System_TmpCreate "$PREFIX" # Temporarily rename tutorials with identical names, # so that they do not conflict when copied into the same folder. mv "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Arsenal/Mastery Quiz.tut" "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Arsenal/Arsenal - Mastery Quiz.tut" mv "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Strategy/Mastery Quiz.tut" "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Strategy/Strategy - Mastery Quiz.tut" # Copy all tutorials into folders that are accessible without # using Chessmaster: Grandmaster Edition's navigation buttons # (since these buttons are broken in Wine). cp -r "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/Intermediate/bruce diagnostic/." "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/Intermediate/Tutorials/" cp -r "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/Intermediate/Endgame Quiz/." "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/Intermediate/Tutorials/" cp -r "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/Advanced/Puzzles/." "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/Advanced/Match the masters/" cp -r "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Arsenal/." "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Intro/" cp -r "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Art of Learning/." "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Intro/" cp -r "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Strategy/." "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Intro/" # Change the names of the original tutorial files back to their original names. mv "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Arsenal/Arsenal - Mastery Quiz.tut" "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Arsenal/Mastery Quiz.tut" mv "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Strategy/Strategy - Mastery Quiz.tut" "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/Tutorials/josh academy/Josh Strategy/Mastery Quiz.tut" # The "Curriculum.dat" file tells Chessmaster: Grandmaster Edition where its tutorial files are located. # Since we have copied many of the tutorial files into new locations, # we need to patch the default "Curriculum.dat" file to recognise these new locations. # Furthermore, it would be nice to keep a backup of the existing "Curriculum.dat" file. mv "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/TData/Curriculum.dat" "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/TData/Curriculum.dat.old" cp "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/TData/Curriculum.dat.old" "$POL_System_TmpDir/Curriculum.dat.old" cd "$POL_System_TmpDir" # Extract lines that need to be converted into headers from "Curriculum.dat.old". sed -n 14p Curriculum.dat.old > headers1.txt # Beginning -> Tutorials sed -n 158p Curriculum.dat.old >> headers1.txt # Beginning -> Drills sed -n 214p Curriculum.dat.old >> headers1.txt # Intermediate -> Tutorials sed -n 256p Curriculum.dat.old >> headers1.txt # Intermediate -> Drills sed -n 301p Curriculum.dat.old >> headers1.txt # Intermediate -> Larry Evans' Endgame Quiz sed -n 270p Curriculum.dat.old >> headers1.txt # Intermediate -> Rating Exam sed -n 306p Curriculum.dat.old >> headers1.txt # Advanced -> Match the Masters sed -n 379p Curriculum.dat.old >> headers1.txt # Advanced -> Drills sed -n 321p Curriculum.dat.old >> headers1.txt # Advanced -> Nunn's Puzzles sed -n 399p Curriculum.dat.old >> headers1.txt # Kids -> Tutorials sed -n 542p Curriculum.dat.old >> headers1.txt # Kids -> Drills sed -n 598p Curriculum.dat.old >> headers1.txt # Kids -> Josh Games sed -n 699p Curriculum.dat.old >> headers1.txt # Josh Waitzkin's Academy -> Introduction sed -n 728p Curriculum.dat.old >> headers1.txt # Josh Waitzkin's Academy -> Arsenal sed -n 742p Curriculum.dat.old >> headers1.txt # Josh Waitzkin's Academy -> Strategy sed -n 804p Curriculum.dat.old >> headers1.txt # Josh Waitzkin's Academy -> The Art of Learning sed -n 855p Curriculum.dat.old >> headers1.txt # Josh Waitzkin's Academy -> Endgame Course sed -n 756p Curriculum.dat.old >> headers1.txt # Josh Waitzkin's Academy -> Psychology of Competition sed -n 788p Curriculum.dat.old >> headers1.txt # Josh Waitzkin's Academy -> Annotated Games sed -n 892p Curriculum.dat.old >> headers1.txt # Larry Christiansen Attacking Chess -> Attacking Chess sed -n 908p Curriculum.dat.old >> headers1.txt # Larry Christiansen Attacking Chess -> Christiansen vs Chessmaster # Convert the extracted lines into headers, by adding the appropriate suffix to each line. sed 's/\r/,HEADER,0\r/' headers1.txt > headers2.txt # Indent the headers appropriately. sed 's/^/\t/' headers2.txt > headers.txt # At various points during the construction of the new "Curriculum.dat" file, # it will be necessary to add the following strings: # "\t{\r\n", "\t}\r\n" and "\t}\r\n\t\r\n". # Rather than repeatedly reconstructing these strings, # it is better to construct them once, store them in files and reuse them. cat << EOF >> open1.txt { EOF sed 's/$/\r/' open1.txt > open.txt cat << EOF >> close1.txt } EOF sed 's/$/\r/' close1.txt > close.txt cat << EOF >> close_line1.txt } EOF sed 's/$/\r/' close_line1.txt > close_line.txt # Construct the new "Curriculum.dat" file. # # Sections of "Curriculum.dat.old" that do not need to be modified can be copied as is, # using a single sed command. # # However, each section that needs to be modified requires a block of 5 commands. # These command blocks are structured as follows: # "sed" to get the appropriate header line from "headers.txt" # "cat" to get an opening brace from "open.txt" # "sed" to get the content for the current block from "Curriculum.dat.old" # "sed" to indent the content obtained in the previous step (sometimes this requires 1 tab, other times it requires 2 tabs) # "cat" to get a closing brace (either from "close.txt" or "close_line.txt", depending on whether a trailing newline is required) sed -n 1,15p Curriculum.dat.old > Curriculum.dat # Beginning -> Tutorials sed -n 1p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 17,154p Curriculum.dat.old > B-T.txt sed 's/^/\t\t/' B-T.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Beginning -> Drills sed -n 2p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 160,211p Curriculum.dat.old > B-D.txt sed 's/^/\t/' B-D.txt >> Curriculum.dat cat close.txt >> Curriculum.dat sed -n 156,215p Curriculum.dat.old >> Curriculum.dat # Intermediate -> Tutorials sed -n 3p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 217,247p Curriculum.dat.old > I-T.txt sed 's/^/\t\t/' I-T.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Intermediate -> Drills sed -n 4p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 258,267p Curriculum.dat.old > I-D.txt sed 's/^/\t/' I-D.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Intermediate -> Larry Evans' Endgame Quiz sed -n 5p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 303p Curriculum.dat.old > I-L.txt sed 's/^/\t/' I-L.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Intermediate -> Rating Exam sed -n 6p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 272,298p Curriculum.dat.old > I-R.txt sed 's/^/\t/' I-R.txt >> Curriculum.dat cat close.txt >> Curriculum.dat sed -n 249,307p Curriculum.dat.old >> Curriculum.dat # Advanced -> Match the Masters sed -n 7p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 308,318p Curriculum.dat.old > A-M.txt sed 's/^/\t/' A-M.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Advanced -> Drills sed -n 8p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 381,396p Curriculum.dat.old > A-D.txt sed 's/^/\t/' A-D.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Advanced -> Nunn's Puzzles sed -n 9p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 323,376p Curriculum.dat.old > A-N.txt sed 's/^/\t/' A-N.txt >> Curriculum.dat cat close.txt >> Curriculum.dat sed -n 319,400p Curriculum.dat.old >> Curriculum.dat # Kids -> Tutorials sed -n 10p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 401,538p Curriculum.dat.old > K-T.txt sed 's/^/\t\t/' K-T.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Kids -> Drills sed -n 11p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 544,595p Curriculum.dat.old > K-D.txt sed 's/^/\t/' K-D.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Kids -> Josh Games sed -n 12p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 600,611p Curriculum.dat.old > K-J.txt sed 's/^/\t/' K-J.txt >> Curriculum.dat cat close.txt >> Curriculum.dat sed -n 540,700p Curriculum.dat.old >> Curriculum.dat # Josh Waitzkin's Academy -> Introduction sed -n 13p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 701,722p Curriculum.dat.old > J-I.txt sed 's/^/\t/' J-I.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # "Josh Waitzkin's Academy -> Arsenal" and "Josh Waitzkin's Academy -> Strategy" present special cases. # Earlier in the script, tutorials from these categories were renamed, # so that their filenames did not conflict when the files were copied into the same folder. # As such, the "Curriculum.dat" file needs to be modified to recognise the new filenames. # Josh Waitzkin's Academy -> Arsenal sed -n 14p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 730,737p Curriculum.dat.old > J-A.txt sed -n 738p Curriculum.dat.old > J-A_tmp.txt sed 's/\t/\tArsenal - /' J-A_tmp.txt >> J-A.txt sed -n 739p Curriculum.dat.old >> J-A.txt sed 's/^/\t/' J-A.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Josh Waitzkin's Academy -> Strategy sed -n 15p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 744,751p Curriculum.dat.old > J-S.txt sed -n 752p Curriculum.dat.old > J-S_tmp.txt sed 's/\t/\tStrategy - /' J-S_tmp.txt >> J-S.txt sed -n 753p Curriculum.dat.old >> J-S.txt sed 's/^/\t/' J-S.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Josh Waitzkin's Academy -> The Art of Learning sed -n 16p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 806,852p Curriculum.dat.old > J-T.txt sed 's/^/\t/' J-T.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Josh Waitzkin's Academy -> Endgame Course sed -n 17p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 857,889p Curriculum.dat.old > J-E.txt sed 's/^/\t/' J-E.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Josh Waitzkin's Academy -> Psychology of Competition sed -n 18p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 758,785p Curriculum.dat.old > J-P.txt sed 's/^/\t/' J-P.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Josh Waitzkin's Academy -> Annotated Games sed -n 19p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 790,801p Curriculum.dat.old > J-G.txt sed 's/^/\t/' J-G.txt >> Curriculum.dat cat close.txt >> Curriculum.dat sed -n 723,893p Curriculum.dat.old >> Curriculum.dat # Larry Christiansen Attacking Chess -> Attacking Chess sed -n 20p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 894,904p Curriculum.dat.old > L-A.txt sed 's/^/\t/' L-A.txt >> Curriculum.dat cat close_line.txt >> Curriculum.dat # Larry Christiansen Attacking Chess -> Christiansen vs Chessmaster sed -n 21p headers.txt >> Curriculum.dat cat open.txt >> Curriculum.dat sed -n 910,916p Curriculum.dat.old > L-C.txt sed 's/^/\t/' L-C.txt >> Curriculum.dat cat close.txt >> Curriculum.dat sed -n 906,918p Curriculum.dat.old >> Curriculum.dat # Copy the new "Curriculum.dat" file to the appropriate location. cp "$POL_System_TmpDir/Curriculum.dat" "$WINEPREFIX/drive_c/$PROGRAMFILES/Ubisoft/Chessmaster Grandmaster Edition/Data/TData/Curriculum.dat" POL_System_TmpDelete POL_SetupWindow_Close exit
Chessmaster: Grandmaster Edition - Patch 1.01#!/usr/bin/env playonlinux-bash # Date : (2015-06-15 10-21) # Last revision : (2016-01-09 08-50) # Wine version used : 1.6.2 (amd64) # Distribution used to test : Linux Mint 17.2 KDE 64-bit # Author : Justinian [ "$PLAYONLINUX" = "" ] && exit 0 source "$PLAYONLINUX/lib/sources" TITLE_REQUIRED="Chessmaster: Grandmaster Edition" TITLE="Chessmaster: Grandmaster Edition - Patch 1.01" PREFIX="ChessmasterGrandmasterEdition" POL_SetupWindow_Init POL_Debug_Init POL_SetupWindow_presentation "$TITLE" "Ubisoft" "http://www.ubi.com/" "Justinian" "$PREFIX" if [ "$(POL_Wine_PrefixExists "$PREFIX")" = "True" ] then POL_System_TmpCreate "$PREFIX" POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD" if [ "$INSTALL_METHOD" = "LOCAL" ] then POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE" INSTALLER="$APP_ANSWER" elif [ "$INSTALL_METHOD" = "DOWNLOAD" ] then cd "$POL_System_TmpDir" POL_Download "http://patches.ubi.com/chessmaster_xi/chessmaster_xi_1.01.exe" "dd2346ae560ad2fa3b03704d638f812b" INSTALLER="$POL_System_TmpDir/chessmaster_xi_1.01.exe" fi POL_Wine_SelectPrefix "$PREFIX" POL_Wine_WaitBefore "$TITLE" POL_Wine "$INSTALLER" POL_System_TmpDelete else POL_Debug_Fatal "$(eval_gettext 'This is an installer for an update or an addon;\nPlease install $TITLE_REQUIRED first')" fi POL_SetupWindow_Close exit
Chessmaster: Grandmaster Edition - Patch 1.02#!/usr/bin/env playonlinux-bash # Date : (2015-06-15 10-21) # Last revision : (2016-01-09 08-55) # Wine version used : 1.6.2 (amd64) # Distribution used to test : Linux Mint 17.2 KDE 64-bit # Author : Justinian [ "$PLAYONLINUX" = "" ] && exit 0 source "$PLAYONLINUX/lib/sources" TITLE_REQUIRED="Chessmaster: Grandmaster Edition" TITLE="Chessmaster: Grandmaster Edition - Patch 1.02" PREFIX="ChessmasterGrandmasterEdition" POL_SetupWindow_Init POL_Debug_Init POL_SetupWindow_presentation "$TITLE" "Ubisoft" "http://www.ubi.com/" "Justinian" "$PREFIX" if [ "$(POL_Wine_PrefixExists "$PREFIX")" = "True" ] then POL_System_TmpCreate "$PREFIX" POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD" if [ "$INSTALL_METHOD" = "LOCAL" ] then POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE" INSTALLER="$APP_ANSWER" elif [ "$INSTALL_METHOD" = "DOWNLOAD" ] then cd "$POL_System_TmpDir" POL_Download "http://patches.ubi.com/chessmaster_xi/chessmaster_xi_1.02.exe" "1e66273ad3b5f4eabb90055b8e7a3cd4" INSTALLER="$POL_System_TmpDir/chessmaster_xi_1.02.exe" fi POL_Wine_SelectPrefix "$PREFIX" POL_Wine_WaitBefore "$TITLE" POL_Wine "$INSTALLER" POL_System_TmpDelete else POL_Debug_Fatal "$(eval_gettext 'This is an installer for an update or an addon;\nPlease install $TITLE_REQUIRED first')" fi POL_SetupWindow_Close exit
|
MTres19 | Friday 10 July 2015 at 17:21 |
MTres19![]()
|
I'm no expert, but some of the buttons in QuickTime Player were broken until I added POL_Call POL_Install_ie8 to my script. You might also try some of the POL_Install_msxml* function scripts.
As for pictures, you'll have to upload them to a file hosting website, like Google Drive, then get an exact path to the URL of your image. There's a tutorial here: https://support.google.com/drive/answer/2881970?hl=en. Paste the URL you end up with in step 7 of the tutorial into a browser. You'll be redirected, then you'll see your image. Copy the URL you now see in your browser. Then click the button with an icon that looks like a picture in the editing toolbar for the text box on this forum. Enter the URL you copied into the "URL" field, and in a moment you should see a preview of your picture. That's how I've done it, anyway. Dropbox might make it easier, but I don't know for sure. Hope that's some help. -Matthew
PS: I'm definitely not a staff member, so I can't say whether you should submit it to the "Supported software" section yet. |
petch | Friday 10 July 2015 at 20:08 |
petch![]()
|
Hi Justinian,
That's ok, as long as we tell what script(s) we're talking about when there's some ambiguity, we should be able to understand each other ;)
Personally, if the game is barely usable without that patch, I'm for including it into the main script. Maybe we'll want to leave the choice to use the patch to the user, in case there's an issue related to the patch, or some new version of Wine fixes the issue in the first place; Like at very least keep a backup of the original file around?
The issue here is that the content of the original .dat must be copyrighted, and I doubt it's mentionned anywhere whether it can be redistributed; One should probably assume it's not. Could the editing be automated, say with sed or perl?
And now the script reviews,
Older versions of PlayOnLinux/PlayOnMac required a full path here (relative to drive_c subdirectory, at least), but it seems that even the now popular 4.2.5 finds the file correctly, so I guess that's now ok POL_SetupWindow_message "$(eval_gettext '$TITLE has been successfully installed.')" "$TITLE" Ending success message are deprecated, because the script can still reach the end while triggering non-fatal errors, so such messages can be more confusing than anything.
You can use POL_Wine_WaitBefore "$TITLE" instead, that's one less translated message in the script (it displays a standard wait message)
You forgot the translation support on this (long) message
I don't think there's any simpler way to include images, allowing to upload images to the server is prone to abuse, specially without any anti deep linking mechanism, and I don't know if this editor has any such thing... Regards, Pierre. My scripts wiki: https://github.com/petchema/playonlinux/wiki GOGmix: https://www.gog.com/en/mix/playonlinux_install_scripts |
Justinian | Wednesday 29 July 2015 at 22:27 |
Justinian![]()
|
Sorry for taking so long to respond to the feedback. I have uploaded new versions of my scripts, with the following changes:
Quoted from MTres19: I'm no expert, but some of the buttons in QuickTime Player were broken until I added Neither POL_Install_msxml3 nor POL_Install_ie8 make a difference.
Quoted from MTres19: As for pictures, you'll have to upload them to a file hosting website, like Google Drive, then get an exact path to the URL of your image. That solves my issue. I was under the impression (based on Ronin DUSETTE's post here) that all you had to do was copy the images directly into the post editor. It seemed unusually convenient, yet it appeared to work - at least within the editor. Only after I submitted my post did the images go missing. Anyway, I have now uploaded all the appropriate images to Dropbox.
Quoted from petch: The issue here is that the content of the original .dat must be copyrighted, and I doubt it's mentionned anywhere whether it can be redistributed; One should probably assume it's not. I doubt that Ubisoft would complain about the "Curriculum.dat" file being redistributed. All it contains is an index of the game's tutorial files - it does not contain the tutorials themselves, or any other valuable data. Nonetheless, I understand if PlayOnLinux does not want to host copyrighted files. I have modified the "Chessmaster: Grandmaster Edition - Tutorial Patch" script to download the "Curriculum.dat" file from my personal Dropbox - is this acceptable? If it is, I will merge the Tutorial Patch into the main script (as suggested by petch). If not, I can scrap the Tutorial Patch altogether, seeing as everything other than the tutorials will still function without it.
Quoted from petch: Could the editing be automated, say with sed or perl? Maybe, but it would take a lot of work.
EDIT (2015-07-30): Now that I think about it, I could find the areas that need to be copied by counting line numbers, instead of searching for strings. That would solve the legal issue. Edited by Justinian |
Justinian | Saturday 9 January 2016 at 10:44 |
Justinian![]()
|
Once again, I am sorry for neglecting these scripts for so long. I have not had time to work on them again until recently. Anyway, I have now automated the process of modifying the "Curriculum.dat" file (using cat and sed commands). This solves the legal issues related to the redistribution of the "Curriculum.dat" file. Furthermore, I have merged the tutorial patch into the main script. Are there any further issues that I should address? Edited by Justinian |
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