Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

Passer le mod en version EE

Vous traversez l'entrée et au bout de quelques pas, la dalle de pierre se referme derrière vous avec fracas. Vos tentatives sont vaines : la porte est bel et bien scellée. L'invitation des lieux est claire et sans appel, vous n'avez plus d'autres choix que d'aller de l'avant.
Vous découvrirez qu'une sombre histoire s'est déroulée dans ce donjon souterrain. Parviendrez-vous à rassembler les pièces du puzzle et à en tirer profit ? Pour le savoir, relevez le défi et avancez dans ce lugubre couloir. Vous n'êtes pas venus ici pour repartir les mains vides et encore moins pour y mourir. Mais attention, regardez bien où vous mettez les pieds !
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne

Passer le mod en version EE

.

Message par Cocrane »

Après les fêtes, je vais passer le mod en version EE.

1- Quels sont les points techniques à traiter pour convertir le mod en version EE?
J'ai vu dans un échange que les images des portraits sont à changer mais je me doute qu'il y a d'autres points à gérer.
On a un Tuto sur ce sujet?

2- Trouver un bon plan pour acheter BG1 + BG2 EE
D'autre part, j'ai regardé les prix du jeu sur le net. De ce que je vois, le meilleur plan serait d'acheter une clé en ligne BG1 + BG2 EE.

Si quelqu'un a un lien sur un site fiable avec un prix sympa, je suis preneur.

Cocrane
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Il existe un guide du portage sur les versions EE, disponible sur le forum Giberlings Three, ainsi que le sujet de discussion à propos du guide, qui est susceptible d'apporter des compléments ou des clarifications.
Paradoxalement ce guide n'est pas recensé dans le sujet de liste des tutoriels, qui comporte néanmoins quelques tutoriels spécifiques aux EE.

Il n'y a pas de possibilité d'achat à part en ligne (je mets de côté les quelques versions physiques physiques qui sont très anciennes, et pas simples à mettre à jour).
Pour acheter les jeux pas chers, il faut généralement s'intéresser aux grosses promotions saisonnières de Steam et de Good Old Games. Parfois Beamdog suit ces promotions et baisse aussi ses prix sur son site en direct. Il y a des chances qu'une nouvelle promotion débute peu avant Noël, tu as intérêt à surveiller. Il peut aussi y avoir des promotions occasionnelles, mais c'est plus difficile à anticiper.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar du membre
Vel Cheran
Aventurier
Momie majeure
Messages : 3218
Enregistré le : sam. 08 déc. 2007, 18:14
Statut : Hors ligne
.

Message par Vel Cheran »

Tu peux être au courant des meilleures offres légales (donc pas de marché gris ici) sur le site isthereanydeal.com :
BG1:EE
BG2:EE
Le moins cher actuellement c'est chez Jeff Bezos, après si tu ne veux pas lui donner de sous tu as d'autres alternatives.
En RP, je joue Séraphine Pierrejoyeuse, dont la couleur est : #D0C07A ainsi que Frère Jordin : #FF9966
Et, il y a longtemps, j'incarnais Vel'Cheran.
Venez lire nos aventures dans l'univers d'Ambre ! :dance4:
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Pour passer de BGT à EE, il y a plusieurs points essentiels :

1. Inclure la procédure de conversion des fichiers tra en UTF-8 : automatique grâce à une fonction WeiDU.
2. Cartes : conversion des fichiers tis v1 en tis v2 grâce à l'outil de NI.
3. Fichiers wav : tu peux utiliser les wav de BG classique dans les versions EE. Note que BGEE supporte les fichiers ogg en 44 Mhz. À toi de voir si tu veux proposer deux jeux de fichiers distincts.
4. Certains fichiers d'animation de créature ont des codes différents.
5. La gestion des journaux s'opère de manière différente. Là encore, une fonction WeiDU permet de le gérer.

Plus d'autres points mineurs, comme la modification des cartouches des objets. Sur ce point, je peux te passer une fonction maison que j'ai développée pour mettre à jour les vieux mods de SHS.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Merci pour les différents retours. Je vais pouvoir attaquer le sujet début janvier. :-)

Après la charge que ça représente, on verra. :-p
Je me demande si ça vaut le coup de gérer une version BGT et BGT EE. J'ai tendance à penser que je peux abandonner BGT.

Vel> J'ai vu pour les prix sur le site, le prix est raisonnable et je suppose que le site est fiable. Tu m'aurais pas fait ça. :-)
Je vais sans doute partir sur cette option.

Cocrane
Avatar du membre
Vel Cheran
Aventurier
Momie majeure
Messages : 3218
Enregistré le : sam. 08 déc. 2007, 18:14
Statut : Hors ligne
.

Message par Vel Cheran »

Oui c'est un site fiable, il ne référence que les vendeurs agréés par les éditeurs ;)
(ce n'est pas un site marchand mais un "référenceur" de sites marchands, nuance)
En RP, je joue Séraphine Pierrejoyeuse, dont la couleur est : #D0C07A ainsi que Frère Jordin : #FF9966
Et, il y a longtemps, j'incarnais Vel'Cheran.
Venez lire nos aventures dans l'univers d'Ambre ! :dance4:
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Des nouvelles du sujet. :-)

Achat effectué. J'ai pris la totale BGEE 1 & 2 pour 20 euros. Merci pour le lien Vel Cheran.

Ca parait raisonnable sur le coup à voir sur la durée. J'ai testé les fosses noires et effectivement pas mal de bugs sur les objets qui ne fonctionnent pas ou des armes inefficaces douteuses pour moi. Du coup ça crée un peu de frustration.

J'ai installé EET hier et activé la console CLUA. Ca fonctionne et ca me semble bien parti pour adapter mon mod en EET.

Merci pour vos conseils.

Cocrane
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Salut Freddy,

je reprends les points que tu as signalé:

1. Inclure la procédure de conversion des fichiers tra en UTF-8 : automatique grâce à une fonction WeiDU.
A part ce code "INT_VAR from_utf8" je ne vois rien dans la doc Weidu.


2. Cartes : conversion des fichiers tis v1 en tis v2 grâce à l'outil de NI.

Dans le doute j'ai téléchargé la dernière version. Je vois uniquement la fonction de conversion "image to TIS". Comment fais tu pour avoir "tis v1 -> tis v2"

3. Fichiers wav : tu peux utiliser les wav de BG classique dans les versions EE. Note que BGEE supporte les fichiers ogg en 44 Mhz. À toi de voir si tu veux proposer deux jeux de fichiers distincts.

Si il n'y a pas d'impact sur la qualité du son, je pense que je vais laisser en l'état.

4. Certains fichiers d'animation de créature ont des codes différents.
Il me semble qu'il y a un fichier Excel qui liste les codes à utiliser en fonction de la version. Par contre, je n'ai plus le lien.

5. La gestion des journaux s'opère de manière différente. Là encore, une fonction WeiDU permet de le gérer.
OK, idem dans la doc, je ne vois pas de mention sur cette transformation.

Plus d'autres points mineurs, comme la modification des cartouches des objets. Sur ce point, je peux te passer une fonction maison que j'ai développée pour mettre à jour les vieux mods de SHS.
Ok pour ta fonction.

Il me semble aussi que les portraits ne sont pas de la même taille.

Cocrane
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Cocrane a écrit :Salut Freddy,

je reprends les points que tu as signalé:
Alors, dans l'ordre :
1. Inclure la procédure de conversion des fichiers tra en UTF-8 : automatique grâce à une fonction WeiDU.
A part ce code "INT_VAR from_utf8" je ne vois rien dans la doc Weidu.
C'est la fonction HANDLE_CHARSETS. Je te conseille de la mettre dans le bloc ALWAYS :

Code : Tout sélectionner

ALWAYS

	ACTION_IF NOT VARIABLE_IS_SET bg2_chapter BEGIN // Always block must run only once per install!

		// Determines which game is installed and if the game is an Enhanced Edition.
		OUTER_SET is_ee = (GAME_IS ~eet~) ? 1 : 0		// EE game
		OUTER_SET is_tob = (GAME_IS ~bgt~) ? 1 : 0         	// based on vanilla ToB engine

		/* eet compatibility */
		ACTION_IF is_eet BEGIN
			OUTER_SET bg2_chapter = 12
		END ELSE BEGIN
			OUTER_SET bg2_chapter = 0
		END
		OUTER_FOR (i = 1 ; i <= 10 ; ++i) BEGIN
			OUTER_SET bg2_chapter = bg2_chapter + 1
			OUTER_SPRINT name_source ~bg2_chapter_%i%~
			OUTER_SET EVAL ~%name_source%~ = bg2_chapter
		END

		ACTION_IF is_ee BEGIN
			OUTER_SPRINT var_ee "_ee"
		END ELSE BEGIN
			OUTER_SPRINT var_ee ""
		END

		// Convert strings to UTF-8 for BGEE/BG2EE
		// No exception, everything needs to be converted
		// setup.tra contains in game texts as well as installation texts and need to be converted
		ACTION_DEFINE_ARRAY co#noconvert BEGIN END
		// any tra files used in LANGUAGE need to be reloaded after UTF-8 conversion
		ACTION_DEFINE_ARRAY co#reload BEGIN setup + liste des fichiers convertis (sauf ceux que tu utilises en AUTO_TRA) END

		LAF HANDLE_CHARSETS
			INT_VAR
				infer_charsets = 1
			STR_VAR
				tra_path = EVAL ~%MOD_FOLDER%/translations~
				noconvert_array = co#noconvert
				reload_array = cp#reload
		END

	END

END
WeiDU ne convertira les fichiers tra que s'il détecte que le jeu est EE. De plus, il ne les convertira qu'une fois si tu installes plusieurs composants. ;)

2. Cartes : conversion des fichiers tis v1 en tis v2 grâce à l'outil de NI.
Dans le doute j'ai téléchargé la dernière version. Je vois uniquement la fonction de conversion "image to TIS". Comment fais tu pour avoir "tis v1 -> tis v2"
Il y a deux méthodes : soit Convert image to tis, soit image to pvrz.
3. Fichiers wav : tu peux utiliser les wav de BG classique dans les versions EE. Note que BGEE supporte les fichiers ogg en 44 Mhz. À toi de voir si tu veux proposer deux jeux de fichiers distincts.
Si il n'y a pas d'impact sur la qualité du son, je pense que je vais laisser en l'état.
Tu peux. ;)
4. Certains fichiers d'animation de créature ont des codes différents.
Il me semble qu'il y a un fichier Excel qui liste les codes à utiliser en fonction de la version. Par contre, je n'ai plus le lien.
C'est un fichier html.

5. La gestion des journaux s'opère de manière différente. Là encore, une fonction WeiDU permet de le gérer.
OK, idem dans la doc, je ne vois pas de mention sur cette transformation.
C'est la fonction ADD_JOURNAL qui n'est exécutée que si WeiDU détecte un jeu EE.
Plus d'autres points mineurs, comme la modification des cartouches des objets. Sur ce point, je peux te passer une fonction maison que j'ai développée pour mettre à jour les vieux mods de SHS.
Ok pour ta fonction.
Je t'envoie ça par MP dans la soirée avec un mode d'emploi.
Il me semble aussi que les portraits ne sont pas de la même taille.
Je te conseille d'utiliser le format 210 x 330 et de nommer tes fichiers xxxxxxxM.bmp. Tu les places dans un dossier portraits_ee et les fichiers pour BGT dans le dossier portraits. Ensuite, dans le tp2 :

Code : Tout sélectionner

COPY ~%MOD_FOLDER%/portraits%var_ee%~	~override~
Puis pour chaque créature :

Code : Tout sélectionner

COPY ~%MOD_FOLDER%/creatures/mycre.cre~ ~override~
	PATCH_IF is_ee BEGIN
		WRITE_ASCII 0x34 ~xxxxxxxM~ #8   // small portrait
		WRITE_ASCII 0x3c ~xxxxxxxM~ #8   // medium portrait
	END
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Voici le retour sur mes essais.


1. Inclure la procédure de conversion des fichiers tra en UTF-8 : automatique grâce à une fonction WeiDU.
J'ai repris ton code pour faire un TP2 à lancer dans le répertoire EET ou se trouve aussi mon mod ("/CDB")

Code : Tout sélectionner

BACKUP ~CDB/backupL~
AUTHOR ~"Convert TRA_UTF8"~
VERSION ~EET~


ALWAYS
	ACTION_IF NOT VARIABLE_IS_SET bg2_chapter BEGIN // Always block must run only once per install!

		// Determines which game is installed and if the game is an Enhanced Edition.
		OUTER_SET is_ee = (GAME_IS ~eet~) ? 1 : 0		// EE game
		OUTER_SET is_tob = (GAME_IS ~bgt~) ? 1 : 0         	// based on vanilla ToB engine

		/* eet compatibility */
		ACTION_IF is_eet BEGIN
			OUTER_SET bg2_chapter = 12
		END ELSE BEGIN
			OUTER_SET bg2_chapter = 0
		END

		OUTER_FOR (i = 1 ; i <= 10 ; ++i) BEGIN
			OUTER_SET bg2_chapter = bg2_chapter + 1
			OUTER_SPRINT name_source ~bg2_chapter_%i%~
			OUTER_SET EVAL ~%name_source%~ = bg2_chapter
		END

		ACTION_IF is_ee BEGIN
			OUTER_SPRINT var_ee "_ee"
		END ELSE BEGIN
			OUTER_SPRINT var_ee ""
		END

		// Convert strings to UTF-8 for BGEE/BG2EE
		// No exception, everything needs to be converted
		// setup.tra contains in game texts as well as installation texts and need to be converted
		ACTION_DEFINE_ARRAY co#noconvert BEGIN END
		// any tra files used in LANGUAGE need to be reloaded after UTF-8 conversion
		ACTION_DEFINE_ARRAY co#reload BEGIN [B]stores AR7216[/B] END

		LAF HANDLE_CHARSETS
			INT_VAR
				infer_charsets = 1
			STR_VAR
				tra_path = EVAL ~CDB/LANGUAGE~
				noconvert_array = co#noconvert
				reload_array = cp#reload
		END

	END

END

Code : Tout sélectionner

[B]Résultat à l'exécution[/B]
[D:\jeux\BG_EE\BG2_EET\SETUP_CONVERT_UTF8.exe] WeiDU version 24600
{setup-EET_end.exe} Queried (pid = 288) version = 24600

Using .\lang\fr_fr\dialog.tlk and .\lang\fr_fr\dialogF.tlk

Press ENTER to exit.
J'ai proposé deux fichiers à la conversion
stores
AR7216

Pas d'erreur et pas de fichier ANSI converti en UTF8. Idem si j'ajoute .TRA aux deux fichiers.

Si j'ai bien compris, il faut écrire la liste des fichiers à convertir. Vu le nombre de fichier, j'espérai pouvoir scruter un répertoire.




2. Cartes : conversion des fichiers tis v1 en tis v2 grâce à l'outil de NI.
Dans le doute j'ai téléchargé la dernière version. Je vois uniquement la fonction de conversion "image to TIS". Comment fais tu pour avoir "tis v1 -> tis v2"
Il y a deux méthodes : soit Convert image to tis, soit image to pvrz.
Oui, tu as deux options mais il fait un fichier "image" pas TIS comme source.
Il faut que je repasse tout mes fichier TIS (V1) en BMP pour le reconvertir ensuite en TIS (V2) via NI?



5. La gestion des journaux s'opère de manière différente. Là encore, une fonction WeiDU permet de le gérer.
OK, idem dans la doc, je ne vois pas de mention sur cette transformation.
C'est la fonction ADD_JOURNAL qui n'est exécutée que si WeiDU détecte un jeu EE.
A partir du moment où dans mon mod, il y a des mots-clés classiques dans mes fichiers .baf ou .D comme AddJournalEntry(@100,QUEST), je dois faire quoi concrètement?
J'ai regardé la doc Weidu sur ce mot clé ADD_JOURNAL, utilisé la traduction et c'est moche. Je ne vois pas ce qu'il y a à faire. :-)
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Tu as lancé la conversion avec quel jeu ? Elle ne fonctionne que sur un jeu EE.

Pour la conversion tis v1 -> v2, tu peux aussi utiliser la fonction export.

Je suppose que ton mod est installé sur un jeu BGT :

1. Tu lances NI dans ton répertoire de jeu BGT.
2. Tu ouvres le fichier tis.
3. Commande Export (en bas de page à droite).

Inconvénient : il faut le faire pour chaque fichier.

Avantage : cette commande utilise les données du fichier Wed associé et permet de gérer beaucoup mieux les extra tiles (portes, overlays...).
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

1- Conversion des fichiers TRA
Le mod est placé dans une install EET.

Je suppose que le TP2 adapté présente une erreur.

Les fichiers lus sont remplacés en UTF8 ou ils sont créés ailleurs?


2-Conversion des fichiers .TIS
La conversion vers PVRZ est étrange pour moi. On a un fichier PVRZ et un fichier TIS du même nom.
Le jeu EE arrive gérer les maps avec ces fichiers. De ce que je vois, leurs tailles est beaucoup plus petite qu'un export en version "original" de NI.

Tu as dit plus haut dans nos échanges que les deux étaient valables. Je suis un peu dubitatif. :-p


3-Conversion des portraits .TIS
Je suppose que les 3 tailles sont nécessaires pour un PNJ qu'on recrute. Mais pour un PNJ avec qui on cause seulement, il faut aussi les 3 formats?

Cocrane

Désolé : j'avais répondu en croyant quoter ton message, mais je l'avais modifié. Je l'ai rétabli. :$

Freddy
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

1- Conversion des fichiers TRA
Le mod est placé dans une install EET.

Je suppose que le TP2 adapté présente une erreur.

Les fichiers lus sont remplacés en UTF8 ou ils sont créés ailleurs?
Je vais lancer une conversion de mon côté et te refiler mon code pour ton mod.
2-Conversion des fichiers .TIS
La conversion vers PVRZ est étrange pour moi. On a un fichier PVRZ et un fichier TIS du même nom.
Le jeu EE arrive gérer les maps avec ces fichiers. De ce que je vois, leurs tailles est beaucoup plus petite qu'un export en version "original" de NI.

Tu as dit plus haut dans nos échanges que les deux étaient valables. Je suis un peu dubitatif. :-p
Ouaip : l'ensemble tis + fichiers pvrz associés est beaucoup moins lourd que la version v1. C'est dû aux fichiers PVR qui sont compressés (PVRZ). En fait chaque fichier PVRZ peut contenir des infos d'une taille de 1024x1024 pixels.
3-Conversion des portraits .TIS
Je suppose que les 3 tailles sont nécessaires pour un PNJ qu'on recrute. Mais pour un PNJ avec qui on cause seulement, il faut aussi les 3 formats?
Je suppose que tu voulais parler des fichiers bmp. ;)
En fait, depuis plusieurs patches, EE n'utilise plus les petits formats (S) mais resize automatiquement les portraits M en S. Donc pour tes fichiers de NPC non joignables, prend un format M (210x330) qui a l'avantage d'être de bonne qualité. Puis tu le places dans les deux champs de portraits de tes fichiers cre avec le code que je t'ai donné.

Je viens de penser qu'il y a aussi un problème de conversion des fichiers bam d'inventaire. Je vais en profiter pour rédiger un tuto avec les fonctions automatiques que j'ai développées pour mon mod et pour les mises à jour sur SHS. Avec elles, tu peux utiliser tes bam pour BG2 classique et WeiDU les convertira pour qu'elle s'affichent bien dans BG2:EE.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

J'ai testé la conversion et... ça a l'air de marcher...

Code : Tout sélectionner

		// Convert strings to UTF-8 for BGEE/BG2EE
		// No exception, everything needs to be converted
		// setup.tra contains in game texts as well as installation texts and need to be converted
		ACTION_DEFINE_ARRAY co#noconvert BEGIN END
		// any tra files used in LANGUAGE need to be reloaded after UTF-8 conversion
		ACTION_DEFINE_ARRAY co#reload BEGIN setup END

		LAF HANDLE_CHARSETS
			INT_VAR
				infer_charsets = 1
			STR_VAR
				tra_path = EVAL ~%MOD_FOLDER%/LANGUAGE~
				noconvert_array = co#noconvert
				reload_array = co#reload
		END
Sauf ton fichier AR7216 qui était déjà en UTF-8 à l'extraction de l'archive. Et iconv n'apprécie pas du tout.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Salut Freddy,
j'ai toujours un problème de fonctionnement.

J'ai fait plusieurs tests pour signaler le chemin du fichier setup.TRA qui dans le répertoire "CDB\LANGUAGE\FRENCH". Fichier encodé en ANSI.

%MOD_FOLDER%/LANGUAGE=CDB\LANGUAGE\FRENCH
%MOD_FOLDER%/LANGUAGE=\CDB\LANGUAGE\FRENCH
%MOD_FOLDER%/LANGUAGE=CDB\LANGUAGE\FRENCH\

code du TP2

Code : Tout sélectionner

BACKUP ~CDB/backupL~
AUTHOR ~"Convert TRA_UTF8"~
VERSION ~EET~

BEGIN

// Convert strings to UTF-8 for BGEE/BG2EE
		// No exception, everything needs to be converted
		// setup.tra contains in game texts as well as installation texts and need to be converted
		ACTION_DEFINE_ARRAY co#noconvert BEGIN END
		// any tra files used in LANGUAGE need to be reloaded after UTF-8 conversion
		ACTION_DEFINE_ARRAY co#reload BEGIN setup END

		LAF HANDLE_CHARSETS
			INT_VAR
				infer_charsets = 1
			STR_VAR
				tra_path = EVAL ~\CDB\LANGUAGE\FRENCH~
				noconvert_array = co#noconvert
				reload_array = co#reload
		END
END

Résultat pour les 3 cas

Code : Tout sélectionner

[D:\jeux\BG_EE\BG2_EET\SETUP_CONVERT_UTF8.exe] WeiDU version 24600
{setup-EET_end.exe} Queried (pid = 288) version = 24600
In state 220, I expected one of these tokens:
  [2] ~~
  [4] #
  [5] @
  [6] !
  [281] LPAREN
Parse error (state 220) at ACTION_DEFINE_ARRAY

[SETUP_CONVERT_UTF8.TP2] PARSE ERROR at line 10 column 16-34
Near Text: ACTION_DEFINE_ARRAY
        GLR parse error
[SETUP_CONVERT_UTF8.TP2]  ERROR at line 10 column 16-34
Near Text: ACTION_DEFINE_ARRAY
        Parsing.Parse_error
ERROR: parsing [SETUP_CONVERT_UTF8.TP2]: Parsing.Parse_error
ERROR: problem parsing TP file [SETUP_CONVERT_UTF8.TP2]: Parsing.Parse_error

FATAL ERROR: Parsing.Parse_error

Press ENTER to exit.
Contenu de Setup.tra
@1=~Vous désirez?
[1] Activer le mod à la mort de Sarevok (suite de BG1).
[2] Démarrer une partie avec le mod tout de suite.~
@2=~Choix [1] effectué~
@3=~choix [2] effectué~
@4=~Installation du mod "Le champion de Bhaal"~
@5=~Le mod "Champion de Bhaal" ne peut pas être installé.~

@6=~Vérification mod Infinity Animation installé: KO~
@7=~Vérification mod Infinity Animation installé: OK~
@8=~~

@9=~Le mod Infinity Animation n'est pas installé. Vous ne bénéficierez pas des ajouts d'animation. Vous désirez?
[1] Arrêter l'installation du mod "Le champion de Bhaal" et installer le mod Infinity Animation avant.
[2] Installer le mod "Le champion de Bhaal" sans le mod Infinity Animation.~
@10=~~
@11=~~
@12=~~

@20=~Vérification mod BGT installé: KO~
@21=~Vérification mod BGT installé: OK~
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

C'est cette ligne qui n'est pas bonne :
tra_path = EVAL ~\CDB\LANGUAGE\FRENCH~
1. EVAL sert à remplacer une variable par sa valeur. Mais il n'y a aucune variable derrière. Donc, il ne sert à rien dans le code tel que tu l'as écrit.

2. \CDB\LANGUAGE\FRENCH ne peut pas être reconnu par WeiDU.

N'oublie pas que WeiDU est un langage particulier développé au départ pour créer et modifier des fichiers dlg. Il ne suit donc aucune logique de langage de programmation classique. ;)

D'abord, le premier \ est inutile et provoque l'erreur.

Ensuite, lors de son lancement, WeiDU initialise automatiquement certaines variables qu'il va utiliser pendant l'installation. Parmi celles-ci, il y a
  • %MOD_FOLDER% : le répertoire de ton mod. En l'occurrence CDB
  • %LANGUAGE% : la langue dans laquelle tu installes ton mod. Pour toi, c'est french, mais ça pourrait être english, spanish...
La fonction HANDLE_CHARSETS a besoin de savoir dans quel répertoire se trouvent les fichiers tra qu'elle doit convertir.

Si je reprends ton code, elle va les chercher dans un répertoire qu'elle ne trouve pas parce qu'il n'existe pas, d'abord à cause du premier \, ensuite parce qu'elle ajoute automatiquement la variable %LANGUAGE% à la fin de tra_path. Note qu'on peut aussi la forcer à convertir une langue en particulier, mais ce n'est pas le sujet.

Avec le mien,
tra_path = EVAL ~%MOD_FOLDER%/LANGUAGE~
elle va chercher ces fichiers dans CDB/LANGUAGE/%LANGUAGE%, donc dans CDB/LANGUAGE/french, là où se trouvent les fichiers tra puisque tu as sélectionné le français comme langue d'installation.

Alors qu'avec le tien, elle va les chercher dans /CDB/LANGUAGE/french/french, traduit en DOS par \\CDB\LANGUAGE\french\french.


Derniers points :

1. Je te conseille fortement de renommer ton répertoire LANGUAGE en "lang" pour éviter des confusions avec la variable %LANGUAGE%.

2. Dans la mesure du possible, utilise "/" plutôt que \ dans ton code. WeiDU fait la conversion si nécessaire selon l'OS utilisé.

3. N'oublie pas de transférer le fichier noms.tra dans le répertoire french car il doit être lui-aussi converti. Si tu l'as isolé en considérant qu'il ne devait pas être traduit, ce n'est pas grave, précise-le en commentaire à l'adresse d'éventuels traducteurs. Ils seront trop heureux de gagner du temps. ;)

4. Règle le problème de l'encodage du fichier AR7216.tra.

5. Enlève les caractères accentués dans ton setup.tra : ils ne passent pas à l'affichage dans la fenêtre WeiDU.

6. Enfin et surtout, renomme ton fichier setup_cdb.exe en setup-cdb.exe, sinon ton mod aura beaucoup de mal à être accepté par un outil comme Project Infinity qui a vocation a devenir un gestionnaire d'installation automatique de mods. Profites-en pour renommer setup_cdb.tp2 en cdb.tp2 et à le transférer dans le répertoire principal du mod (cdb). Ça peut te paraître cosmétique, mais je t'assure que c'est vraiment pénible de trouver des centaines de fichiers tp2 dans son répertoire de jeu quand on fait des des mega installs, soit pour jouer, soit pour tester des compatibilités entre mods lors de développement ou de mises à jour. :)
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Salut Freddy,

merci d'avoir pris le temps d'écrire cette longue explication.

Je pense que tu as supposé que j'avais un niveau de base en TP2 et en fait non. :-)
On a échangé plusieurs fois et quand tu mettais "mon mod" je devais mettre le nom de mon mod du coup avec MOD_FOLDER c'était évident que je devais personnaliser à nouveau.
Je ne manipule rarement des variables en maîtrisant la syntaxe. C'est un langage qui ne me plait pas mais je me force parce qu'il faut un TP2 pour modder. :-)

J'ai une nouvelle erreur. Je pense qu'on va toutes les faire et que tu vas finir par me détester. Mais je suis joueur. :-)))

Pour info, j'ai fait un TP2 uniquement pour la conversion.

Code : Tout sélectionner

[D:\jeux\BG_EE\BG2_EET\SETUP-CDB.exe] WeiDU version 24600
{setup-EET_end.exe} Queried (pid = 288) version = 24600
Using Language [Francais]

Using .\lang\fr_fr\dialog.tlk and .\lang\fr_fr\dialogF.tlk

Install Component [UTF8]?
[I]nstall, or [N]ot Install or [Q]uit? i

Installing [UTF8] [EET]
FAILURE:
ERROR: charsets were not converted because iconv could not be found in CDB/LANG/iconv
Stopping installation because of error.
Stopping installation because of error.
Stopping installation because of error.
Stopping installation because of error.

ERROR Installing [UTF8], rolling back to previous state
Will uninstall   0 files for [CDB.TP2] component 0.
Uninstalled      0 files for [CDB.TP2] component 0.
ERROR: Failure("ERROR: charsets were not converted because iconv could not be found in CDB/LANG/iconv")
Please make a backup of the file: SETUP-CDB.DEBUG and look for support at: "Convert TRA_UTF8"
Using Language [Francais]

Install Component [UTF8]?
[I]nstall, or [N]ot Install or [Q]uit?
Code TP2

Code : Tout sélectionner

BACKUP ~CDB/backupL~
AUTHOR ~"Convert TRA_UTF8"~
VERSION ~EET~


LANGUAGE ~Francais~
	 ~french~
	 ~CDB/LANG/French/Setup.tra~

BEGIN ~UTF8~
		// Convert strings to UTF-8 for BGEE/BG2EE
		// No exception, everything needs to be converted
		// setup.tra contains in game texts as well as installation texts and need to be converted
		ACTION_DEFINE_ARRAY co#noconvert BEGIN END
		// any tra files used in LANGUAGE need to be reloaded after UTF-8 conversion
		ACTION_DEFINE_ARRAY co#reload BEGIN setup END

		LAF HANDLE_CHARSETS
			INT_VAR
				infer_charsets = 1
			STR_VAR
				tra_path = EVAL ~%MOD_FOLDER%/LANG~
				noconvert_array = co#noconvert
				reload_array = co#reload
		END
J'ai créé le répertoire iconv au cas où c'était un pré-requis au 2nd essai.

Cocrane
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

On dirait que tu n'as pas installé l'utilitaire iconv.exe (et ses librairies) dans le répertoire iconv... ;)

En pièces jointes le mini-mod que j'ai utilisé pour convertir tes tra.
Fichiers joints
cdb_utf8.7z
(1.98 Mio) Téléchargé 65 fois
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Hum hum, on dirait que je suis au courant de rien. :-)

Ok je vais tenter avec l'outil. ^^

Cocrane
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Salut Freddy,
conversion Réussie. Mais tu t'en doutais, vu ce que tu m'as envoyé. ;-) Sympa de ta part. Je donnerai p.e ton nom à un vilain boss dans un mod. ;-P


JOURNAL
Concernant le journal, je ne comprends pas l'impact.
C'est la fonction ADD_JOURNAL qui n'est exécutée que si WeiDU détecte un jeu EE.
J'utilise uniquement les mots clés liés au journal gérés pour moi dans les .D ou .BAF. Je suppose qu'il n'y a pas de point à traiter sur mon mod.

Cocrane
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Pour les jeux EE, la fonction ADD_JOURNAL doit modifier un autre fichier (qui n'existait pas avec le EE, voire même avant une certaine version des EE) exploité par la nouvelle façon de présenter le journal de quête fonctionne. Il est donc important de l'utiliser sinon tes quêtes n'apparaitront pas ou seront mal gérées par le nouveau journal de quêtes.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Ok c'est noté. Il y a donc un impact à gérer.

Est ce que quelqu'un a un exemple de code pour voir comment ça se présente?
Si je comprends bien la syntaxe classique est à modifier dans les .D et .baf.
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Le nouveau fichier est BGEE.lua. Il recense les quêtes par groupes et l'interface règle l'affichage des groupes.

Voici un exemple de déclaration de la fonction ADD_JOURNAL.
Ainsi que des extraits de dialogue les utilisant : ici, et .
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Je reformule pour être sur d'avoir compris:

1- Tous les textes de quête doivent être écris dans le fichier BGEE.LUA

Exemple pour le dialogue du PNJ Isra
ADD_JOURNAL @19 @22 @33 @36 @63 @81 @113 @124 @129 @155 @168 @175 @191 USING ~isra_bg2/translations/%LANGUAGE%/rh#isr.tra~

2- Les quêtes sous fichier .baf ou .D liés Isra doivent faire référence à ce même fichier isr.tra
AddJournalEntry(@19 /* A Family Affair + ...

3-Mots clé de gestion du journal durant une partie
Pas de changement par rapport à la version BG non EE.
AddJournalEntry
UNSOLVED_JOURNAL
etc...


Je profite de ce poste pour avoir votre avis.
Une quête peut présenter X étapes et issues liées à X cartes ou X PNJ concernés. Cela représente un suivi un peu lourd sur finalement les X fichiers liés à cette quête. Personnellement, j'ai perdu pas mal de temps à cette gestion.

Je suis en train d'opter pour une gestion centralisé:
-1 fichier quetes.TRA contenant tous les textes de quête. (avoir une vue d'ensemble)
-1 region TRAP sur les cartes stratégiques liées à un fichier quetes.BAF (gestion des textes de quêtes) lié lui même au fichier quetes.TRA
-si un événement provoque l'évolution d'une quête:
-la variable quête prendre une valeur.
-le REGION trap est activé.
-le .baf s'execute et met à jour la quete selon la valeur de la variable.
-le REGION trap est désactivé.

Qu'en pensez-vous?
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Cocrane a écrit :
1- Tous les textes de quête doivent être écris dans le fichier BGEE.LUA

Exemple pour le dialogue du PNJ Isra
ADD_JOURNAL @19 @22 @33 @36 @63 @81 @113 @124 @129 @155 @168 @175 @191 USING ~isra_bg2/translations/%LANGUAGE%/rh#isr.tra~
C'est justement ce que fait la fonction ADD_JOURNAL. ;)
2- Les quêtes sous fichier .baf ou .D liés Isra doivent faire référence à ce même fichier isr.tra
AddJournalEntry(@19 /* A Family Affair + ...
Isra était un vieux mod, et je n'ai pas voulu le modifier complètement, même si Rhaela m'avait laissé carte blanche pour sa mise à jour. Ce que je te conseille, c'est d'externaliser tous tes textes de journal dans un fichier journal.tra (en utilisant des numéros de strref atypiques comme @10001 par exemple pour éviter toute interférence avec les autres fichiers tra), puis d'utiliser la commande

ADD_JOURNAL xxxxxxxxxxxxxxxxx USING ~mymod/lang/%LANGUAGE%/journal.tra~
3-Mots clé de gestion du journal durant une partie
Pas de changement par rapport à la version BG non EE.
AddJournalEntry
UNSOLVED_JOURNAL
etc...
Ouaip.
Je profite de ce poste pour avoir votre avis.
Une quête peut présenter X étapes et issues liées à X cartes ou X PNJ concernés. Cela représente un suivi un peu lourd sur finalement les X fichiers liés à cette quête. Personnellement, j'ai perdu pas mal de temps à cette gestion.

Je suis en train d'opter pour une gestion centralisé:
-1 fichier quetes.TRA contenant tous les textes de quête. (avoir une vue d'ensemble)
-1 region TRAP sur les cartes stratégiques liées à un fichier quetes.BAF (gestion des textes de quêtes) lié lui même au fichier quetes.TRA
-si un événement provoque l'évolution d'une quête:
-la variable quête prendre une valeur.
-le REGION trap est activé.
-le .baf s'execute et met à jour la quete selon la valeur de la variable.
-le REGION trap est désactivé.

Qu'en pensez-vous?
Parce que tu fonctionnais différemment ? C'est le découpage le plus simple. ;)

Perso, j'utilise le fichier gw_cartes pour installer toutes les infos des cartes, un fichier gw_quete_xxx par quête secondaire. Idem pour les autres éléments : gw_items pour installer les objets, gw_kits pour installer les kits, gw_divine_spells et gw_arcane_spells pour les sorts...
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Ok, vu pour le journal et ce qu'il y a à gérer en mode EE.
Parce que tu fonctionnais différemment ? C'est le découpage le plus simple.
J'avais pris l'habitude de gérer les textes de journal au fil de l'eau avec les fichiers liés au PNJ ou la carte liée à l’événement. Et ensuite je suis tombé sur un cas où la quête pouvait évoluer dans x endroits avec les mêmes messages. Ca m'a un peu calmé sur la méthode "cigale", vu que j'aime bien retoucher texte. ^^

Cocrane
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

J'ai un soucis TP2 avec ADD_JOURNAL:

Code : Tout sélectionner

Processing quests and journals
FAILURE:
ERROR: ADD_JOURNAL could not extract a title string
Code source

Code : Tout sélectionner

ACTION_IF is_ee BEGIN
 ADD_JOURNAL @1 @2 @3 @4 @101 @102 @103 @104 @105 @201 @202 @203 @204 @205 @206 @301 @302 @303 @304 @305 @306 @307 @401 @402 @403 @404 @405 @406 @407 @408 @409 @410 @411 @412 @501 @502 USING ~CDB\LANG\FRENCH\quete.tra~  
END
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Impossible de te répondre sans le détail de ton code et de tes fichiers tra. ;)
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

Salut Freddy,

en PJ:
TP2 + TPA + le fichier Quete.tra.

Cocrane
Fichiers joints
CDB journal.rar
(5.9 Kio) Téléchargé 30 fois
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Tu dois regrouper les strrefs du journal par quête : Une mystérieuse cave, Sortir d'ici, etc.

Ce qui donne :

Code : Tout sélectionner

ADD_JOURNAL @1 @2 @3 @4 USING ~CDB/LANG/FRENCH/quete.tra~  
ADD_JOURNAL @101 @102 @103 @104 @105 USING ~CDB/LANG/FRENCH/quete.tra~  
ADD_JOURNAL ... USING ~CDB/LANG/FRENCH/quete.tra~  
Par ailleurs:

1. Tu peux supprimer la condition ACTION_IF is_ee BEGIN qui est traitée par défaut par la fonction.
2. Fais attention à la nomenclature de tes strrefs. Lors du traitement des dialogues et des scripts, si l'une des strrefs du fichier de dialogue a le même numéro que l'une de celles du journal, tu risques d'avoir des problèmes. C'est pourquoi je t'avais suggéré d'utiliser des numéros improbables comme @99001, @99002...
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Répondre

Retourner vers « Le champion de Bhaal »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité