Page 15 sur 29

Posté : mer. 03 août 2016, 20:39
par Strigiodin
A Brynnlaw, lorsque Ginia nous raconte son histoire, une partie est tronquée dans la VF. Si on suit les fenêtres de dialogues successives, cela donne :
@16323 =Puis les pirates arrivèrent, avec le despote Desharik à leur tête. Desharik avait perdu une guerre contre un autre roi pirate. Acculés aux abords de cette île, ses navires envahirent la ville.

- Ils prirent nos maisons. Desharik tua le maire et jeta son corps à la mer. Nous fûmes jetés à la rue.

- Nous avons supplié l'Asile de nous fournir un refuge mais les mages à l'intérieur nous ont fermé les portes.

- Il avait essayé de revenir dans notre maison et fut exécuté pour avoir enfreint la loi des pirates. Une fois qu'ils ont volé quelque chose, le propriétaire n'a plus aucun droit dessus.
=> En fait, dans la VO, il y a une phrase en plus dans l'avant-dernière fenêtres de dialogue citées ci-dessus :
"My father could take no more injustice."
Ce qui explique le début du contenu de la fenêtre suivante... qui pour le coup a été mal traduit.

Donc, à la suite de cette phrase :
" Nous avons supplié l'Asile de nous fournir un refuge mais les mages à l'intérieur nous ont fermé les portes."
il faudrait pouvoir tout de suite rajouter :
"Mon père n'en pouvait plus de cette injustice "
(si je traduis bien :$ )

Et pour finir corriger le temps au début de la fenêtre de dialogue qui suit, ce qui nous donnerait donc :
- Puis les pirates arrivèrent, avec le despote Desharik à leur tête. Desharik avait perdu une guerre contre un autre roi pirate. Acculés aux abords de cette île, ses navires envahirent la ville.

- Ils prirent nos maisons. Desharik tua le maire et jeta son corps à la mer. Nous fûmes jetés à la rue.

- Nous avons supplié l'Asile de nous fournir un refuge mais les mages à l'intérieur nous ont fermé les portes. Mon père n'en pouvait plus de cette injustice.

- ''Il essaya de revenir dans notre maison et fut exécuté pour avoir enfreint la loi des pirates. Une fois qu'ils ont volé quelque chose, le propriétaire n'a plus aucun droit dessus.

Posté : mar. 13 sept. 2016, 10:22
par Mornagest
Oups, pas pris le temps de te remercier pour avoir trouvé cette omission :)

J'ai terminé de mettre à jour des traductions de mods, je vais pouvoir reprendre tranquillement les deux patchs (BG1 et 2). Le temps de retrouver mes archives à jour... :gign:

Posté : lun. 19 sept. 2016, 19:10
par Mornagest
Voilà, les dernières erreurs signalées ont été intégrées (4 ans depuis la dernière version, tout de même :gign: ). Au total, environ 150 lignes ont été ajoutées par rapport à la version 1.2, et on atteint le nombre de 5343 lignes corrigées sur les 74106 que compte BG2, soit 7,2 % des lignes ^^

J'ai testé l'installation, qui se déroule sans anicroches. Vous trouverez la version 1.3 ici : http://www.baldursgateworld.fr/lacouron ... en-vf.html

Bon jeu !

Posté : lun. 19 sept. 2016, 20:15
par Freddy_Gwendo
Argh !

En effectuant la relecture de certains passages de mon mod, Lulubalayette a identifié certaines corrections à faire sur les textes vanilla. Je te passerai tout ça quand je les aurai regroupées.

Posté : lun. 19 sept. 2016, 20:20
par Mornagest
Ne te casse pas la tête à refaire des fichiers séparés : je dois de toute façon intégrer les lignes dans le bon ordre, donc je refais le travail. Mets-les ici en vrac, c'est aussi bien pour moi et ça t'évite du travail ;) merci, en tout cas :)

Posté : sam. 29 juil. 2017, 08:52
par Freddy_Gwendo
Fossy, pour info, voici mes notes sur les épées. Je regroupe le tout au fur et à mesure.
Tu comprendras pourquoi je parlais d'un léger "lifting". ;)

Posté : sam. 29 juil. 2017, 13:24
par Mornagest
OK ; je vais les intégrer au fur et à mesure, sinon je vais me laisser submerger :p

L'ajout des restrictions d'objets est très intéressant, ça permet d'être bien plus clair que dans le jeu initial où plein d'équipement n'est pas utilisable par des kits sans que ce soit clairement indiqué... surtout que c'est une correction que je ne peux pas faire sans outil de modding pour analyser les fichiers d'objets.

As-tu un "truc" pour intégrer les nouvelles lignes dans le fichier principal du correctif, par ordre numérique ? Ou tu fais du copier-coller au bon endroit, ligne par ligne, comme je fais ? Ça m'arrangerait :gign:

En tout cas, merci beaucoup :)

edit : tu es sûr de ton fichier, par contre ? Je lis, dans l'encadré :
- Harmonisation des intitulés : épée à 2 mains --> épée à deux mains.
et je trouve les deux occurrences dans les descriptions des armes qui suivent :gign:

Posté : sam. 29 juil. 2017, 16:36
par Freddy_Gwendo
Attends avant d'intégrer : j'ai presque terminé de collecter l'ensemble des armes et j'ai encore modifié certaines des lignes du fichier précédent. De plus, j'ai mis de côté le bloc de tp2 que je comptais te donner une fois terminé.

Quant aux épées à deux mains, j'ai modifié uniquement "épée à 2 mains" dans l'intitulé des noms et dans les descriptions, mais pas dans le champ "Type de compétence", car je comptais vérifier comment certains mods effectuent des recherches-remplacements sur les descriptions pour être certain que cette modif ne casserait pas leurs traitements.


Sinon, la plupart de ces modifs ont été repérées lors de la relecture des armes de mon mod : avec Lulubalayette, on a recensé toutes les erreurs des descriptions génériques des armes de base que je reprenais pour les corriger (car j'avais eu la bonne - ? - idée d'inclure les incompatibilités avec les kits dans les miennes). C'est comme ça que j'ai standardisé les cartouches.
Dans le même ordre d'idée, je dois réunir mes notes sur les armures et sur certains objets : on est très loin des 250 modifs que tu comptais ajouter ! :whistle3:


Quant à ta question technique, je ne vois pas comment automatiser simplement le process, d'autant plus que certaines de mes corrections modifient des références déjà présentes dans le correctif...

Mais, j'avais pensé à un traitement par WeiDU :

1. Je lis le fichier tra.
2. Je repère les @10nnnnnn
3. Je les patche pour supprimer @10 et je construis un array :
trad => tlk
@10234567 => 234567
@10012345 => 12345
....
4. Je lance la commande :

Code : Tout sélectionner

    Pour chaque donnée de l'array
        SET STRING %tlk% %trad%
Je pourrais faire un essai avec quelques références pour voir si ça fonctionne. Si oui, ça permettrait d'ajouter de nouvelles références dans le fichier tra sans se soucier du fichier tp2 qui remplacerait dans le fichier tlk automatiquement toutes les références de traduction.

Sinon, il y a la technique utilisée par Isaya dans un [post=435301]utilitaire[/post] pour BG2EETrans mais que je ne maîtrise pas car il utilise sed que je ne connais pas. Ceci dit, j'ai lu le code et il doit être possible de le reproduire à condition de modifier les références @10nnnnnn par @nnnnnn.

Édit : exceptées les miennes, pourrais-tu conserver quelque part tes modifs du fichier tra pour que je vois avec Isaya comment les intégrer à la traduction de BG2:EE ? Ça serait beaucoup plus simple que de devoir retravailler sur le fichier global. ;)

Posté : sam. 29 juil. 2017, 18:58
par Mornagest
Argh. Tu parles des modifications faites depuis la précédente version (1.3 du 16 septembre 2016) ? Ça risque d'être coton, j'ai pris des notes à la volée puis j'ai appliqué directement les modifs dans le fichier, sans relever les numéros de lignes concernées...

Pour l'ajout de nouvelles lignes, finalement, ça peut passer en étant un peu patient. Je viens d'implémenter une centaine de lignes pour corriger "Haer'dalis" en "Haer'Dalis" et ça m'a pris un quart d'heure environ.

Je pourrais presque classer par ordre les nouveaux ajouts avec la commande "sort -n correcfr.tra" mais malheureusement, les retours à la ligne ne sont pas pris en compte et ils sont classés au début du fichier. La solution pourrait résider dans le fait de replacer ensuite ces retours à la ligne dans le fichier avec un rechercher/remplacer... je dois faire des essais.

J'attends donc tes nouvelles corrections. Petite suggestion pour cette histoire d'épée à deux mains : autant conserver la formule "technique" dont les mods ont besoin, non ? Histoire de voir partout la même formulation, non ?

Posté : sam. 29 juil. 2017, 19:31
par Freddy_Gwendo
Tant pis pour les modifs. :'(

J'ai terminé la plupart des armes et modifié d'autres choses : suppression des espaces en fin de ligne, des bonus de + et malus de -...
Il ne me reste plus qu'à traiter les armes spéciales (de NPC ou spécifiques comme celles des drows).

Avant de passer aux armures et divers, je vais essayer de coder mon idée, histoire de souffler un peu.
Puis j'irai faire un tour dans les mods qui modifient les descriptions pour trouver la meilleure formulation pour les compétences. Si ça s'avère trop compliqué, je les laisse en l'état puisqu'elles n'ont pas l'air de bloquer leur installation.


Pendant que j'y suis, j'ai envisagé un moment l'idée de partir d'un fichier tra du dialog.tlk complet dans lequel on aurait toutes les références du jeu. il suffirait de commenter (//) celles qu'on ne modifie pas. Le travail initial serait pénible mais une fois réalisé, il suffirait de décommenter et de modifier les références concernées par les prochaines mises à jour.

Posté : sam. 29 juil. 2017, 22:46
par Freddy_Gwendo
J'ai testé rapidement un petit code d'installation :

Code : Tout sélectionner

OUTER_FOR (i = 1000001 ; i < 1074107 ; ++i) BEGIN
	ACTION_IF FILE_CONTAINS_EVALUATED(~Diamant_Eternel/GW_CorrectfrBG2.tra~ ~@%i%~) BEGIN 
		PRINT "strref = %i%	==>	@%i%"
		PRINT "STRING_SET %i% @%i%"
//		SPRINT FR_correct EVAL "@%i%"
//		STRING_SET i %FR_correct%
	END
END
Résultat :

Code : Tout sélectionner

strref = 1000176	==>	@1000176
STRING_SET 1000176 @1000176

strref = 1000199	==>	@1000199
STRING_SET 1000199 @1000199
...
Ça fonctionne, mais c'est un poil long :

Code : Tout sélectionner

parsing .tra files               0.016
Parsing TP2 files                0.078
unmarshal KEY                    0.094
stuff not covered elsewhere      0.094
Parsing TPA files                0.141
READ_*                           0.188
ACTION_IF                        0.422
unmarshal TLK                    0.563
process_patch2                   1.500
eval_pe                         40.578
loading files                   69.484
TOTAL                          113.156
Ceci dit, je ne me souviens pas combien de temps le correctif met pour s'installer.

Autre test :

Code : Tout sélectionner

OUTER_FOR (i = 1 ; i < 74107 ; ++i) BEGIN
	ACTION_IF i < 10 BEGIN OUTER_TEXT_SPRINT FR_correct EVAL "@100000%i%"
	END ELSE 
	ACTION_IF i < 100 BEGIN OUTER_TEXT_SPRINT FR_correct EVAL "@10000%i%"
	END ELSE 
	ACTION_IF i < 1000 BEGIN OUTER_TEXT_SPRINT FR_correct EVAL "@1000%i%"
	END ELSE 
	ACTION_IF i < 10000 BEGIN OUTER_TEXT_SPRINT FR_correct EVAL "@100%i%"
	END ELSE 
	ACTION_IF i < 100000 BEGIN OUTER_TEXT_SPRINT FR_correct EVAL "@10%i%"
	END
	ACTION_IF FILE_CONTAINS_EVALUATED(~Diamant_Eternel/GW_CorrectfrBG2.tra~ ~%FR_correct%~) BEGIN 
		PRINT "strref = %i%	==>	%FR_correct%"
		PRINT "STRING_SET %i% %FR_correct%"
//		STRING_SET i %FR_correct%
	END
END

Code : Tout sélectionner

strref = 176	==>	@1000176
STRING_SET 176 @1000176
Un poil plus rapide :

Code : Tout sélectionner


Parsing TP2 files                0.031
unmarshal KEY                    0.078
Parsing TPA files                0.125
stuff not covered elsewhere      0.125
OUTER_TEXT_SPRINT                0.234
unmarshal TLK                    0.578
READ_*                           0.594
ACTION_IF                        1.250
process_patch2                   4.188
eval_pe                         39.844
loading files                   59.344
TOTAL                          106.391

Posté : dim. 30 juil. 2017, 08:50
par Mornagest
Le correctif s'installe en quelques secondes, peut-être moins de trois, je crois. Il n'y a que des modifications de dialogues, pas de scripts, donc ça va extrêmement vite...

Je pense que je ne comprends rien à ton code plus haut, par contre :gign: :p

Posté : dim. 30 juil. 2017, 16:29
par Freddy_Gwendo
C'est un script WeiDU qui crée automatiquement les STRING_SET nnnnnn @10nnnnnn à partir du fichier tra.

J'ai fait un test sans installation uniquement pour générer les STRING_SET à partir de mon fichier tra sur les armes. Il me reste à le modifier pour qu'il créée un fichier tph et ça deviendra un parfait petit utilitaire en phase de développement ou de mise à jour : Plus besoin de s'embêter à écrire les STRING_SET à la main, ils sont générés automatiquement (de 1 à 74106) à partir du fichier tra QUELQUE SOIT l'ordre de saisie dans le fichier tra.

En théorie, il suffit d'ajouter les nouvelles corrections à la fin du fichier tra, de lancer ma procédure WeiDU et en deux minutes on obtient un nouveau tph classé.
Restera à trouver le moyen de trier le tra pour que ce soit nickel. Mais dans un premier temps, ça fait gagner un temps fou.

Je le finaliserai ce soir.

Posté : dim. 30 juil. 2017, 16:35
par Mornagest
Super, bon travail :p arty: merci !

Posté : dim. 30 juil. 2017, 20:30
par Freddy_Gwendo
Dernière ligne droite : j'ai besoin de coup de main pour ceci :
Keldorn s'est distingué très tôt dans sa carrière de paladin, et il a reçu cette épée de Torm. Elle est particulièrement précise, mais le protège aussi au combat par un Bouclier de Feu, et quiconque le frappe quand il la tient subit la colère de Torm, en subissant des dégâts magiques. Seul Keldorn peut porter cette épée.
Une idée ?

Posté : dim. 30 juil. 2017, 20:42
par Mornagest
Recevant ?

Posté : dim. 30 juil. 2017, 20:44
par Pélagie
quiconque le frappe quand il la tient endure la colère de Torm, en subissant des dégâts magiques

Posté : dim. 30 juil. 2017, 20:48
par Freddy_Gwendo
@fossy : c'est justement parce que recevant ne me plaisait pas et que je préférais garder subissant pour les dégâts que j'ai posté. ;)

Pile poil, Pélagie ! Je prends ! ^^

Thanks à vous deux.

Posté : dim. 30 juil. 2017, 20:50
par Mornagest
Ah, ah, évidemment, si "recevant" est déjà le texte originel... :p

La proposition de Pélagie est bien, en effet :)

Posté : sam. 05 août 2017, 02:17
par Freddy_Gwendo
Pour finaliser mon script, j'ai besoin de connaître la limite des strings dans dialog.tlk pour BG2 afin de générer les deux tph (l'un pour BG2 de 0 à n, l'autre pour ToB de n + 1 à 74106).

Et comme je ne dispose pas de mes galettes sur moi, juste d'une version démat de BG2+ToB...

Posté : sam. 05 août 2017, 12:53
par Mornagest
Tu veux dire pour SoA seul ? Comment peut-on trouver cette info ? Il faut avoir une installation de SoA seule, c'est ça ?

Posté : sam. 05 août 2017, 13:03
par Freddy_Gwendo
Oui. Parce que le setup installe deux composants : l'un pour SoA, l'autre pour ToB.
J'ai fait une recherche rapide sur le forum à partir de dialog.tlk, mais je n'ai rien trouvé.
Et comme je ne vais pas pouvoir disposer de mes CD avant un bail, je ne peux pas installer BG2 seul pour vérifier. :gign:

Edit : J'ai fini par trouvé un fichier sur le net.

La dernière entrée est 62168 "Subissez la colère de Beshaba !"

>> Quelqu'un peut-il me confirmer que ce n'est pas le fichier original, mais le dialogue patché ?

Posté : sam. 05 août 2017, 18:49
par Mornagest
Voilà une archive qui contient dialog.tlk et dialogF.tlk de SoA édition 1 DVD sans patch v2.0.23035 (le jeu est normalement déjà patché).

Posté : sam. 05 août 2017, 20:31
par Freddy_Gwendo
Merci. ^^

J'avais raison, la dernière référence est bien 62168 "Subissez la colère de Beshaba !".

Par ailleurs, je viens juste d'en avoir confirmation par le mainteneur de NI :
Yes, 62168 is the last pure BG2-SoA string.

....

Highest string entry in

- BG1 without TotSC: 22185 (Thank you for finding my brother. I will always call you friend.)

- BG1 with TotSC: 24123 (Joia's Flamedance ring)

IWD+expansions is a bit weird. Their dialog.tlks all have different size, but NI and the TLK header report both the same number of string entries for the game with and without expansions. I can only assume that the game contains a great number of placeholders since the beginning which are fiilled with text by the expansions.

- IWD with and without expansions: 34501 (We spoke with Kresselack's spirit, and he claims he is not responsible for...)

- IWD2: 41421 (empty string entry)

Posté : dim. 06 août 2017, 07:49
par Freddy_Gwendo
Désolé pour le double post, mais je veux être certain d'obtenir une réponse. :$

Comme je n'ai pas le jeu, quel est le dernier string du fichier PsT:EE ?

Posté : dim. 06 août 2017, 08:03
par lefreut
Pour pst:ee, c'est 106833 (~Slots:~).

Posté : dim. 06 août 2017, 08:33
par Freddy_Gwendo
Merci !

Et je viens de me rendre compte qu'il me faut aussi celui de SoD pour être complet (au cas ou certains corrections sur BG:EE y seraient reportées). :$ :whistle3: :$

Posté : dim. 06 août 2017, 08:56
par lefreut
BG1EE s'arrête à 33999 (~placeholder~) et SoD va jusqu'à 71336 (~Drow Runaways...). ^^

Posté : dim. 06 août 2017, 09:14
par Freddy_Gwendo
Encore merci à toi !

J'avais BG:EE mais je n'imaginais pas que SoD rajoutait autant de textes : mazette, 37337 entrées à traduire, ça condamne carrément son éventuelle traduction... :gign:

Je vais pouvoir effectuer plusieurs tests sur mon utilitaire avant de le donner à Fossy.

Posté : dim. 06 août 2017, 13:48
par Freddy_Gwendo
Fossy, avec l'utilitaire, les deux fichiers créés (String_Set_BG2.tpa et String_Set_ToB.tpa) devraient permettre de simplifier le tp2 :

Code : Tout sélectionner

BACKUP ~correcfrBG2/backup~
AUTHOR ~Zefklop, Mornagest et Anomaly, de la Couronne de Cuivre ( http://www.baldursgateworld.fr/lacouronne/la-correct-zone/ )~
VERSION ~1.3 (2016-09-19)~
README ~correcfrBG2/Lisez-moi_BG2.txt~
LANGUAGE ~Francais~
         ~francais~
         ~correcfrBg2/francais/setup.tra~
         ~correcfrBG2/francais/correcfr.tra~

BEGIN @0
REQUIRE_PREDICATE GAME_IS ~soa tob tutu tutu_totsc bgt~ @3      // Baldur's Gate II indispensable, avec ou sans Throne of Bhaal, possibilité de Tutu ou BGT

	INCLUDE ~%MOD_FOLDER%/String_Set_BG2.tpa~


BEGIN @1
REQUIRE_PREDICATE (GAME_IS ~tob tutu tutu_totsc bgt~) AND (ENGINE_IS ~tob~) @2  // ToB indispensable

	INCLUDE ~%MOD_FOLDER%/String_Set_ToB.tpa~
après avoir copié les fichier tpa dans le répertoire du mod.

Ce qui t'éviterait une manip pénible.

Ça fonctionne aussi avec le correct pack pour BG qui produit les fichiers String_Set_BG.tpa et String_Set_TotSC.tpa. ;)

A toi de voir...