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
Screenshots
Playing 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 dmcayonlinux.com









