Forums

Wizardry 8 (GoG)

Auteur Réponses
Xodetaetl Jeudi 23 Mai 2013 à 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 Jeudi 23 Mai 2013 à 20:59
petch
Développeur

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 Jeudi 23 Mai 2013 à 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 Jeudi 23 Mai 2013 à 21:22
petch
Développeur

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 Jeudi 23 Mai 2013 à 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 Jeudi 23 Mai 2013 à 22:33
petch
Développeur

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...

Edité par petch

petch Jeudi 23 Mai 2013 à 22:44
petch
Développeur

(J'hésite à savoir si le POL_Debug_Init a sa place dans un configurateur...)
Xodetaetl Jeudi 23 Mai 2013 à 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

Edité par Xodetaetl

petch Jeudi 23 Mai 2013 à 22:52
petch
Développeur

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 Jeudi 23 Mai 2013 à 22:56
XodetaetlAnonymous

Accordé, maître petch !
petch Jeudi 23 Mai 2013 à 23:26
petch
Développeur

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 Jeudi 23 Mai 2013 à 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 !

Edité par Xodetaetl