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
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
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.
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.
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.
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 ?
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.
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)
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.
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...
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.
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...
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.
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.
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.
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