Pizza Tycoon : questions pour une traduction française

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • StraToN
    Peon

    • avril 2004
    • 23

    #1

    Pizza Tycoon : questions pour une traduction française

    Bonjour à tous.

    La récente vidéo de Sylvain Rocher (sylvain_rocher) sur sa traduction de Ultima Underworld m'a intéressé au plus haut point. En effet, elle a un peu ravivé mon envie de traduire un jeu que j'ai toujours beaucoup aimé, et il s'agit de Pizza Tycoon.

    J'avais déjà eu l'occasion il y a très longtemps de me pencher sur l'utilisation d'un editeur hexadécimal pour effectuer des modifications sur toutes les strings qui sont encodées directement à l'intérieur, et ça marche d'ailleurs plutôt bien, en témoigne ces quelques résultats :

    Cliquez sur l'image pour la voir en taille réelle   Nom : 		image.png  Affichages :	8  Taille :		43,1 Ko  ID : 			895220Cliquez sur l'image pour la voir en taille réelle   Nom : 		image.png  Affichages :	7  Taille :		39,4 Ko  ID : 			895221


    Toutefois, je m'attends évidemment à rencontrer les mêmes soucis qu'a rencontrés Sylvain (et certainement tous les traducteurs géniaux de ce forum et des autres (j'ai Planete-Aventure en tête)), à savoir les accents, les dépassements qui vont me forcer à écrire certaines traductions dans des zones libres et rediriger des pointeurs. Cependant, je me heurte à plusieurs écueils.

    Les accents et les polices d'écriture
    Malgré son succès, Pizza Tycoon n'a pas bénéficié dans sa communauté passionnée de beaucoup de bidouilleurs qui ont tenté de décoder ses fichiers comme cela semble avoir été le cas pour Ultima Underworld. J'ai trouvé ce wiki, mais il manque cruellement de détails. Il est même en risque de suppression. Je l'ai tout de même aspiré en local, au cas où il disparaîtrait sans préavis.

    En l'occurrence, il y a quelques descriptions intéressantes pour permettre de décoder les images du jeu, mais pour le reste (sons, polices...) c'est une autre histoire.

    Comme on peut le voir sur mes tentatives ci-dessus, les accents qui manquent vont rapidement causer des soucis. Disons que ça sera "ok" sans accents mais j'aimerais me diriger vers quelque chose d'un peu plus qualitatif.
    Certaines strings se trouvent dans des fichiers texte non compressés (dossier T/) et il est relativement simple de constater que les accents placés dans ces fichiers sont zappés par le jeu (ci-dessous, 1ème ligne, on devrait avoir "J'ai besoin d'un prêt") :

    Cliquez sur l'image pour la voir en taille réelle   Nom : 		image.png  Affichages :	7  Taille :		52,7 Ko  ID : 			895222​

    J'ai donc l'impression que les polices du jeu n'incluent pas d'accents, ou le jeu ne les gère tout simplement pas. Néanmoins, le jeu original était en allemand, langue qui comporte des accents (ü, ö...) donc j'aimerais vérifier le contenu des fichiers de fontes.
    edit: j'ai testé tous les accents, y-compris ceux utilisés en langue allemande : ils sont également sautés. Je suppose que la version allemande utilisait d'autres fichiers de polices d'écriture.

    C'est là qu'est mon problème : je ne connais pas la structure de ce fichier et je n'ai pas trouvé de documentation sur le sujet. Disposez-vous d'un lien vers une éventuelle base d'information centralisée (on peut rêver) sur ce sujet ? Je ne sais pas trop comment ça se passait à l'époque : les développeurs utilisaient-ils une nouvelle méthode d'encodage à chaque fois, ou bien est-ce qu'il y avait un partage de méthodes entre les développeurs ? Sinon, il faudra que je me colle à essayer de décoder ça moi-même, et ça ne sera pas de la ~tarte~ pizza.

    Décompiler l'EXE
    Je joue de malchance : IDA Pro ne semble pas capable d'ouvrir l'exécutable du jeu (PT.exe), il me renvoie cette erreur :
    /hdd2to/Lutris/pizza-tycoon/data (copie)/PT.EXE is not a PE file.

    This version of IDA can only disassemble PE files

    To obtain the full version which can disassemble many other file formats please visit https://www.hex-rays.com
    ​
    Donc l'executable n'est pas un Portable Executable, c'est surprenant mais OK.
    J'ai tenté d'utiliser un autre décompilateur (Reko) qui semble mieux s'en sortir, mais je ne sais pas encore comment m'en servir pour effectuer des redirections de pointeurs.

    Je vous remercie pour vos réponses à ces questions.
    ​
  • Stamparade
    Abandonwarriors


    • décembre 2012
    • 1109

    #2
    J'ai supprimé les doublons...

    Merci pour ce post et pour ta question. J'espère que tu auras très vite toutes les informations nécessaires.

    Commentaire

    • Sylvain_rocher
      Paladin


      • septembre 2024
      • 708

      #3
      Salut !
      Je suis ravi de voir que ça t’a motivé à te relancer dans l’aventure !!!
      Pour les FONT, il est possible que le jeu appelle directement celles de DosBox, mais la, vu tes captures, ça m’étonnerait. Je pense que tu dois avoir des fichiers qui les contiennent. Il me semble que Hrvg a des outils permettant d’aller regarder s’ils contiennent des font.

      Tu as raison de t’attaquer d’abord à ça. J’ai encore très peu d’expérience dans la traduction, mais il est sage de débuter par l’identification d’où sont les textes, comment ajouter les accents, se projeter sur la charge de boulot sur l’EXE, c’est ce qui prend le plus de temps. Puis une fois que c’est fait, tu peux dérouler la traduction.

      Je pourrais filer un coup de main sur le décodage des fichiers graphiques si besoin

      Commentaire

      • Hrvg
        Abandonwarriors


        • février 2007
        • 3262

        #4
        Bonjour,
        @ StraToN, bienvenu dans le monde de la traduction...
        Tu te lances dans un projet qui te tiens à coeur, bravo...
        Pour les fonts, as-tu essayé de modifier le code des lettres accentuées en OEM. Par exemple, la lettre é a le code E9, essaie de remplacer ce code par 82. Et teste dans le jeu.

        Commentaire

        • Hrvg
          Abandonwarriors


          • février 2007
          • 3262

          #5
          Je n'ai pas ce jeu et il n'est pas en abandonware... Cela va être difficile de t'aider. L'EXE est peut-être compressé et IDA ne peut pas le lire.

          Commentaire

          • Hrvg
            Abandonwarriors


            • février 2007
            • 3262

            #6
            IDAfree50 peut fonctionner, mais il faut tester un pointeur pour le savoir.. Sinon, il te faudrait essayer : IDA.ver.4.15 (FULL).English

            Commentaire

            • Hrvg
              Abandonwarriors


              • février 2007
              • 3262

              #7
              J'ai essayé les deux IDA et ça ne fonctionne pas.

              Commentaire

              • StraToN
                Peon

                • avril 2004
                • 23

                #8
                Merci pour tous ces tests Hrvg

                Dans l'ordre :

                - J'ai testé l'utilisation du code 82 pour le caractère 'é', malheureusement cela n'a pas fonctionné non plus.

                - En ce qui concerne le décompilateur, j'ai testé avec ce site web qui semble permettre de lancer plusieurs décompilateurs à la fois : https://dogbolt.org/?id=0008a96a-39e...Hex-Rays=28659
                J'ai pu obtenir le code C décompilé. Evidemment cela demanderait beaucoup de temps pour comprendre comment tout cela fonctionne, mais je pense qu'il doit être possible de se limiter à la section qui charge les fichiers FNT correspondant aux polices. Si je peux décoder comment il est lu, je devrais pouvoir en extraire la structure.

                Autre possibilité intéressante : j'ai la forte impression que le jeu a été porté d'AMIGA vers MSDOS : j'ai trouvé une version allemande du jeu pour cette plateforme, et j'ai constaté que les fichiers FNT ne sont pas encodés de la même manière : il s'agit de polices Bitmap "classiques" composées d'un fichier "*.FONT" et un dossier du même nom contenant un fichier nommé avec un chiffre. Je ne sais pas exactement ce que signifie ce chiffre, mais apparemment c'est totalement standard sur AMIGA. Et ce chiffre correspond d'ailleurs au tout premier octet du fichier FNT de la version DOS... à creuser.
                Par ailleurs j'ai pu lire les fichier AMIGA à l'aide du programme Fony (http://hukka.ncn.fi/?fony). Ça fonctionne plutôt bien, par contre je ne sais pas bien m'en servir pour ajouter des accents dedans ; de toute façon ça ne serait pas forcément très utile. Par contre ça m'a permis de confirmer que les fichiers de la version allemande comportent bien les accents propres à cette langue (et pas les accents de la langue française...). Ce qui porte à croire que par souci d'optimisation, les caractères accentués étaient sans doute retirés pour la version anglaise.

                - Concernant le fait que l'EXE pourrait être compressé, il faudrait que j'essaie de le passer dans moulinette UNP (lu dans le topic d'intro à la traduction, je ne connais pas du tout)

                Commentaire

                • Hrvg
                  Abandonwarriors


                  • février 2007
                  • 3262

                  #9
                  Je pense qu'il y a peut-être les lettres accentuées. Voir capture d'écran
                  Fichiers attachés

                  Commentaire

                  • Hrvg
                    Abandonwarriors


                    • février 2007
                    • 3262

                    #10
                    - En ce qui concerne le décompilateur, j'ai testé avec ce site web qui semble permettre de lancer plusieurs décompilateurs à la fois : https://dogbolt.org/?id=0008a96a-39e...Hex-Rays=28659
                    J'ai pu obtenir le code C décompilé. Evidemment cela demanderait beaucoup de temps pour comprendre comment tout cela fonctionne, mais je pense qu'il doit être possible de se limiter à la section qui charge les fichiers FNT correspondant aux polices. Si je peux décoder comment il est lu, je devrais pouvoir en extraire la structure.

                    Autre possibilité intéressante : j'ai la forte impression que le jeu a été porté d'AMIGA vers MSDOS : j'ai trouvé une version allemande du jeu pour cette plateforme, et j'ai constaté que les fichiers FNT ne sont pas encodés de la même manière : il s'agit de polices Bitmap "classiques" composées d'un fichier "*.FONT" et un dossier du même nom contenant un fichier nommé avec un chiffre. Je ne sais pas exactement ce que signifie ce chiffre, mais apparemment c'est totalement standard sur AMIGA. Et ce chiffre correspond d'ailleurs au tout premier octet du fichier FNT de la version DOS... à creuser.
                    Par ailleurs j'ai pu lire les fichier AMIGA à l'aide du programme Fony (http://hukka.ncn.fi/?fony). Ça fonctionne plutôt bien, par contre je ne sais pas bien m'en servir pour ajouter des accents dedans ; de toute façon ça ne serait pas forcément très utile. Par contre ça m'a permis de confirmer que les fichiers de la version allemande comportent bien les accents propres à cette langue (et pas les accents de la langue française...). Ce qui porte à croire que par souci d'optimisation, les caractères accentués étaient sans doute retirés pour la version anglaise.

                    Là, c'est vraiment technique et je suis nul dans ce domaine... Mais, il y a des experts sur ce forum qui pourront t'aider.

                    Commentaire

                    • StraToN
                      Peon

                      • avril 2004
                      • 23

                      #11
                      Envoyé par Hrvg Voir le message
                      Je pense qu'il y a peut-être les lettres accentuées. Voir capture d'écran
                      Hmm, s'il y a les lettres accentuées dans le fichier alors il "suffirait" d'utiliser l'octet qui correspond. Mais si le caractère accenté dans le fichier n'est pas mappé à un octet "standard" alors je suis marron.
                      Peux tu me donner un lien vers ce logiciel magique que tu as utilisé dans tes captures d'écran s'il te plaît ? Ça me semble très intéressant.

                      Commentaire

                      • Hrvg
                        Abandonwarriors


                        • février 2007
                        • 3262

                        #12
                        Je pense qu'il y a seulement les lettres allemandes.
                        Fichiers attachés

                        Commentaire

                        • Sylvain_rocher
                          Paladin


                          • septembre 2024
                          • 708

                          #13
                          Envoyé par StraToN Voir le message

                          Hmm, s'il y a les lettres accentuées dans le fichier alors il "suffirait" d'utiliser l'octet qui correspond. Mais si le caractère accenté dans le fichier n'est pas mappé à un octet "standard" alors je suis marron.
                          Peux tu me donner un lien vers ce logiciel magique que tu as utilisé dans tes captures d'écran s'il te plaît ? Ça me semble très intéressant.
                          Tu peux aussi tenter d’essayer toutes les valeurs d’octets et voir comment réagit le jeu (j’ai fait ça sur Ultima 1, où le FONT ne correspond pas au caractère ASCII de la lettre).

                          Mais de ce que montre Hrvg , on dirait bien que tu n’as que les lettres avec l’Umlaut Allemand (les trémas )

                          Commentaire

                          • Hrvg
                            Abandonwarriors


                            • février 2007
                            • 3262

                            #14
                            @ StraToN,
                            Je t'ai envoyé le lien en MP. Dis-moi si tu l'as reçu, merci.

                            Commentaire

                            • Hrvg
                              Abandonwarriors


                              • février 2007
                              • 3262

                              #15
                              Envoyé par Sylvain_rocher Voir le message

                              Tu peux aussi tenter d’essayer toutes les valeurs d’octets et voir comment réagit le jeu (j’ai fait ça sur Ultima 1, où le FONT ne correspond pas au caractère ASCII de la lettre).

                              Mais de ce que montre Hrvg , on dirait bien que tu n’as que les lettres avec l’Umlaut Allemand (les trémas )
                              Il y a des fonts avec toutes les lettres accentuées, mais qui doivent servir pour d'autres textes.

                              Commentaire

                              Chargement...