Lisez bien la FAQ. Pour poster un message ou poser une question, vous devez être enregistré. Vous n'êtes pas obligé d'être connecté pour lire les messages et voir les contenus.
Nous espérons que vous trouverez vos réponses ici, et n'hésitez pas à participer.
Bonne visite !
Sur ces forums, il est possible d'aborder n'importe quels sujets, de façon sérieuse ou pas !
Afin de préserver son harmonie et éviter les débordements, nous avons établi un ensemble de règles très simples que nous vous demandons de respecter.
1) Les thèmes suivants ne doivent jamais être abordés: La politique, La religion, La haine raciale, La pédophilie. Faites appel à votre bon sens pour éviter tout autre sujet susceptible de provoquer une polémique trop violente.
2) Ce forum est destiné à l'Abandonware (jeux a l'abandon) et le jeu vidéo. Les discussions ou liens vers un contenu illégal (piratage, désinformation, complotisme...), ou vers des contenus adultes, financiers, religieux... seront systématiquement effacés.
3) Ne publiez pas d'images dans vos messages qui pourraient choquer les autres visiteurs (rappel, le public peut être très jeune).
4) Lorsque vous lancez un sujet, veillez à ce qu'il soit dans le forum approprié (ne faites pas par exemple une requête dans le forum Discussion générale / Le bar des amis).
5) Il est souhaitable de ne pas faire dévier un sujet, ne serait-ce que par respect pour celui ou celle qui a lancé la discussion.
6) Avant de poser une question d'ordre (technique, requêtes...), assurez-vous qu'elle n'ait pas déjà été posé via la recherche.
6) Nous détestons le SPAM et le Flood ! Évitez donc de poster des messages inutiles et de façon répétée.
7) Peace and Love ! Les forums sont un endroit de détente, amusez-vous, ne vous prenez pas la tête inutilement en public.
8) Les administrateurs et modérateurs sont présents pour s'assurer que les règles et les personnes soient respectées. Leurs décisions sont elles-mêmes à respecter.
9) Ce forum n'est pas un téléphone portable ! Un forum est un lieu où on prend le temps, donc évitez le langage "texto/SMS". De plus, vos messages ne sont pas limités à 160 caractères, alors s'il vous plait, écrivez correctement ! Clairement, on ne va pas vous tomber dessus pour un "s" oublié ou pour un accord incorrect, mais pas de "g chrché c je pandan dé mwa"! Copiez-collez votre message dans Word pour profiter du correcteur orthographique, au besoin.
Ces règles sont très importantes, merci de les respecter ! En cas de non-respect, vous pourrez recevoir un avertissement, ou en fonction de la faute, être banni temporairement, voir définitivement du forum.
Merci à vous et bonnes discussions
La traduction d'Ultima Underworld II va commencer, doucement, avec RetroArchives !
Comme pour le premier, les textes ont été extraits dans un fichier Excel sur lequel Retro va pouvoir commencer à travailler (pendant que je continue la trad d'Ultima 1 ...), et j'ai déjà reporté des modifications d'oFF_rus pour la construction des phrases.
Il y a la même charge de boulot (si ce n'est plus) que pour le premier, et il faudra aussi modifier les éléments graphiques bien sûr, et surtout s'attaquer à l'EXE. Mais ça viendra dans un second temps
Quand la traduction sera faite, si ça peut aider, je ferai une relecture comme pour le 1 (pour les coquilles et les fautes) (et si j'ai le temps). Comme on l'a vu, c'est toujours bon d'être plusieurs à relire.
Dernière modification par GT400, 13 décembre 2024, 15h32.
As the mist clears, the eerie image of a forest forms in front of you. To the east, a vast plain extends towards the horizon. Westward howewer, in the thick of the forest, a thousand pairs of eyes pierce the mist, glaring despondently back at you.
Quand la traduction sera faite, si ça peut aider, je ferai une relecture comme pour le 1 (pour les coquilles et les fautes) (et si j'ai le temps). Comme on l'a vu, c'est toujours bon d'être plusieurs à relire.
Quelques petites news : la traduction commence doucement. RetroArchives a traduit quelques textes, j'ai reporté d'autres traduction du 1. Le report des polices et des lettres avec accents de la traduction du 1 a été aussi rapide que je le pensais, ce qui est une excellente nouvelle ! Voici l'écran de création de l'Avatar pour exemple.
La traduction va peu avancer ces premiers mois par manque de temps. Je commencerai par faire les traductions un peu "techniques" (les éléments graphiques et l'EXE) pendant que Retro avance les autres textes, et d'ici fin février, je pense que je m'y consacrerai pleinement
Au passage, c'est normal que sur la capture d'écran "Force" n'ait pas été traduit et soir resté sous la forme "STR"?
Oui, pour le moment c’est normal car ce bout de phrase est dans l’EXE, et non dans le fichier des textes (STRINGS.PAK). C’était pareil dans le 1. Je te rassure, ce sera traduit à terminaison bien sur
Je requière votre aide, j'ai un soucis sur la lecture de certaines images du jeu à traduire : le format a changé depuis Underworld 1.
J'ai un fichier (BYT.ARK) qui contient les images qui m'intéressent : il a un header qui donne le nombre d'images, leur adresse et leur taille. Les données sont compressées, et un algo permet de retrouver les données d'origine. Les seules infos que j'ai pu trouver sur la manière dont sont compressées les images sont celles-ci, en anglais (il faut comprendre qu'un "block" correspond à une image dans le fichier, et ils sont tous compressés) :
A compressed block always starts with an Int32 value that is to be ignored.
If a block is actually compressed, it can be divided into subblocks.
Each compressed subblock starts with an Int8 number; the bits from LSB to
MSB describe if the following byte is just transferred to the target buffer
(bit set) or if we have a copy record (bit cleared). After 8 bytes or copy
record, the next subblock begins with an Int8 again.
The copy record starts with two Int8's:
0000 Int8 0..7: position, bits 0..7
0001 Int8 0..3: copy count
4..7: position, bits 8..11
The copy count is 4 bits long and an offset of 3 is added to it. The
position has 12 bits (accessing the last 4k bytes) and an offset of 18 is
added. The sign bit is bit 11 and should be treated appropriate. As the
position field refers to a position in the current 4k segment, pointers
have to be adjusted, too. Then "copy count" bytes are copied from the
relative "position" to the current one.
Dans mon cas, sur la première image qui commence à l'adresse 0xB6 :
A compressed block always starts with an Int32 value that is to be ignored.
C'est la valeur 0x00FA0000 qu'on retrouve en début de chaque image/block (en bleu dans ma capture) : tout va bien jusque là.
Each compressed subblock starts with an Int8 number; the bits from LSB to
MSB describe if the following byte is just transferred to the target buffer
(bit set) or if we have a copy record (bit cleared).
Le premier octet du sous bloc a la valeur 0x01 (en rouge dans ma capture), donc en binaire, du LSB (Lesser Significant Bit) au MSB, ça fait bien 1 0 0 0 0 0 0 0.
Le 1er bit est à 1, donc l'octet qui suit (0x03, en orange) est à prendre directement en tant que premier pixel de l'image (le target buffer, c'est l'image à terminaison).
Pour la suite, il faut réaliser une "copy record". Donc j'applique ce qui est indiqué :
The copy record starts with two Int8's:
0000 Int8 0..7: position, bits 0..7
0001 Int8 0..3: copy count
4..7: position, bits 8..11
The copy count is 4 bits long and an offset of 3 is added to it. The
position has 12 bits (accessing the last 4k bytes) and an offset of 18 is
added. The sign bit is bit 11 and should be treated appropriate.
Le premier octet vaut 0xEE=1110 1110 (en vert), le second 0xFF=1111 1111 (en jaune).
Donc "copy count", c'est les 4 premiers bits de FF plus 3, soit : 15 + 3 = 18
La position vaut en binaire 1111 1110 1110 + 18 (4 premiers bits, de poids forts, issus de FF, les autres c'est EE). Le bit de poinds fort valant 1 (donc position négative), la position vaudrait donc : - (2030 + 18) = -2048
Admettons ... c'est là que ça se corse :
As the position field refers to a position in the current 4k segment, pointers
have to be adjusted, too. Then "copy count" bytes are copied from the
relative "position" to the current one.
La position semble être relative à la courante, mais ce n'est pas possible car la position est négative, donc je sors du bloc (même du fichier en l'occurence pour ce premier bloc). Je ne comprends pas exactement ce qu'il appelle "segment" : le fait que la position soit codée sur 12 bits fait qu'elle ne peut en effet coder des valeurs entre 0 et 4095 (en faisant abstraction du signe), mais à part ça, ça ne dit pas où aller chercher. Je ne comprends pas non plus la phrase "pointers have to be adjusted" : de quels pointeurs parle-t-il ?
Bref, en l'état, je ne sais pas trop comment avancer car je n'ai grand chose à tester pour essayer d'avancer. Je n'ai pas l'impression que c'est un problème de compréhension de l'anglais, mais bon à ce stade, je suis prêt à toutes éventualités
Fichiers attachés
Dernière modification par Sylvain_rocher, 04 janvier 2025, 21h29.
Bonne chance pour la suite, car cela ne semble pas facile de jongler avec les nombreux offset et cies.
Je ne connaissais pas cet outil. De ce que j’ai lu sur leur page et dans les vidéos, je ne vois pas comment il serait capable de décompresser des données par un algorithme maison… d’autant que ces données ne contiennent pas de textes puisque ce sont des images.
Nouvelles du matin : j’ai réussi à décompresser le fichier c’est bon ! Le code récupéré avait des bugs pour la décompression des images (c’était indiqué dans le readme, il ne marchait bien que pour la décompression des conversations). Mais du coup ça m’a aidé à mieux comprendre l’algo : je confirme qu’avec juste le texte que je vous ai cité, j’aurais jamais trouvé …
Bref, c’est une bonne nouvelle pour la traduction, mais j’ai fait que la moitié du chemin : il faut que je code l’algo de compression maintenant
Immense joie dans mon train Paris-Bordeaux : j'arrive à reconstruire le fichier d'origine !!!! Ci-dessous la carte traduite.
Pour les curieux, j'ai rusé car je suis fainéant ... en commençant à implémenter un algo de compression, je me suis rendu compte que ça allait être long, galère et que j'avais pas envie. Donc plutôt que recompresser les données, j'ai plutôt dit au jeu d'arrêter d'utiliser son algorithme de décompression pour lire les données, et le forcer à les lire brut de fonderie ! Et ça a fonctionné ! Alors oui, les nouvelles données font 600ko au lieu de 170ko, mais bon, en 2025, who cares ?
Après une semaine dessus, j'ai ENFIN réussi à finir proprement la traduction du menu principal. Il était vraiment très très galère, beaucoup moins facile que pour Underworld 1. Sur un point en particulier, et c'est plutôt étonnant.
En fait, le jeu affiche d'abord une image sur laquelle il superpose 4 petites images contenant les textes qu'on voit. Or, et à la différence de Underworld 1, et bien l'arrière-plan de ces 4 imagettes avec le texte sont décalés de plusieurs pixels par rapport à l'image d'origine, et c'est déjà vrai dans la VO (on peut le voir facile quand on tape sur "Journey Onward", si on fait attention, on voit que les pixels changent). Bref, avec la traduction, ça m'a sauté aux yeux et je me suis bien bien fait ch**** pour corriger cela et être pixel perfect
Nous collectons des données personnelles sur notre site, à travers l'utilisation des cookies ainsi que d'autres technologies, pour vous fournir nos services, des publicités personnalisées et pour analyser le trafic. Nous pouvons être amené à partager certaines informations avec les partenaires publicitaires et d'analyse. Pour plus de détails, veuillez consulter la politique de confidentialité.
En cliquant sur « J'accepte » ci-dessous, vous acceptez notre politique de confidentialité ainsi que la collecte de données personnelles et l'utilisation de cookies comme décrit. Vous reconnaissez aussi que ce forum peut être hébergé en dehors de votre pays de résidence et que vous consentez à la collecte, le stockage et l'utilisation de vos données dans le pays où ce forum est hébergé.
Commentaire