Traduction

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • Manimal
    Compte archivé

    • décembre 2005
    • 239

    #16
    La longueur des phrases était souven délimitée par une caractère NULL (hexa=00)

    Que de prises de têtes pour arriver à faire tenir ma traduc dans de telles conditions !

    Il faudrait modifier toutes les adresses du programmes (tables d'@, CALLs et autres ) ce qui revient à le ré-écrire intégralement et à le recompiler...

    Par contre, peu de gens savent qu'on peut changer un VIEUX jeu QWERTY en jeu AZERTY en ré-écrivant la table des caractères. (pas fastidieux du tout)
    Dernière modification par Manimal, 20 mars 2006, 02h22.
    [I]"L'intelligence Artificielle n'a aucune chance en face de la Stupidité Naturelle !"[/I]

    Commentaire

    • Dorian Gray
      Compte archivé

      • septembre 2003
      • 992

      #17
      Envoyé par Manimal
      La longueur des phrases était souven délimitée par une caractère NULL (hexa=00)
      C'est vrai quand le programme a été compilé à partir de sources en C. Quand les sources sont en assembleur ou en Pascal, le caractère de fin de chaîne est le $
      On retrouve même les 2 dans certains jeux (C +assembleur)

      Envoyé par Manimal
      Il faudrait modifier toutes les adresses du programmes (tables d'@, CALLs et autres ) ce qui revient à le ré-écrire intégralement et à le recompiler...
      J'utilise des méthodes beaucoup plus rapides;
      -Soit je désassemble, nettoie le source, traduis ou fais traduire et réassemble. (Supaplex, Mean Streets, ...)
      -Soit je définis dans un fichier ini les addresses qui utilisent ces textes et je les passe à un prog perso qui exporte et importe ces textes en les plaçant là où il trouve de la place, ce qui oblige à raccourcir certains textes pour que d'autres puissent être rallongés et que tout rentre. (Sherlock Holmes, Inherit the earth, ..)

      Envoyé par Manimal
      Par contre, peu de gens savent qu'on peut changer un VIEUX jeu QWERTY en jeu AZERTY en ré-écrivant la table des caractères. (pas fastidieux du tout)
      Quand le programme utilise des tables pour ça, Il y a non pas une table mais 2:
      - Celle de reconnaissance du code clavier.
      - Celle d'affichage des caractères.
      Les 2 sont à modifier.
      Voir dans le fichier keyboard.txt dans les sources assembleur de Supaplex par exemple
      On le voit bien aussi dans dosbox quand on essaye de reconfigurer les touches avec Ctrl-Alt-F1, pour chacune il y 2 codes à rentrer.
      [URL=http://perso.wanadoo.fr/fingus-winkle/OldWareTools.html][IMG]http://perso.wanadoo.fr/fingus-winkle/OldWareTools_Name.gif[/IMG][/URL]

      Commentaire

      • Manimal
        Compte archivé

        • décembre 2005
        • 239

        #18
        Envoyé par Dorian Gray
        Quand le programme utilise des tables pour ça, Il y a non pas une table mais 2:
        - Celle de reconnaissance du code clavier.
        - Celle d'affichage des caractères.
        Les 2 sont à modifier.
        Voir dans le fichier keyboard.txt dans les sources assembleur de Supaplex par exemple
        On le voit bien aussi dans dosbox quand on essaye de reconfigurer les touches avec Ctrl-Alt-F1, pour chacune il y 2 codes à rentrer.
        j'ai des vagues souvenirs poussièreux de mes bidouilles et auto-documentations dans les années 90 : la scan code et le code page.
        sans parler des codes à 2 octects comme pour les touches de fonctions ou les flêches de direction...
        une instruction switch semblait être la solution pour gérer des menus genre "pressez telle touche".
        Dernière modification par Manimal, 23 mars 2006, 03h43.
        [I]"L'intelligence Artificielle n'a aucune chance en face de la Stupidité Naturelle !"[/I]

        Commentaire

        • Netoale
          Compte archivé

          • mars 2004
          • 12

          #19
          Envoyé par Dorian Gray
          J'utilise des méthodes beaucoup plus rapides;
          -Soit je désassemble, nettoie le source, traduis ou fais traduire et réassemble. (Supaplex, Mean Streets, ...)
          Moi, je me suis pas mal pris la tête pour essayer de faire ce que tu dit avec L'exécutable du je ARENA. (sous Dos) .... sans succés. peut-tu alors me dire de quelle manière tu t'y ais pris exactement?, quels programes as-tu utilisé?

          Commentaire

          • Dorian Gray
            Compte archivé

            • septembre 2003
            • 992

            #20
            Désassemblage/Assemblage
            Pour le désassemblage j'utilise Sourcer 8
            Pour l'assemblage regarde dans ma signature, j'ai mis avec chaque source assembleur ce qu'il faut pour l'assembler.
            Mais avant de pouvoir modifier les textes et assembler sans problème, il faut compter au bas mot 1 à 2 semaines de travail intensif pour nettoyer le fichier source:
            - Corriger les erreurs de désassemblage qui empêchent d'assembler.
            - Corriger les instructions qui provoquent un décalage entre l'ancien et le nouvel exe.
            - Corriger tout ce qui provoque des différences non acceptables entre l'ancien et le nouvel exe.
            - Corriger le désassemblage en instructions au lieu de données et vice-versa.
            - Remplacer toutes les références par addresse aux textes (et aux données qui suivent dans le même segment) par des noms. C'est là le plus gros boulot, sinon au moindre changement de taille d'un texte, le code va aller accéder aux données d'après à une mauvaise addresse.

            Export/Import
            Pour le programme d'export/import des textes d'un exe regarde aussi dans ma signature au jeu Inherit the Earth et prends les 2 outils d'export/import des textes d'exe.
            Dans chaque archive il y a mon prog d'E/I, Le fichier Ini correspondant à l'exe du jeu, et l'exe du jeu.
            Mon prog pour la version Cd du jeu est plus à jour mais compatible quand même avec l'autre.
            L'exe Floppy peut s'agrandir, l'autre non car je ne savais pas faire à l'époque pour les programmes utilisant Dos4gw.
            Mais il faut quand même avoir plus que des notions d'assembleur pour retrouver dans l'exe les emplacements qui accèdent aux textes et définir ces adresses dans le fichier Ini.
            Dernière modification par Dorian Gray, 17 mai 2006, 14h32.
            [URL=http://perso.wanadoo.fr/fingus-winkle/OldWareTools.html][IMG]http://perso.wanadoo.fr/fingus-winkle/OldWareTools_Name.gif[/IMG][/URL]

            Commentaire

            • Netoale
              Compte archivé

              • mars 2004
              • 12

              #21
              Ok, merci.
              En fait j'avais déjà essayé de faire plus ou moins ce que tu dit. Mais je ne suis pas assé calé en assembleur. j'ai donc abandoné. En tout cas tu as eu bein du courrage de faire tout ça.

              Commentaire

              Chargement...