Inherit the Earth - quest for the orb

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • RyF
    Desp.R.Hate Zombie


    • avril 2001
    • 7205

    #1

    Inherit the Earth - quest for the orb

    bon j'ai un peu fouillé et voici ce qui en ressort.

    - SCRIPT.RSC contient les dialogues et descriptions, actuellement traductible grâce aux progs de Hibernatus

    - ITE.EXE contient les verbes de l'interface, les textes de la page d'option, les crédits, les textes de l'intro (bien qu'ils n'apparaissent pas?? une option en ligne de commande ou oubliée??, les dialogues de l'énigme du puzzle des outils, des textes génériques ("I can't pick that up", etc...),qq graphismes (pointeurs souris ? polices ?), les noms de objets(mais les quels, ceux afficher dans la fenêtre de jeu, ceux en mémoire pour les cripts d'interaction, l'inventaire...? apparemment les objets que l'on peut ramasser et allant dans l'inventaire)....

    - ITE.RSC contient les verbes de la barre d'affichage d'interaction, le nom des objets appraissant dans la barre d'affichage d'interaction, les noms des zones/objets actifs/ves de la zone de jeu.

    ITE.EXE et ITE.RSC sont pour l'instant limités par le nombre de caractères, à moins que l'un de vous ne trouve un moyen de rallonger les textes
    @+
    RyF
    Vieux de la Vieille de Lost Treasures Fr =^__^=

    Game Designer dans la Real Life ®©
  • RyF
    Desp.R.Hate Zombie


    • avril 2001
    • 7205

    #2
    j'avais oublié la pièce jointe avec le test
    Fichiers attachés
    @+
    RyF
    Vieux de la Vieille de Lost Treasures Fr =^__^=

    Game Designer dans la Real Life ®©

    Commentaire

    • H***
      Compte archivé

      • avril 2003
      • 674

      #3
      Ah excuse, on dirait que j'avais pas vu l'autre fichier. Pour l'instant j'aimerais pas le faire, même si ça doit être très rapide comme pour scripts.rsc, je suis à fond sur mon jeu Peut-être ce week end. Mais n'importe quel programmeur peut le faire rapidement si c'est comme scripts.rsc. Tiens, c'était pas MarvinS qui demandait à débuter dans ce domaine?
      Pour l'exe, je sais pas. Ya pas une version windows? Parce bon sur les exe windows je peux tout faire J'ai déjà dû le raconter ici, une fois j'ai modifié un jeu au point de rajouter de nombreuses fonctions, des menus, etc. Tout ça c'est possible en rajoutant des sections de code ou de data. Si quelqu'un connais les exes dos il pourrait nous dire si il peut agrandir l'exe de la même façon et trouver les références au texte pour les rediriger.

      Commentaire

      • H***
        Compte archivé

        • avril 2003
        • 674

        #4
        PS. Si jamais c'est pas possible de ralonger l'exe, il est possible de découvrir un alignement sur 4 octets des chaines, ce qui permet parfois de gagner quelques chars.

        Commentaire

        • D*** G***
          Compte archivé

          • septembre 2003
          • 992

          #5
          Heu non pas de Pack4 sous Dos. Une fois compilé on ne peut plus toucher l'alignement de toutes façons.

          Bon, pour tes longueurs de textes, tu dois trouver les tables d'adresses correspondantes. Elles sont en général avant, mais parfois il n'y en n'a pas, les addreses sont alors dans la section instructions.

          Un exemple où il y en a dans l'exe:
          7AA1B21F à lire à l'envers correspond à 2B71A = "Walk to"
          82A1B21F à lire à l'envers correspond à 2B722 = "Look At"
          ...
          Chaque texte doit se terminer par un octet 0.
          Plusieurs adresses peuvent pointer sur le même texte ou par exemple une peut pointer sur "Sauvegarde" et une autre sur le "garde" du même texte. ça peut faire gagner un peu de place.
          Fichiers attachés
          [URL=http://perso.wanadoo.fr/fingus-winkle/OldWareTools.html][IMG]http://perso.wanadoo.fr/fingus-winkle/OldWareTools_Name.gif[/IMG][/URL]

          Commentaire

          • RyF
            Desp.R.Hate Zombie


            • avril 2001
            • 7205

            #6
            hmmm...l'hexa et moi :rolleyes:
            alors est ce que l'on peut par exemple rajouter du texte à la fin du fichier, puis changer juste les index pour qu'ils pointent vers les nouveaux textes en fin de fichier sans que ça perturbe le fonctionnement de l'exe ?
            @+
            RyF
            Vieux de la Vieille de Lost Treasures Fr =^__^=

            Game Designer dans la Real Life ®©

            Commentaire

            • D*** G***
              Compte archivé

              • septembre 2003
              • 992

              #7
              Heu, ça dépend comment a été créé l'exe et s'il a été compressé.
              Ici il s'agit d'un exe compacté avec PKLITE.
              Une fois décompressé la fin de fichier n'est pas réellement la fin de fichier. Ne sont compressées que le code et la partie données initialisées pas celles à 0. Et puis à la fin des Datas il y a la Stack et elle fait partie de l'exe.
              Tout ça pour dire que c'est un peu compliqué de rajouter des infos dans un exe dos, il n'y a pas de format pur comme sous Windows.
              A moins que quelqu'un connaisse mieux que ce que j'ai dit, il faut te contenter de ce que j'ai expliqué avant. Mais je peux expliquer mieux si tu as besoin. Je t'assure que c'est une méthode qui fonctionne mais il faut que la longueur totale des textes ne soit pas supérieure.
              [URL=http://perso.wanadoo.fr/fingus-winkle/OldWareTools.html][IMG]http://perso.wanadoo.fr/fingus-winkle/OldWareTools_Name.gif[/IMG][/URL]

              Commentaire

              • RyF
                Desp.R.Hate Zombie


                • avril 2001
                • 7205

                #8
                hmmm
                pour la longueur on devrait pouvour s'en sortir, car si tu as remarqué, il y a des chiffres en %: 10 % 20 %, etc....(on les voit en bas de ton sshot)

                Et bien ce sont les niveaux de volumes de la musique... donc en les transformant en 1 2 3 ... MAX on devrait gagner 15 à 20 caractères facilement !
                je veux bien plus de détail ocnernat la façon de procéder...
                disons une procédure claire, qui pourra par exemple être ajoutée dans la base des docs de traduction (oui, j'ai envie de faire ça aussi,; des mini tutoriaux de traduction)
                @+
                RyF
                Vieux de la Vieille de Lost Treasures Fr =^__^=

                Game Designer dans la Real Life ®©

                Commentaire

                • D*** G***
                  Compte archivé

                  • septembre 2003
                  • 992

                  #9
                  Bon, alors une fois qu'on a retrouvé cette table d'adresses on a fait le plus difficile.
                  Après c'est mécanique.
                  @ 2B67A dans le fichier on lit 7AA1B21F
                  Une fois les octets inversés ça donne 1FB2A17A qui correpond à l'adresse dans le fichier 2B71A, celle de "Walk to".
                  Tu remarqueras que les 4 derniers bits de l'adresse sont les mêmes, c'est toujours le cas.

                  Adresse suivante:
                  @ 2B67E dans le fichier on lit 82A1B21F
                  Ce qui donne après retournement 1FB2A182 qui correspond à l'adresse dans le fichier 2B722, celle de "Look At".

                  ...

                  Si tu raccourcis ou tu rallonges un texte, tu mets un octet à 0 après la fin de ce texte pour le terminer et tu modifies l'adresse du texte suivant. Et ainsi de suite jusqu'au dernier texte de ce bloc de textes.

                  Pour calculer les nouvelles adresses de textes, soit tu le fais visuellement par rapport aux anciennes valeurs (Tu rallonges un texte de 2, tu rajoutes 2 à l'adresse du suivant),
                  soit tu calcules l'offset entre la valeur indiquée dans le fichier et la valeur réelle, soit 1FB2A17A - 2B71A = 1FAFEA60
                  Et tu appliques cette différence.

                  Bon tout ça est difficile à expliquer, mais une fois qu'on a compris le truc c'est en fait très simple à appliquer.
                  Dernière modification par D*** G***, 12 mars 2004, 13h25.
                  [URL=http://perso.wanadoo.fr/fingus-winkle/OldWareTools.html][IMG]http://perso.wanadoo.fr/fingus-winkle/OldWareTools_Name.gif[/IMG][/URL]

                  Commentaire

                  • RyF
                    Desp.R.Hate Zombie


                    • avril 2001
                    • 7205

                    #10
                    je viens quand même de rajouter une plétore d'octets à la fin de l'exe et ça à l'air de fonctionner.
                    je rajoute les verbes là et demanderais pour les addreeses à changer.. ok?
                    commme ça on verra si ça marche...
                    @+
                    RyF
                    Vieux de la Vieille de Lost Treasures Fr =^__^=

                    Game Designer dans la Real Life ®©

                    Commentaire

                    • D*** G***
                      Compte archivé

                      • septembre 2003
                      • 992

                      #11
                      Oui, on peut augmenter la taille d'un exe, mais quant à raccrocher ces nouvelles données c'est une autre histoire.

                      Ce que tu as rajouté peut très bien correspondre à d'autres données non initialisées du programme et qui seront écrasées lorqu'il s'en servira.

                      Edit: Ah, ça ne suffit pas d'augmenter la taille de l'exe, il faut aussi indiquer la nouvelle taille dans l'entête sinon il n'en tient pas compte à l'exécution (c'est alors considéré comme un overlay)
                      Dernière modification par D*** G***, 12 mars 2004, 13h59.
                      [URL=http://perso.wanadoo.fr/fingus-winkle/OldWareTools.html][IMG]http://perso.wanadoo.fr/fingus-winkle/OldWareTools_Name.gif[/IMG][/URL]

                      Commentaire

                      • RyF
                        Desp.R.Hate Zombie


                        • avril 2001
                        • 7205

                        #12
                        on peut quand même essayer ?
                        voici les 2 verbes pour tester à leur nouvelle position.

                        @ 2B67A dans le fichier on lit 7AA1B21F
                        Une fois les octets inversés ça donne 1FB2A17A qui correpond à l'adresse dans le fichier 2B71A, celle de "Walk to".
                        Tu remarqueras que les 4 derniers bits de l'adresse sont les mêmes, c'est toujours le cas.

                        Adresse suivante:
                        @ 2B67E dans le fichier on lit 82A1B21F
                        Ce qui donne après retournement 1FB2A182 qui correspond à l'adresse dans le fichier 2B722, celle de "Look At".
                        le premier : A devient B? c'est tout ??? (ou c'est juste un hasard?)
                        le second : ...mystère...
                        il faut une calculette hexa apparemment...
                        Fichiers attachés
                        @+
                        RyF
                        Vieux de la Vieille de Lost Treasures Fr =^__^=

                        Game Designer dans la Real Life ®©

                        Commentaire

                        • D*** G***
                          Compte archivé

                          • septembre 2003
                          • 992

                          #13
                          on peut quand même essayer ?
                          voici les 2 verbes pour tester à leur nouvelle position.
                          7BA00 ? Tu l'as drôlement rallongé ton exe ! Le mien s'arrête à 2EDB0. Je ne suis pas sûr d'y arriver rapidement pour mettre les textes à la fin. Il faut les insérer entre les dernières données et le début de la stack, et mettre à jour l'entête. ça ne se fait pas sur un coin de table Et il ne faut pas gâcher trop de place pour que le prog continue à tenir en mémoire après !

                          le premier : A devient B? c'est tout ??? (ou c'est juste un hasard?)
                          le second : ...mystère...
                          il faut une calculette hexa apparemment...
                          1FB2A17A à
                          0002B71A, il y a 1FAFEA60 de différence comme je disais.
                          Toute autre ressemblance que le dernier quartet est fortuite.
                          Pour les adresses suivantes la différence est la même.

                          Mais en fait j'ai simplifié l'explication car 1FB2A17A n'est pas une adresse 32 bits. C'est une adresse 24 bits calculée ainsi; 10 * 1FB2 + A17A = 29C9A qui est l'adresse de la donnée par rapport au début du code et qui est donc inférieure à l'adresse par rapport au début du fichier.
                          [URL=http://perso.wanadoo.fr/fingus-winkle/OldWareTools.html][IMG]http://perso.wanadoo.fr/fingus-winkle/OldWareTools_Name.gif[/IMG][/URL]

                          Commentaire

                          • RyF
                            Desp.R.Hate Zombie


                            • avril 2001
                            • 7205

                            #14
                            je signale quand même que je bosse avec l'exe de la version CDROM originale il se termine naturellement par 20 BF C8 02, vers 7BA0B.

                            Tous ces calculs sont un peu trop compliqués pour que je m'y investisse.
                            Allez juste pour essayer, dis moi les valeurs à changer théoriquement à la place des index actuels pour que ça m pointe vers mes ajouts s'il te plait.
                            @+
                            RyF
                            Vieux de la Vieille de Lost Treasures Fr =^__^=

                            Game Designer dans la Real Life ®©

                            Commentaire

                            • D*** G***
                              Compte archivé

                              • septembre 2003
                              • 992

                              #15
                              Alors j'ai besoin de connaître les adresses originales pour ça.
                              Et si tu as rallongé l'exe, il faut que je change l'adresse de la stack qui suit sinon ce sera écrasé.
                              Et si le prog est si gros, il y a des chances qu'il ne soit pas chargé complètement en mémoire automatiquement (overlays) donc pas garanti que ça marche.
                              Enfin, mets-moi un lien vers l'exe original pour que j'essaye stp.
                              [URL=http://perso.wanadoo.fr/fingus-winkle/OldWareTools.html][IMG]http://perso.wanadoo.fr/fingus-winkle/OldWareTools_Name.gif[/IMG][/URL]

                              Commentaire

                              Chargement...