Forums

Age of Wonders III: Shadow Magic (GoG)

Auteur Réponses
petch Lundi 12 Décembre 2011 à 0:53
petch

Bonsoir à tous, c'est l'heure d'un nouveau script ;)
Cette fois j'ai écris un script pour Age of Wonders: Shadow Magic.
L'astuce pour lui donner du répondant, c'est de baisser la priorité de wineserver (!)
Mis à part cela, rien de vraiment spécial...
Bon jeu !
https://raw.github.com/petchema/playonlinux/master/ageofwonders3-shadowmagic-gog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#!/bin/bash
# Date : (2012-12-11 20-52)
# Last revision : (2011-12-12 00-45)
# Wine version used : 1.3.34
# Distribution used to test : Debian Sid (Unstable)
# Author : Pierre Etchemaite petchema@concept-micro.com
# Script licence : GPL v.2
# Program licence : Retail
# Depend :
 
[ -z "$PLAYONLINUX" ] && exit 0
source "$PLAYONLINUX/lib/sources"
 
check_install_archive () {
    FILE="$1"
    EXPECTED_NAME="$2"
    EXPECTED_SIZE="$3"
    EXPECTED_MD5="$4"
 
    POL_SetupWindow_wait "$(eval_gettext 'Checking install archive...')" "$TITLE"
    # Temporarily prevent word splitting
    OLDIFS="$IFS"
    IFS=''
    NAME="$(basename $FILE)"
    SIZE="$(stat -c%s $FILE)"
    MD5="$(POL_MD5_file $FILE)"
    IFS="$OLDIFS"
 
    if [ $SIZE -ne $EXPECTED_SIZE -o "$MD5" != "$EXPECTED_MD5" ]; then
        POL_Debug_Error "$(eval_gettext 'Install archive mismatch.\\nEither your install archive is corrupted, or is not the expected version.\\nThis script cannot guarantee that installation will work correctly. Please report success or failure to PlayOnLinux forums.')\\n$(eval_gettext 'Name:') $NAME ($(eval_gettext 'expected') $EXPECTED_NAME)\\n$(eval_gettext 'Size:') $SIZE ($(eval_gettext 'expected') $EXPECTED_SIZE)\\n$(eval_gettext 'MD5:') $MD5\\n     ($(eval_gettext 'expected') $EXPECTED_MD5)"
        POL_SetupWindow_question "$(eval_gettext 'Continue?')" "$TITLE"
        [ "$APP_ANSWER" != "TRUE" ] && POL_Debug_Fatal "$(eval_gettext 'Not the expected archive')"
    fi
}
 
 
PREFIX="AgeOfWonders3_gog"
WORKING_WINE_VERSION="1.3.34"
 
TITLE="$(eval_gettext 'Age of Wonders III: Shadow Magic (GoG release)')"
SHORTCUT_NAME="Age of Wonders: Shadow Magic"
SHORTCUT_EDITOR="$SHORTCUT_NAME - $(eval_gettext 'Editor')"
SHORTCUT_DOC="$SHORTCUT_NAME - $(eval_gettext 'Quickplay Guide')"
SHORTCUT_README="$SHORTCUT_NAME - $(eval_gettext 'Readme')"
 
POL_SetupWindow_Init
POL_Debug_Init
 
POL_SetupWindow_presentation "$TITLE" "Triumph Studios" "http://www.gog.com/en/gamecard/age_of_wonders_shadow_magic" "Pierre Etchemaite" "$PREFIX"
 
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"
 
cd $HOME
POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE"
ARCHIVE="$APP_ANSWER"
 
check_install_archive "$ARCHIVE" setup_age_of_wonders_shadow_magic.exe 538389298 85786a3a6872896adc1720536a626f05
 
 
POL_SetupWindow_wait "$(eval_gettext 'Please wait while $TITLE is installed.')" "$TITLE"
 
# Associate .PDF with native app
# http://wiki.winehq.org/FAQ#head-91bf3f0a8ccbfab8dee96f82fae2f1a489e0d243
# Do it before installing the game, so you have the possibility to open
# PDFs with Win32 reader if you choose to install it
cat <<'_EOF_' > $REPERTOIRE/tmp/pdfnativereader.reg
[HKEY_CLASSES_ROOT\\.pdf]
@="PDFfile"
"Content Type"="application/pdf"
[HKEY_CLASSES_ROOT\\PDFfile\\Shell\\Open\\command]
@="winebrowser \\"%1\\""
_EOF_
POL_Wine regedit $REPERTOIRE/tmp/pdfnativereader.reg
 
POL_Wine start /unix "$ARCHIVE" || POL_Debug_Fatal "$(eval_gettext 'Error while installing archive')"
 
POL_Wine_WaitExit "$TITLE"
 
POL_Call POL_Install_directplay
 
 
# GoG work!
Set_OS winxp
 
POL_SetupWindow_VMS "16"
 
## PlayOnMac Section
[ -n "$PLAYONMAC" ] && Set_SoundDriver "alsa"
[ -n "$PLAYONMAC" ] || Set_Managed "Off"
## End Section
 
# Direct3D: off; Cursor: colors
cat <<_EOFINI_ > "$REPERTOIRE/tmp/aow3_video.reg"
REGEDIT4
 
[HKEY_CURRENT_USER\\Software\\Triumph Studios\\Age of Wonders Shadow Magic\\Video]
"Cursor Mode"=dword:00000002
"Use Direct3D"=dword:00000000
_EOFINI_
POL_Wine regedit "$REPERTOIRE/tmp/aow3_video.reg"
rm "$REPERTOIRE/tmp/aow3_video.reg"
 
# Doesn't hurt ;)
POL_Wine_reboot
 
POL_Shortcut "AoWSM.exe" "$SHORTCUT_NAME"
# Now the trick: Shadow magic needs a "slow" wineserver to be responsive!
POL_Shortcut_InsertBeforeWine "$SHORTCUT_NAME" "POL_Wine_AutoSetVersionEnv\\nwineserver -k\\nnice -19 wineserver"
 
POL_Shortcut "AoWSMEd.exe" "$SHORTCUT_EDITOR"
POL_Shortcut "start.exe" "$SHORTCUT_DOC" "" "'C:/$PROGRAMFILES/GOG.com/Age of Wonders Shadow Magic/QuickStart.pdf'"
POL_Shortcut "start.exe" "$SHORTCUT_README" "" "'C:/$PROGRAMFILES/GOG.com/Age of Wonders Shadow Magic/Readme.html'"
 
POL_SetupWindow_Close
 
cat <<_EOF_ > "$REPERTOIRE/configurations/configurators/$SHORTCUT_NAME"
#!/bin/bash
[ -z "\\$PLAYONLINUX" ] && exit 0
source "\\$PLAYONLINUX/lib/sources"
export WINEPREFIX="$REPERTOIRE/wineprefix/$PREFIX"
export WINEDEBUG=""
 
POL_LoadVar_PROGRAMFILES
 
cd "\\$WINEPREFIX/drive_c/\\$PROGRAMFILES/GOG.com/Age of Wonders Shadow Magic/" || exit 1
 
POL_Wine AoWSMSetup.exe
 
_EOF_
 
exit

Edité par petch

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@playonlinux.com