Forum

Wizardry 8 (GoG)

Författare Svar
Xodetaetl Thursday 23 May 2013 at 20:23
XodetaetlAnonymous

Wizardry 8, rpg old-school réputé outre-atlantique et jamais sorti en France, vient d'être ajouté sur gog.com.
Voilà de quoi l'installer. :)

Le jeu crash quand on le quitte. De temps en temps ça signifie retour au bureau en 640x480...

#!/bin/bash
# Date : (2013-05-23 18-00)
# Last revision : (2013-05-23 18-00)
# Wine version used : 1.4.1
# Distribution used to test : Xubuntu 13.04
# Author : Pascal Reinhard dev@ovocean.com
# Script licence : GPL v.2
# Program licence : Retail
# Depend :

[ -z "$PLAYONLINUX" ] && exit 0
source "$PLAYONLINUX/lib/sources"

GOGID="wizardry_8"
PREFIX="Wizardry8_gog"
WORKING_WINE_VERSION="1.4.1"

TITLE="GOG.com - Wizardry 8"
SHORTCUT_NAME="Wizardry 8"
SHORTCUT_NAME_2="Wizardry 8 - Display settings"

POL_GetSetupImages "http://files.playonlinux.com/resources/setups/$PREFIX/top.jpg" "http://files.playonlinux.com/resources/setups/$PREFIX/left.jpg" "$TITLE"

POL_SetupWindow_Init
POL_SetupWindow_SetID 1710
POL_Debug_Init

POL_SetupWindow_presentation "$TITLE" "Sir-Tech Software / Gamepot Inc." "http://www.gog.com/gamecard/wizardry_8" "Xodetaetl" "$PREFIX"

POL_Call POL_GoG_setup "$GOGID" --alternate "$GOGID" "1" "a96bcc5ae3a4c184fd77227f74e4d159"

POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"

POL_Call POL_GoG_install

# Needed for 3DSetup.exe, if anyone wants to use it
POL_Call POL_Install_mfc42

# Fix game quitting freeze by changing audio settings, makes it crash instead. :)
cat << _EOF_ > "$WINEPREFIX/drive_c/GOG Games/Wizardry 8/3DVideo.CFG"
Glide2x
800
600
16
RAD Game Tools RSX 3D Audio
_EOF_

# Preconfigure aspect ratio and no 3dfx splash screen
POL_System_TmpCreate "$PREFIX"
cat << _EOFREG_ > "$POL_System_TmpDir/settings.reg"
[HKEY_CURRENT_USER\\\\Software\\\\Zeus Software\\\\nGlide]
"Aspect"="1"
"Gamma"="5"
"Refresh"="0"
"Resolution"="1"
"Splash"="0"
"Vsync"="1"
_EOFREG_
POL_Wine regedit "$POL_System_TmpDir/settings.reg"
POL_System_TmpDelete

POL_Shortcut "Wiz8.EXE" "$SHORTCUT_NAME" "$SHORTCUT_NAME.png" "" "Game;RolePlaying;"
POL_Shortcut "nglide_config.exe" "$SHORTCUT_NAME_2" "$SHORTCUT_NAME.png" "" "Game;RolePlaying;"
POL_Shortcut_Document "$SHORTCUT_NAME" "$WINEPREFIX/drive_c/GOG Games/Wizardry 8/Wizardry 8 - Manual.pdf"
POL_Shortcut_Document "$SHORTCUT_NAME_2" "$WINEPREFIX/drive_c/GOG Games/Wizardry 8/Wizardry 8 - Manual.pdf"

POL_SetupWindow_Close

exit 0

petch Thursday 23 May 2013 at 20:59
petch
Developer

Bonsoir Xodetaetl,
Je n'ai pas vu de souci avec ce script, mais j'en profite pour mentionner une possibilité, celle de passer nglide_config en "configurateur" de l'icône du jeu (visible comme un bouton supplémentaire visible dans l'onglet Général de la fenêtre de configuration quand son raccourci est sélectionné).
Pour cela il faut créer un script PlayOnLinux placé dans ~/.PlayOnLinux/configurations/configurators/ et nommé comme le raccourci, qui sera lancé quand on clique sur ce bouton.
Un exemple fixera sûrement les idées, le script pour MDK fait justement ça pour nglide_config:
http://www.playonlinux.com/en/source-1514-GOGcom__MDK.html
Xodetaetl Thursday 23 May 2013 at 21:08
XodetaetlAnonymous

Salut petch, merci pour l'info, j'avais vu ça dans tes scripts mais le bouton Assistant de config est trop planqué. S'il était accessible dans le panneau de droite et le menu contextuel du jeu, je serais ok. Mais là j'ai peur que beaucoup de monde passe à côté.
petch Thursday 23 May 2013 at 21:22
petch
Developer

En même temps, quelle proportion de joueurs a réellement besoin d'accéder à nglide_config, par rapport à la proportion qui aurait mieux fait de ne pas y toucher ? :p

Xodetaetl Thursday 23 May 2013 at 21:25
XodetaetlAnonymous

Pas faux. :D
Bon alors j'invoque l'excuse du code trop lourdingue. Je verrai pour les prochains scripts mais celui-là je reviendrai dessus le jour où vous aurez une fonction simple pour ajouter ça. ;)
petch Thursday 23 May 2013 at 22:33
petch
Developer

Défi accepté :D
POL_Shortcut_Configurator ()
{
    (cat <<_PRELUDE_
#!/bin/bash
[ -z "\\$PLAYONLINUX" ] && exit 0
source "\\$PLAYONLINUX/lib/sources"
export WINEPREFIX="\\$POL_USER_ROOT/wineprefix/$PREFIX"
export WINEDEBUG="-all"

POL_LoadVar_PROGRAMFILES

TITLE="$TITLE"
_PRELUDE_
     cat
    ) > "$POL_USER_ROOT/configurations/configurators/$1"
}


Le script MDK deviendrait alors:
...
POL_Shortcut_Configurator "$SHORTCUT_NAME" <<_EOF_ 
cd "\\$WINEPREFIX/drive_c/GOG Games/MDK/" || exit 1

POL_Debug_Init
POL_Wine nglide_config.exe
exit 0
_EOF_


Mais même en ajoutant cette fonction à la branche de développement, tu ne pourrais pas l'emplyer dans les scripts avant qu'elle se soit suffisamment diffusée dans les versions utilisées...

Ändrat av petch

petch Thursday 23 May 2013 at 22:44
petch
Developer

(J'hésite à savoir si le POL_Debug_Init a sa place dans un configurateur...)
Xodetaetl Thursday 23 May 2013 at 22:47
XodetaetlAnonymous

Bravo !
Bon, j'imaginais quelque chose de plus radical type
POL_Shortcut_Settings "$WINEPREFIX/drive_c/GOG Games/MDK/nglide_config.exe"

Mais c'est déjà pas mal ! :P

Ändrat av Xodetaetl

petch Thursday 23 May 2013 at 22:52
petch
Developer

Ce n'est pas possible sans perdre beaucoup de la généricité des configurateurs: ce peut très bien être un assistant de configuration écrit avec les primitives PlayOnLinux, par exemple.
On peut imaginer une surcouche simplifiée pour le cas où on veut lancer un programme Windows (il faudra passer le nom du raccourci en paramètre quand même).
Xodetaetl Thursday 23 May 2013 at 22:56
XodetaetlAnonymous

Accordé, maître petch !
petch Thursday 23 May 2013 at 23:26
petch
Developer

Au final j'ai poussé un POL_Shortcut_Configurator qui accepte les deux syntaxes,

POL_Shortcut_Configurator "Shortcut name" < script


et
POL_Shortcut_Configurator "Shortcut name" "Program.exe"

Dans le second cas, Program.exe est cherché dans le préfixe selon les mêmes rêgles que POL_Shortcut, donc le chemin n'est pas obligatoire.
Xodetaetl Thursday 23 May 2013 at 23:34
XodetaetlAnonymous

Héhé, merveilleux ! J'espérais bien que tu finirais par pondre la solution idéale. ;)

Préviens-moi le jour où ce sera utilisable !

Ändrat av Xodetaetl