El Foro

Imperialism II (GoG)

Autor Respuestas
TonyFlow Saturday 25 May 2013 at 17:48
TonyFlow

Je n'ai rien remarqué de particulier...

[code language=playonlinux]
#!/bin/bash
# Date : (2013-05-25 16-00)
# Last revision : (2013-05-25 16-00)
# Wine version used : 1.4.1
# Distribution used to test : Fedora 17
# Author : TonyFlow
# Script licence : GPL v.2
# Program licence : Retail
# Depend :
 
[ -z "$PLAYONLINUX" ] && exit 0
source "$PLAYONLINUX/lib/sources"
 
GOGID="imperialism_2_the_age_of_exploration"
PREFIX="Imperialism2_gog"
WORKING_WINE_VERSION="1.4.1"
 
TITLE="GOG.com - Imperialism 2: The Age of Exploration"
SHORTCUT_NAME="Imperialism II - Age of Exploration"
 
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 1714
POL_Debug_Init
 
POL_SetupWindow_presentation "$TITLE" "Frog City Software / Ubisoft" "http://www.gog.com/gamecard/$GOGID" "TonyFlow" "$PREFIX"
 
POL_Call POL_GoG_setup "$GOGID" "49c71a331613c1476ffa00a8bd982029"
 
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"
 
POL_Call POL_GoG_install
 
# GoG work!
Set_OS winxp
 
# Doesn't hurt ;)
POL_Wine_reboot
 
GOGPATH="$GOGROOT/Imperialism II - Age of Exploration"
POL_Shortcut "Imperialism II.exe" "$SHORTCUT_NAME" "$SHORTCUT_NAME.png" "" "Game;StrategyGame;"
POL_Shortcut_Document "$SHORTCUT_NAME" "$GOGPATH/Imperialism II - Manual.pdf"
#POL_Shortcut_Document "$SHORTCUT_NAME" "$GOGPATH/Imperialism II - Tech Tree.pdf"
 
POL_SetupWindow_Close
exit 0
[/code]

Script ajouté ici : [url]http://www.playonlinux.com/en/edit_app-1714.html[/url]

Une image pour le left :
http://tonyflow.free.fr/POL/imperialism2/left.png

Une autre pour le top :
http://tonyflow.free.fr/POL/imperialism2/top.png

Les icones disponibles :
http://tonyflow.free.fr/POL/imperialism2/icon-32.pnghttp://tonyflow.free.fr/POL/imperialism2/gfw_high-32.pnghttp://tonyflow.free.fr/POL/imperialism2/gfw_high-48.png

Editado por: TonyFlow

TonyFlow Saturday 25 May 2013 at 18:03
TonyFlow

Ah un petit oubli, je n'ai pas spécifié de "POL_SetupWindow_VMS".

C'est mieux de préciser quelque chose ? Ce jeu ne semble pas avoir beaucoup d'exigence, j'ai trouvé cette info : "Video card capable of 800x600 display, 16 bit color"
petch Saturday 25 May 2013 at 20:51
petch

Bonsoir,
Rien à signaler pour le script.

800x600 Hicolor, du coup 1Mo de mémoire vidéo devrait suffire, et quelle que soit la valeur entrée par l'utilisation il ne devrait pas y avoir d'avertissement (le minimum que l'utilisateur peut saisir est 64Mo).
L'utilité de cette commande pour ce jeu, je ne sais pas, ça dépend s'il utilise cette information dans la base de registres, donc c'est difficile d'être sûr; J'ai le sentiment que non, mais de l'autre ça n'engage à pas grand-chose de la rajouter (je ne connais pour l'instant qu'un seul exemple où ajouter cette information en base de registre peut provoque des dysfonctionnement).
TonyFlow Sunday 26 May 2013 at 17:15
TonyFlow

J'ai remarqué un problème aujourd'hui : une popup windows qui vient fréquement pour se plaindre de "D:\\Epsilon\\win_cd.cpp@407 _winCdPlay"...

Si je n'avais pas eu ce soucis auparavant, c'est parceque j'avais un cdrom dans mon lecteur ! Oui un cdrom quelconque, sans rapport avec le jeu, mais sans ça la popup revient, et je ne suis pas un cas isolé :
- http://games.dir.groups.yahoo.com/group/Imp_list/message/2530
- http://cedegawiki.sweetleafstudios.com/wiki/Imperialism_II:_Age_of_Exploration

Il doit bien y avoir une astuce pour contourner le problème avec wine non ? Définir un cdrom virtual, ajouter un montage quelconque... Quelle serait la méthode d'après vous pour scripter ça ?
TonyFlow Sunday 26 May 2013 at 17:20
TonyFlow

Précision : je pense que le problème n'est pas systématique.

Si je le rencontre, c'est sans doute parceque le cdrom était présent au moment de l'installation. Du coup mon disque virtuel contient :

ll ~/PlayOnLinux\\'s\\ virtual\\ drives/Imperialism2_gog/dosdevices/
total 0
lrwxrwxrwx 1 greg greg 10 25 mai 16:31 c: -> ../drive_c
lrwxrwxrwx 1 greg greg 8 25 mai 16:31 d:: -> /dev/sr0
lrwxrwxrwx 1 greg greg 1 25 mai 16:31 z: -> /


Il faudrait sans doute empêcher wine de monter le cdrom lors de l'install. Ca me rappelle l'option "manual_mount=true" dans playonlinux_dos.cfg. Un équivalent pour wine ? (au pire un "rm" à la fin de l'install, mais c'est pas hyper propre :/)

Editado por: TonyFlow

petch Monday 27 May 2013 at 23:49
petch

Bonsoir,
winecfg a un bouton "Détection automatique", donc je suppose qu'au moins sous Wine la mise à jour des lecteurs n'est pas systématique (juste faite une fois à la création du disque virtuel, puis sur demande avec ce bouton?).
Du coup j'ai peur qu'il n'y ait pas de moyen plus propre que de s'assurer qu'il n'y a que le symlink c: avant d'installer/lancer le jeu...

Editado por: petch

TonyFlow Wednesday 29 May 2013 at 23:30
TonyFlow

J'ai refait pas mal de tests ce soir... mais je n'arrive pas encore à ce que je veux :/

Tout d'abord, pour ne pas avoir cette popup à répétition durant le jeu, il faut un lecteur cdrom, point barre !

Donc peu importe finalement qu'un cd soit là ou pas durant l'installation, il faut quand le jeu se lance que wine soit paramétré avec un lecteur cdrom. Alors si on a un lecteur sur son linux ET un cd dedans, pas de problème, wine l'ajoute automatiquement et ça roule. Mais c'est pas pratique...


En utilisant winecfg, j'ai aussi pu contourner le problème :
- création au préalable d'un dossier $WINEPREFIX/drive_d
- ajout d'un lecteur "D:" vers le chemin "../drive_d" et de type "CD-ROM"
Voilà, c'est tout ! Nickel... sauf que... j'ai rien trouvé me permettant de scripter la manip :/

Pas faute d'avoir essayé :
- si on créé manuellement un symlink dans dosdevices, wine le dégage
- pas trouvé de paramètres en ligne de commande pour wine ou winecfg
- rien non plus dans winecmd, ni même avec winetricks


A ce stade, il ne me reste plus que deux pistes :

1. Utiliser un soft de lecteur virtuel dans wine : très beurk à mon goût quand on sait que cette émulation peut être directement fournie par wine, donc pas intéressant.

2. Taper directement dans la base de registre (ouch) pour définir le lecteur virtuel... reste à savoir ou et comment... même pas sûr que ça se fasse par là en lisant ceci :

4.2. Using the Registry and Regedit
All of the settings you change in Winecfg, with exception of the drive settings, are ultimately stored in the registry.

Citar

(cf: http://ftp.winehq.org/pub/wine/docs/en/wineusr-guide.html#USING-REGEDIT)

Alors si quelqu'un à une idée... qu'il n'hésite pas ! ^^'

Editado por: TonyFlow

petch Thursday 30 May 2013 at 0:04
petch

Bonsoir, d'après mon script pour Gabriel Knight 3:
ln -sf / "$WINEPREFIX/dosdevices/p:"
cat <<_EOFINI_ > "$POL_USER_ROOT/tmp/cdrom.reg"
REGEDIT4

[HKEY_LOCAL_MACHINE\\Software\\Wine\\Drives]
"P:"="cdrom"
_EOFINI_
POL_Wine regedit.exe "$POL_USER_ROOT/tmp/cdrom.reg"
rm "$POL_USER_ROOT/tmp/cdrom.reg"

Editado por: petch

TonyFlow Friday 31 May 2013 at 21:55
TonyFlow

Bonsoir, d'après mon script pour Gabriel Knight 3

Quote from petch


Impeccable, c'est exactement ce dont j'avais besoin ! Merci pour le coup de pouce ;)

Du coup le script est parti demander sa signature :)
petch Saturday 1 June 2013 at 2:40
petch

TonyFlow Saturday 1 June 2013 at 15:26
TonyFlow

Validé :)

Quote from petch

Merci. Normal qu'il n'y ait pas d'icone, ni l'habillage pour l'installeur ?
petch Saturday 1 June 2013 at 16:05
petch

Oups, en effet j'ai oublié d'uploader les ressources, ça devrait être bon maintenant.