Disposer de plusieurs installations de Baldur’s Gate II sur le même ordinateur


Quelques cas concrets


Faire cohabiter Shadows of Amn et Throne of Bhaal

L’installation de Throne of Bhaal ne propose pas de choisir le répertoire d’installation pour la bonne et simple raison qu’elle le lit dans la base de registre. Dès lors, pour conserver une installation de SoA seul, il faut la considérer comme une installation recopiée, de façon à laisser l’emplacement mémorisé dans la base de registres pour ToB. Il faut évidemment veiller à faire cette copie avant d’installer Throne of Bhaal.

  1. Installez Baldur’s Gate II dans le répertoire de votre choix, disons C:\BGII pour notre exemple, en procédant à une installation complète
  2. Installez le patch officiel pour Shadows of Amn:idee: Vous pouvez consulter ce sujet du forum pour plus de détails sur la façon d’installer le jeu selon la version dont vous disposez.
  3. Lancez le jeu au moins une fois et configurez le jeu tel qu’il vous plait (taille écran, performances, …) : ceci vous évitera d’avoir à recommencer dans la deuxième installation
  4. Ensuite, créez un nouveau répertoire pour héberger votre installation de SoA seul, disons pour l’exemple C:\BGII – SoA-seul
  5. Copiez le contenu de C:\BGII, à l’exception des répertoires CD2, CD3 et CD4, dans le nouveau répertoire C:\BGII – SoA-seul : attention à bien copier et non déplacer !
  6. Dans le nouveau répertoire C:\BGII – SoA-seul, modifiez le fichier Baldur.ini (par exemple avec le bloc-notes) comme indiqué dans la procédure générale, en prenant évidemment bien soin d’indiquer C:\BGII – SoA-seul sur la ligne HD0:=Pour lancer SoA, vous devez vous créer un raccourci sur le programme BGMain.exe du répertoire C:\BGII – SoA-seul.:!: Il est très important d’installer le patch avant de faire la copie, car il irait s’installer dans C:\BGII et vous n’en bénéficieriez pas dans la copie !Ensuite, vous pouvez poursuivre l’installation de Throne of Bhaal et de son patch, qui iront automatiquement dans C:\BGII.

    Copier une installation avec un certain nombre de mods

    BG2 Fixpack est considéré comme un mod indispensable à BG II et ToB. On peut donc être tenté de recopier une installation où il serait déjà installé.

    Pour que ça fonctionne, sans perdre les facultés de désinstallation et réinstallation qu’offrent les mods basés sur WeiDU, il est très important de copier un ensemble de fichiers et répertoires depuis le répertoire C:\BGII. Ce sont :

    • le fichier WeiDU.log
    • pour chaque mod :
      • le répertoire NomDuMod : par exemple, bg2fixpack, bgt, … bref celui qui porte le nom ou l’acronyme du mod
      • le fichier setup-NomDuMod.exe
      • le fichier setup-NomDuMod.tp2 ou NomDuMod.tp2 : celui-ci ne se trouve pas toujours dans le répertoire du jeu car il est fréquemment placé dans le sous-répertoire NomDuMod.

    Si vous avez suivi à la lettre la procédure, qui stipule de tout copier sauf les répertoires CD1, etc., vous n’aurez aucun problème, étant donné que vous aurez aussi copié.

    Si au contraire, vous avez cherché à supprimer des copies pas vraiment indispensables (cache, temp, tempsave, les programmes multijoueurs, …), attention à bien respecter les indications ci-dessus.

    Automatisation de la copie : cas de Baldur’s Gate II, avec ou sans Throne of Bhaal

    Comme je fais fréquemment ce genre de copie, je me suis préparé un fichier bat qui effectue la copie. Voici donc CopieBGII.bat :

    :: Note : toute ligne commençant par :: est un commentaire

    :: Script permettant de copier une installation de Baldur’s Gate II suivant le principe des installations multiples

    :: http://encyclopedies.baldursgateworld.fr/lacouronne/le-bazar-de-laventurier/10872-guide-installation-de-plusieurs-baldur-s-gate.html

    ::

    :: Utilisation :

    :: – créez un répertoire pour héberger votre copie de l’installation de BG II

    :: – placez le fichier CopieBGII.bat dans ce nouveau répertoire

    :: – double-cliquez sur CopieBGII.bat

    :: avec Windows XP et plus, c’est prêt

    :: sinon modifiez la ligne HD0: du fichier Baldur.ini de ce nouveau répertoire afin qu’elle indique ce même répertoire

    @echo off

    :: Utilisation de l’évaluation retardée des variables, nécessaires pour traiter des éléments dans des boucles ou de if

    :: Dans ce mode, le caractère ! remplace le % habituel pour désigner les variables

    :: Nécessaire pour la modification de Baldur.ini

    SETLOCAL ENABLEDELAYEDEXPANSION

    :: Variable contenant le répertoire de l’installation de base de Baldur’s Gate II

    :: Ce peut être aussi un chemin complet, « C:JeuxBGII – SoA », ou un chemin relatif

    :: Pour ma part, je recopie toujours dans un répertoire au même niveau, donc je mets du relatif

    set BG2BASEREP= »..BGII – SoA »

    @echo Copie des repertoires de donnees…

    :: /E pour copier l’arborescence des répertoires, y compris les répertoires vides

    :: /I pour que la destination soit considérée comme un répertoire s’il y a plusieurs fichiers copiés

    xcopy /E /I %BG2BASEREP% »characters » characters

    xcopy /E /I %BG2BASEREP% »data » data

    xcopy /E /I %BG2BASEREP% »music » music

    xcopy /E /I %BG2BASEREP% »portraits » portraits

    xcopy /E /I %BG2BASEREP% »script compiler » « script compiler »

    xcopy /E /I %BG2BASEREP% »scripts » scripts

    xcopy /E /I %BG2BASEREP% »sounds » sounds

    @echo Copie du repertoire Override

    xcopy /E /I %BG2BASEREP% »Override » Override

    copy %BG2BASEREP% »Chitin.key » .

    copy %BG2BASEREP% »dialog.tlk » .

    copy %BG2BASEREP% »dialogF.tlk » .

    @echo Copie des fichiers executables et de configuration

    :: Copie d’une sélection de fichiers, notamment pas tout ce qui concerne le multijoueur via serveur

    :: On peut même réduire encore davantage cette liste, mais le gain n’est pas significatif

    :: ~nx sert à indiquer qu’on ne veut que le nom du fichier (n) avec extension (x) et pas le chemin complet

    :: http://technet.microsoft.com/en-us/library/cc755694%28WS.10%29.aspx

    for %%i in (BGMain.exe

    bggltest.exe

    CharView.exe

    bgdxtest.exe

    BGConfig.exe

    bgate2.mpi

    Keymap.ini

    language.txt

    Lasnil32.dll

    license.txt

    Llload.bmp

    BG2-ToBPatchReadMe.txt

    « Power Users.txt »

    nomouse.com

    nomouse.pif

    nomouse.sp

    baldur.ini

    readme.txt

    baldur.ico

    baldur.exe

    Baldur.err

    Autorun.ini) do copy %BG2BASEREP% »%%~nxi » « %%~nxi »

    @echo Creation de repertoires temporaires

    :: Création des répertoires utiles au jeu

    mkdir cache

    mkdir cachedata

    mkdir Save

    mkdir temp

    mkdir tempsave

    :PatchIni

    :: patch de Baldur.ini

    :: Il faut avoir ssed dans le répertoire courant, il est téléchargeable ici :

    :: http://sed.sourceforge.net/grabbag/ssed/

    :: Téléchargez le fichier « Binary Win32 executable, zipped » et mettez ssed.exe

    :: dans le même répertoire que CopieBGII.bat

    :: Récupération du répertoire courant

    FOR /F « tokens=* » %%A IN (‘cd’) DO SET COPIEREP=%%A

    :: Vérification des versions de Windows pour déterminer si c’est au moins XP, pour le patch de Baldur.ini

    :: Code emprunté à BGT

    VER | find « XP » > nul

    IF %errorlevel% EQU 0 GOTO versionXPouPlus

    VER | find « Version 5.2 » > nul

    IF %errorlevel% EQU 0 GOTO versionXPouPlus

    VER | find /i « Version 6.0 » > nul

    IF %errorlevel% EQU 0 GOTO versionXPouPlus

    VER | find /i « Version 6.1 » > nul

    IF %errorlevel% EQU 0 GOTO versionXPouPlus

    VER |find /i « Windows 95 » > NUL

    IF NOT ERRORLEVEL 1 GOTO NiXPniSED

    VER |find /i « Windows 98 » > NUL

    IF NOT ERRORLEVEL 1 GOTO NiXPniSED

    VER |find /i « Windows Millennium » > NUL

    IF NOT ERRORLEVEL 1 GOTO NiXPniSED

    :: Vérification de la présence de ssed, soit localement, soit dans le PATH

    where ssed >nul 2>nul

    :: A priori ce test ne fonctionnera que sous NT 4, 2000, et plus

    ::if NOT ERRORLEVEL 0 goto NiXPniSED

    if %errorlevel% NEQ 0 goto NiXPniSED

    :versionssed

    :: Doublement des caractères dans le chemin stocké dans la variable,

    :: car c’est un caractère spécial pour ssed et il faut le doubler pour lui dire

    :: qu’on veut vraiment un caractère dans le texte

    set COPIEREP=%COPIEREP:=\%

    @echo Patch de Baldur.ini pour mettre a jour le repertoire principal

    copy %BG2BASEREP% »Baldur.ini » Baldur.ini

    :: Si ssed est présent, on modifie le fichier Baldur.ini, ligne HD0:=, pour qu’il

    :: pointe bien sur le nouveau répertoire

    ssed -e « /HD0:=/s/HD0:=.*/HD0:=%COPIEREP%\/ » Baldur.ini > Baldurnew.ini

    move Baldurnew.ini Baldur.ini

    goto end

    :versionXPouPlus

    ::

    :: http://technet.microsoft.com/en-us/library/cc755694%28WS.10%29.aspx

    @echo Patch DOS de Baldur.ini pour mettre a jour le repertoire principal

    copy %BG2BASEREP% »Baldur.ini » Baldur.ini

    if exist Baldurnew.ini del /F Baldurnew.ini

    :: echo. (echo suivi d’un point accolé) sert à insérer une ligne vide. Comme la boucle ne permet pas de récupérer

    :: lignes vides et donc de les recopier, j’introduits arbitrairement une ligne vide avant chaque section [xxx]

    for /F « tokens=1-2 delims== » %%a in (Baldur.ini) do (

    if « %%b » EQU «  » (

    set prem=%%a

    set car=!prem:~0,1!

    if « !car! » == « [ » (

    echo.

    echo %%a

    ) else (

    echo %%a=

    )

    ) else (

    if « %%a » NEQ « HD0: » (

    echo %%a=%%b

    ) else (

    echo %%a=%COPIEREP%

    )

    )

    ) >> Baldurnew.ini

    move Baldurnew.ini Baldur.ini

    goto end

    :: Version de Windows trop ancienne pour patcher sans sed, et il n’est pas présent

    :NiXPniSED

    echo N’oubliez pas de modifier le fichier Baldur.ini pour indiquer en HD0 le nouveau répertoire

    :end

    :: Permet de garder la fenêtre « DOS » ouverte, et donc de consulter les éventuelles erreurs signalées

    pause

    Pour obtenir le fichier, créez un nouveau document texte, puis ouvrez le en double-cliquant sur son icône. Recopiez le contenu de la citation dans le fichier puis enregistrez-le.

    Enfin, renommez le fichier texte sous le nom « CopieBGII.bat » (sans les guillemets).

    Pour l’utiliser, il suffit de le placer dans le répertoire « C:\BGII – Mod1 », puis de double-cliquer dessus.

    Si vous avez Windows XP ou Windows 7, le fichier Baldur.ini sera également automatiquement modifié. Cela devrait aussi marcher avec Vista, mais je n’ai pas pu vérifier. Pour les autres, il vous faudra bien penser à modifier la ligne HD0 du fichier comme indiqué dans la procédure.

    Automatisation de la copie : cas avec des mods, BG2 Fixpack et BGT

    Le principe est le même que ci-dessus, sauf qu’il faut aussi copier le fichier WeiDU.log et tous les fichiers des mods :

    :: Toute ligne commençant par :: est un commentaire

    :: Utilisation de l’évaluation retardée des variables, nécessaires pour traiter des éléments dans des boucles ou de if

    :: Dans ce mode, le caractère ! remplace le % habituel pour désigner les variables

    :: Nécessaire pour la modification de Baldur.ini

    SETLOCAL ENABLEDELAYEDEXPANSION

    :: Variable contenant le répertoire de l’installation de base de Baldur’s Gate II

    :: Ce peut être aussi un chemin complet, « C:JeuxBGII – SoA », ou un chemin relatif

    :: Pour ma part, je recopie toujours dans un répertoire au même niveau, donc je mets du relatif

    set BGTBASEREP= »..BGII – BGT »

    :: /E pour copier l’arborescence des répertoires, y compris les répertoires vides

    :: /I pour que la destination soit considérée comme un répertoire s’il y a plusieurs fichiers copiés

    xcopy /E /I %BGTBASEREP% »characters » characters

    xcopy /E /I %BGTBASEREP% »data » data

    xcopy /E /I %BGTBASEREP% »music » music

    xcopy /E /I %BGTBASEREP% »portraits » portraits

    xcopy /E /I %BGTBASEREP% »script compiler » « script compiler »

    xcopy /E /I %BGTBASEREP% »scripts » scripts

    xcopy /E /I %BGTBASEREP% »sounds » sounds

    xcopy /E /I %BGTBASEREP% »Override » Override

    copy %BGTBASEREP% »Chitin.key » .

    copy %BGTBASEREP% »dialog.tlk » .

    copy %BGTBASEREP% »dialogF.tlk » .

    for %%i in (BGMain.exe

    bggltest.exe

    CharView.exe

    bgdxtest.exe

    BGConfig.exe

    bgate2.mpi

    Keymap.ini

    language.txt

    Lasnil32.dll

    license.txt

    Llload.bmp

    BG2-ToBPatchReadMe.txt

    « Power Users.txt »

    nomouse.com

    nomouse.pif

    nomouse.sp

    baldur.ini

    readme.txt

    baldur.ico

    baldur.exe

    Baldur.err

    Autorun.ini) do copy %BG2BASEREP% »%%~nxi » « %%~nxi »

    mkdir cache

    mkdir cachedata

    mkdir Save

    mkdir temp

    mkdir tempsave

    :: On n’oublie surtout pas WeiDU.log

    copy %BGTBASEREP% »WeiDU.log » .

    :: BG2 Fixpack

    xcopy /E /I %BGTBASEREP% »bg2fixpack » bg2fixpack

    copy %BGTBASEREP% »setup-bg2fixpack.exe » .

    :: BGT

    xcopy %BGTBASEREP% »BGT » BGT

    xcopy %BGTBASEREP% »GUI_Mod » GUI_Mod

    xcopy %BGTBASEREP% »Worldmap » Worldmap

    copy %BGTBASEREP% »Setup-BGT.exe » .

    copy %BGTBASEREP% »Setup-BGT.tp2″ .

    copy %BGTBASEREP% »Setup-BGTMusic.exe » .

    copy %BGTBASEREP% »Setup-BGTMusic.tp2″ .

    copy %BGTBASEREP% »Setup-GUI.exe » .

    copy %BGTBASEREP% »Setup-GUI.tp2″ .

    pause

    Je n’ai pas repris ici tout le code permettant de modifier automatiquement le fichier Baldur.ini. Si vous y tenez, recopiez toute la partie de l’autre script débutant à :PatchIni et recopiez-là à la place du pause final.