Aller au contenu

Classement


Contenu populaire

Affichage du contenu avec la meilleure réputation depuis le 15/06/2024 dans toutes les zones

  1. 4 points
    Je viens de mettre à jour le patch avec la modification d'une phrase dans le deuxième écran d'intro du jeu. Le voici. Alisia Dragoon (USA)_Fr-Ingo-1.0.zip
  2. 4 points
    Merci beaucoup 4ph. J'en profite pour proposer une mise à jour avec l'intro du jeu encore modifiée avec un nouveau texte. Voici le fichier à télécharger : Soleil (FR)_Fr-Ingo-100%.zip Le fichier sera mis à jour sur TRAF dans peu de temps.
  3. 4 points
    Grâce à Taude, la retraduction prend de nouvelles couleurs tout en image... jeu d'origine modification
  4. 3 points
    Oui, c'est pour bientôt ! J'enlève une des derrières coquilles héritée de l'anglais qui m'avait échappé... version française officielle, fidèle à la version anglaise version française retraduite, fidèle à la version japonaise (dans l'histoire, les soldats du château revisité ont peur des monstres) ※「このしろの男どもときたら たよりにならないわ。 ふだんは いばりちらしてるクセにさ。」
  5. 3 points
    Bonjour à vous, voici un état des lieux du projet. ce qui est fini : le romhacking sur les 220 copies d'écrans publiées le hacking des mains et des yeux de Lisa grâce à Taude ce qui sera fait dans quelques temps : le hacking de la bouche de Lisa sera vérifié et réévalué pour éviter un possible dépassement de contenu dans la rom grâce à Taude de nouvelles traductions seront effectuées avec publication de nouvelles copies d'écran lors d'un second passage plus léger de la rom Aucune date estimée car je ne sais quand je pourrai m'y remettre. Le projet reste actif. À bientôt.
  6. 3 points
    Jours 18 à 25 : restauration des sprites japonais pour la version française de SoulBlazer, première démo de Dragon Quest 5 Ces derniers jours ont été consacrés à la restauration des sprites de la version japonaise de SoulBlazer pour la version française. En effet, à la fin du jeu, le personnage de Lisa a été redessiné : ses bras en position de prière ont été supprimés, et sa bouche ainsi que ses yeux ont été redessinés. J'ai donc commencé à fouiller la ROM et à déboguer afin de trouver où se situaient les données et les instructions impliquées. J'ai finalement localisé les sprites, mais ceux-ci étaient compressés. En examinant l'OAM (Object Attribute Memory), je me suis aussi rendu compte que les zones correspondant à la bouche n'étaient pas délimitées de la même manière que dans la version japonaise. En effectuant quelques recherches sur Internet, j'ai découvert un outil très utile : SNES Tiles Kitten, qui permet d'afficher, décompresser et réinjecter directement des sprites. Cerise sur le gâteau, cet outil gère la compression propre aux jeux Quintet ! J'ai donc rapidement pu reconstituer les sprites nécessaires en migrant les parties du sprite japonais (yeux et bouche) pour correspondre à l'arrangement des sprites français. Une agréable surprise : les mains étaient bien présentes dans les sprites de la version française. Lors de mes recherches précédentes, j'avais identifié la routine qui gérait le chargement des sprites dans l'OAM, mais sans savoir exactement quel sprite était concerné. Cependant, j'avais découvert que cette partie du code déterminait la position des sprites dans le fond d'écran. J'ai donc repris mes essais dans cette zone, espérant réinjecter les bras supprimés. J'étais quelque peu découragé, car ces bras étaient composés de 10 tuiles, et je me disais que réécrire une routine de chargement et d'animation des bras dépassait mes compétences. En poursuivant mes tests, j'ai compris qu'une adresse, dans la routine qui gère la position des tuiles, menait à une sous-routine, et que celle-ci lisait une zone de mémoire spécifique. En expérimentant sur cette zone, j'ai découvert qu'elle correspondait à un identifiant qui permettait de charger l'ensemble des sprites d'un élément (bouche, yeux). En modifiant cet identifiant, j'ai pu réinjecter les bras en entier et identifier l'ID "7" qui correspondait aux bras ! J'étais soulagé de ne pas avoir à réécrire tout le code de chargement des tuiles. Cependant, un problème demeurait : l'instruction qui charge les yeux et celle qui charge la bouche se suivaient, ainsi que toutes les autres instructions qui gèrent cette scène. Je me demandais donc comment insérer l'instruction pour positionner les bras. En analysant le code, j'ai découvert une routine existante avec l'indice "7", et encore mieux, grâce au débogueur, j'ai constaté que cette zone de code n'était pas utilisée. En redirigeant l'instruction des yeux vers cette sous-routine, cela a permis d'afficher les bras, mais l'animation bloquait la scène. Après de nouveaux essais, j'ai découvert qu'un octet permettait de définir le moment de déclenchement de l'animation, et j'ai réalisé que l'animation était complète ! Quelle chance ! Il me restait cependant un problème à résoudre : rajouter les tuiles sans remplacer celles des yeux. J'ai donc recréé l'instruction d'ajout des bras et l'ai insérée à la fin de celles qui chargent les yeux et la bouche, ce qui ajoutait 11 octets. Cela a décalé le reste du code vers une instruction d'animation inutilisée, longue d'une vingtaine d'octets. J'ai alors déplacé cette instruction dans une zone vide et mis à jour l'adresse dans l'instruction de chargement des bras. J'ai ensuite modifié toutes les adresses des instructions suivantes en y ajoutant ces 11 octets, et tout a fonctionné ! ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Pour Dragon Quest, je me suis confronté à l'immense tâche de traduire le jeu. Au-delà de l'aspect technique, le script contient plus de 85 000 mots ! J'ai donc accepté l'idée d'avoir besoin d'aide et j'ai modifié l'outil que j'avais créé pour exporter tout le script du jeu, ainsi que pour réinjecter les parties traduites. Il gère désormais les conflits de traduction avec un système de verrouillage des parties validées. J'ai également ajouté des fonctionnalités tel que la recherche et le remplacement. Une fois cet outil en place, mon frère est venu me donner un coup de main, et nous avons pu avancer sur la traduction des dialogues du jeu, que je vous propose aujourd'hui en démo. À ce jour, environ 15 % des dialogues sont traduits. Vous trouverez ici un patch IPS à appliquer sur une version sans header, ainsi que les scripts du jeu. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Pour la suite, je prévois d'aider à la traduction des scènes entre les niveaux de Go Go Ackman 3, mais ce sera pour un prochain épisode ! Dq5-eng-sh.ips raw_text-v3.txt trad_text-v3.txt
  7. 3 points
    Voici mon tout premier tutoriel pour vous présenter mon processus de création de crystal cases. Le prix de ces boîtes est de 12 centimes l'unité, correspondant au coût des feuilles de plastification, et elles vous permettront d'obtenir des boîtes de protection pour toutes les tailles de cartouches (n'est-ce pas Micromachines sur Megadrive ?). J'espère que cela vous plaira ! Je publierai d'autres tutoriels dans ce style, par exemple pour adapter ce processus à la création de mini-boîtes plastifiées à l'image des jeux. Le résultat: Le tuto:
  8. 3 points
    Imagine un instant : un RPG en 3D à la première personne sur une console 8 bits. Oui, tu as bien lu. Dès que j'ai découvert ce jeu, j'ai été bluffé. Elite sur NES, c’est le genre de titre qui te fait te demander comment un tel exploit est possible sur une console aussi limitée. Pourtant, il est là, avec un univers gigantesque, des combats spatiaux, du commerce, et une liberté totale d’exploration. L’adaptation NES de Elite, exclusivement sortie sur les consoles PAL avec des textes en français, propose une expérience unique. Dans ce jeu, tu commences aux commandes d’un simple vaisseau spatial et tu peux choisir ta voie : commercer de planète en planète pour gagner des crédits, traquer des pirates pour devenir un chasseur de primes redouté, ou même basculer du côté obscur et te lancer dans la piraterie spatiale. Chaque système solaire a ses particularités, avec des marchandises qui fluctuent en fonction de l'offre et la demande. L'univers est généré de manière procédurale, ce qui te donne l’impression que l’exploration est infinie. Le gameplay est étonnamment varié pour un jeu NES. Tu dois gérer les ressources de ton vaisseau, t’assurer que tu as suffisamment de carburant pour tes voyages, et être prêt à te défendre contre des ennemis à tout moment. Les combats se déroulent en 3D fil de fer, avec une vraie sensation d’immersion, ce qui est impressionnant pour l'époque. Chaque victoire en combat spatial te donne l’occasion d’améliorer ton vaisseau avec des armes plus puissantes, des boucliers renforcés, ou même des propulseurs plus rapides. La jouabilité est incroyablement fluide, surtout pour un jeu de cette envergure avec seulement deux boutons. Le bouton B permet de naviguer facilement dans les menus constamment affichés à l'écran, mais aussi de gérer la vitesse du vaisseau en accélérant ou en décélérant. Le bouton A, quant à lui, est utilisé pour tirer. Ce qui impressionne vraiment, c'est à quel point les déplacements du vaisseau sont précis et contrôlables, offrant une véritable sensation de maîtrise dans l’espace, malgré la simplicité des commandes. Un autre aspect qui rend cette version unique, c’est la possibilité de jouer à deux. Le mode deux joueurs te permet de partager l’aventure avec un ami qui sera ton copilote! Je ai découvert récemment cet adaptation, et ce jeu m’a vraiment fait réfléchir. Elite sur NES, à lui seul, représente tout ce qu’est la programmation à mes yeux : la capacité de créer un univers entier, de repousser les limites du possible, et tout ça dans une simple petite cartouche. C’est fascinant de voir comment, avec si peu de moyens, les développeurs ont réussi à faire entrer quelque chose d’aussi vaste et complexe sur une console aussi modeste que la NES. Ce jeu est la preuve que, même avec des ressources limitées, la créativité et la maîtrise technique peuvent donner vie à des mondes incroyables. J'ai récemment acquis ce jeu pour 30 euros, et à ce prix-là, je trouve que c'est donné !
  9. 3 points
    Salut! J'ai 49 ans. Je suis passé par quasiment toutes les consoles canoniques depuis l'Atari 2600, donc très console-centric (a part brièvement un MO5 et un Amiga 1200). Mon intérêt pour le retrogaming en particulier n'est pas si vieux. Ca fait une grosse dizaine d'années et c'est venu par une soudaine envie de programmer (sur VCS). Pendant pas mal d'année je me suis focus sur la NES (qui fait partie des rares consoles que j'ai pas eu à l'époque avec la SNES). Ca passait par un peu de programmation, des scripts pour afficher les hitbox des jeux (j'adore ca), quelques dizaines de petits hacks resté confidentiel et beaucoup de temps à jouer et décortiquer les jeux NES pour ma culture et rattraper mon retard sur ce catalogue historique que je connaissais pas vraiment (j'aime beaucoup l'histoire du jeu vidéo). Et pour me motiver à prendre le temps de décortiquer à fond les jeux (et éviter le syndrome fastfood) je faisais uniquement des one life. J'ai one lifé 125 jeux NES différent sur plusieurs années puis je me suis lassé. Aujourd'hui je connais très bien le catalogue NES, bien mieux que si je l'avais connu à l'époque, mais j'ai fait un peu le tour. Heureusement Mesen est devenu multiplateforme récemment ce qui m'a donné envie d'aller creuser d'autres machines car le plus important ce sont les outils ^^. En début d'année j'ai donc fait un petit hack sur Ghouls'n Goblins SupergrafX (augmenter la quantité de sprite affichable et la résolution/largeur de l'image), puis un petit hack sur Nightmare Buster SNES pour fixer 2 bug qui faisait crasher le jeu. Ce qui m'a amené à enchaîner sur un gros hack de Ranma Chougi Ranbu Hen sur lequel je suis actuellement et qui corrige le framerate catastrophique du jeu ainsi que divers bug de collision. Je ne pratique pas du tout la collection. Je n'ai presque pas de machine ni de jeu physique. J'ai par contre une certaine fascination pour les émulateurs. Je connais bien le hardware (du point de vue logique, pas électronique) de la plupart des autres machines aussi (j'ai même testé la programmation sur Colecovision, sur SMS et même sur EDSAC, un ordi de 1949). Ça m'intéresse. De ce fait, j'ai une chaine youtube sur laquelle je faisais des vidéos pour discuter de certains sujets techniques mais j'ai vite arrêté (elle est presque morte depuis 6 ans mais elle me sert tout de même pour les vidéos de mes projets) pour écrire plutôt des billets sur mon blog ainsi que sur mon compte twitter (tout ca prend beaucoup de mon temps) que j'utilise comme un blog mais pour des sujets bref et plus anecdotiques. C'est là que je suis le plus actif. C'est là qu'on peut me joindre le plus facilement. Ce sont Yolt et UniKenny qui m'ont envoyé ici ^^. Je me dis que ca peut être intéressant de voir comment bosse les gens qui font du mod a partir de hack. Je connais très peu ce milieu étant donnée que je consomme très peu de "physique". C'est aussi pour tenir au courant sur mes hack. Notamment je continu encore un peu le hack Ranma pour préparer une version 1.4. C'est pas indispensable, c'est juste pour corriger d'autres bug de collision du jeu original pour que le jeu soit encore plus propre. Et je prépare un google doc qui répertoriera toutes les corrections de collision que j'ai fait car au final ce n'est plus seulement un hack de framerate mais aussi une grosse correction des collisions (c'est 2 patch en un). Mon blog: https://upsilandre.over-blog.com/ Mon compte Twitter: https://x.com/upsilandre Version blog: https://x.com/UpsilandreA Ma chaine Youtube: https://www.youtube.com/@upsilandre/videos
  10. 2 points
    Le travail de Toad sur les graphismes de Lisa faisait boguer le jeu. Il a été possible de corriger ce bogue, ce qui a permis d'en terminer le romhacking. Les mois précédents ont servi à rajouter plein d'autres changements sur le scénario, même si je n'ai pas publié de nouvelles copies d'écran. Le bêta test reste à faire sur les mondes 4, 5, 6 et 7. Donc, il reste à jouer à la deuxième moitié du jeu (et au pire corriger une ou deux coquilles). Je ne peux le faire pour l'instant par manque de temps mais le projet sera publié cette année, probablement cet été avec un petit peu de chance.
  11. 2 points
    Hello ! Je n'ai pas encore le temps de continuer Soulblazer comme je voudrais, mais ça avance. Réflexion perso : la retraduction depuis le japonais nous montre vraiment mieux les connexions entre les jeux... pas de différence de ressenti passé/présent dans la version officielle version retraduite introduisant une différence passé/présent dans le ressenti comparaison avec Illusion of Time (Flora, inverse de Lisa)
  12. 2 points
    Bonjour, je fais remonter ce message après plus de 11 ans, pour mettre en valeur le travail de l'équipe : Hiei-, Tryphon, Lyan53, Hroþgar, Kyence, RodolfoRG et BahaBulle Voici le nouveau lien où trouver le tout en français : https://www.pscave.com/psg2/downloadf/ Veuillez noter aussi que depuis 2 semaines, il existe un guide écrit par 1Dragoon. donnant des infos de très loin beaucoup plus simples pour faire revivre Nei, tel que cela a été prévu officiellement par les développeurs sur la version PS2. L'accès au guide et sa sauvegarde sont dans le message suivant. Bonne découverte !
  13. 2 points
    Voici le patch ! Bonne découverte. J'ai enregistré mes retraductions passées sous le nom d'Ingo sur Traf mais c'est Toto que je préfère. ^^ (le patch est présenté à jour quelques messages plus bas)
  14. 2 points
    Arrivage de ma makibox du jour.
  15. 2 points
    En faisant les courses à Auchan (Black friday sûrement). jeux switch 7,50€ et 15€ Jeux ps5 10/15€ et 25€
  16. 2 points
    Réception du jour,. Hasard du calendrier, deux colis, que des pin’s. J’ai porté réclamation pour les bonbons non est UC. Le SAV est sur le coup
  17. 2 points
    Arrivé du japon hier matin : Interface unit+pce+cdrom hs que j'ai eu pour pas grand chose, en même temps elle est bien rincé. À réception, elle sent le chaud. (on verra bien en ouvrant la bête) Du coup, si tout va bien, RGB kit + everdrive, pour le lecteur cdrom des cd gravé Petite saturn grise jap en boiboite. Pareil test et révision, mais normalement elle marche. Un saroo dans le derche et c'est partie. Pour l'alim qu'est que vous me conseiller un convertisseur 110-220v?Ou autre chose? Petite valise super famicom : je vais m'en servir pour mettre du matos de cartmodding Alors lui, je le cherche depuis un moment et je l'ai trouvé pour l'équivalent de 45e. Voilà, j'ai encore un colis qui arrive pour Noël. Vu que chaque année, je demande rien pour Noël ben, je me fais mes cadeaux. Du taf de révision en perspective.
  18. 2 points
    Beau boulot ! Quelle rom doit-on patcher ? (quel est son CRC ?) Je ne parviens pas à télécharger les scripts, j'aurais bien aimé y jeter un œil (Ichigo, j'ai un échec de connexion sécurisé). Si seulement j'avais le temps :'( La série des dragon quest est une série que j'affectionne particulièrement et cet opus était génial).
  19. 2 points
    Comme dit plus haut, voici un exemple de toutes les possibilités d’une imprimante cut. Attention modèle unique:
  20. 2 points
    je fait aussi les stickers avec de la lamination + papier mat à pas chère je reviendrais sur ce sujet en ce qui concerne les crystal cases voici le tuto manuel et petite précision si vous n'avais pas de lamineuse il y en a en accès libre chez bureau vallée : et les modèles: Contour-SNES.fcm Contour-NES-02.svg Contour-SMS-A.fcm Contour-SMS-A.svg Contour-NES.fcm Contour-N64.svg Contour-N64.fcm Contour-GENESIS-Norm.svg Contour-GENESIS-Norm.fcm Contour-GENESIS-EA.svg Contour-GENESIS-EA.fcm Coutour-SNES.svg Plis-GENESIS-EA.fcm Plis-GENESIS-EA.svg Plis-GENESIS-Norm.fcm Plis-GENESIS-Norm.SVG Plis-N64.fcm Plis-N64.svg Plis-NES.fcm Plis-NES.svg Plis-SMS.fcm Plis-SMS.svg Plis-SNES.fcm Plis-SNES.svg
  21. 2 points
    J'ai regardé finalement pour voir par curiosité les différences avec le japonais et ... surprise, les traductions sont déjà très bonnes et fidèles. La version de retraduction américaine a beaucoup changé le nom des équipements. Mais avec mon traducteur en ligne et son IA embarquée japonais - français, j'obtiens les mêmes noms que les noms français officiels. Ce qui aurait besoin d'être changé ne gênera personne, alors je fais les modifications ! 217. Flèche Lumi. { renommage magie } 218. Flèche Lumi Tirs flèches lumière { renommage magie } 219. Bombe Étincelle. { renommage magie } 220. Bmbe Étincelle { renommage magie }
  22. 2 points
    Jour 15 : Exploitation de la table de pointeurs / Création du logiciel de traduction Bonjour à tous, Aujourd'hui, j'ai finalisé l'ajout de tous les caractères manquants (é, è, à, ù, â, û, ô, ê, ç) dans l'ensemble de la chaîne de texte et testé cette mise à jour sur la première séquence du jeu. Ensuite, je me suis lancé dans l'exploitation de la table des pointeurs que j'avais repérée hier. Cette table organise les pointeurs de la manière suivante : il s'agit de groupes de 6 octets où les 21 bits de gauche décrivent l'adresse du dialogue, et les 3 bits de droite indiquent l'offset (en nombre de bits) à partir duquel le dialogue commence dans la chaîne compressée selon la méthode de Huffman. J'ai donc développé un programme en Python qui intègre ces fonctionnalités pour naviguer dans la table des pointeurs et afficher les dialogues en les décompressant. L'idée est que nous puissions ouvrir la ROM patchée en anglais ; si le checksum correspond à la ROM adéquate, l'interface se charge. Cette interface permet alors de naviguer de dialogue en dialogue. L'objectif final est de pouvoir modifier les conversations et mettre à jour les pointeurs dans la table en conséquence. Pour cela, j'ai créé des fonctions pour la conversion des adresses ROM (lorom/cpu) et pour générer un patch IPS. De plus, j'ai ajouté une fonctionnalité intéressante : la possibilité de traduire automatiquement les dialogues en cours grâce à ChatGPT. J'ai mis en place un prompt qui assure que les éléments nécessaires pour le scripting des dialogues sont préservés au mieux. J'ai également ajouté un bouton permettant de traduire l'intégralité des textes et mis en place un petit système de base de données pour sauvegarder ces traductions et les modifications manuelles. Cela me permet de générer la traduction en attendant d'intégrer le système de modification des pointeurs pour créer le patch IPS. Les prochaines étapes consisteront donc à développer cette logique pour tester une première version du jeu avec des dialogues intégralement traduits. À suivre !
  23. 2 points
    Merci de ton intérêt arcoroce! j'espère que cette traduction aussi trouvera son publique! Jour 14 : Injection des nouvelles lettres Aujourd'hui, j'ai fait un grand pas en avant ! J'ai réussi à intégrer les nouvelles lettres de bout en bout. J'ai commencé à essayer de comprendre comment étaient définis la hauteur, la largeur et la ligne de flottaison des caractères. Pour cela, j'ai tenté de repérer quelle valeur était mise en WRAM et correspondait, et j'ai fini par trouver deux valeurs situées à peu près là où le texte est décompressé, qui variaient de manière logique entre les caractères en majuscules et en minuscules. En retraçant leur initialisation dans le débogueur, je me suis aperçu qu'elles provenaient de la liste des valeurs permettant de retrouver les pointeurs vers les sprites des lettres. En expérimentant avec l'algorithme rétro-ingénieré et en essayant de comprendre comment étaient faites les informations dans la liste, j'ai fini par comprendre la "compression" des sprites et l'utilité des valeurs dans la liste : en fait, la liste se présente sous la forme de 10 octets, les trois premiers servent à associer l'élément de la liste à la valeur de la lettre décompressée, le suivant à la largeur de la lettre, les quatre suivants à déterminer l'adresse, puis les deux derniers permettent entre autres de calculer la hauteur du sprite. En expérimentant, je me suis aperçu que la hauteur sert aussi à définir la ligne de flottaison ! J'ai également compris que les sprites n'étaient pas vraiment compressés. En fait, ils sont codés avec des largeurs variables, ce qui rend leur visualisation impossible avec Tile Molester. J'ai donc pu créer les sprites des lettres accentuées, il me restait à permettre de compresser de telles lettres. J'ai donc cherché des places disponibles dans l'arbre binaire pour associer les nouvelles valeurs des lettres décompressées dans la table des valeurs de la ROM. Pour cela, toujours dans l'optique où j'ai la flemme de parcourir l'arbre binaire dans le sens inverse (j'en avais des vertiges rien que de penser à coder cet algorithme), j'ai brut forcé l'arbre d'Huffman en testant toutes les valeurs binaires de 0 à FFFF (en testant aussi toutes les combinaisons de nombre de zéros en début) et en regardant s'il y avait une valeur lorsque j'atteignais la table des valeurs, si non je récupérais la représentation binaire du chemin. J'ai trié ces chemins et gardé les plus courts pour encoder mes nouvelles lettres. J'ai ensuite modifié mon logiciel de compression/décompression pour prendre en compte ces nouvelles lettres et le tour était joué. J'ai également commencé à créer un patch IPS car, mine de rien, les modifications commencent à être suffisamment importantes pour être contraignantes à entrer à la main dans l'émulateur. J'ai également fait un tour dans la ROM pour essayer de comprendre comment les dialogues étaient pointés, et j'ai trouvé ce qui semble être une jolie table de pointeurs ! Mais cela sera pour le prochain épisode.
  24. 2 points
    Salut Upsilandre et bienvenu à toi ! Merci pour ton temps consacré à décortiquer (et corriger) tous ces jeux.
  25. 2 points
    en ce jour, réception de 12kg pour Nekko the cat !
  26. 1 point
    Bonjour à toutes et tous ! Jamais 2 sans 3 et avec le romhacking effectué et terminé par moi en plus des images cette fois ! J'ai la joie de proposer une nouvelle version revisitée suivant cet historique : Terranigma (mars 2022) Illusion of Time (juin 2024) Soul Blazer (septembre 2024) Je suis reparti du japonais en utilisant un traducteur de qualité suffisante pour apprécier toutes les différences subtiles avec la version française. texte source japonais : https://wikiwiki.jp/text/%E3%82%BD%E3%82%A6%E3%83%AB%E3%83%96%E3%83%AC%E3%82%A4%E3%83%80%E3%83%BC outil de traduction : https://translate.hix.ai/fr Notes : le début comme la dernière partie du jeu nécessitaient une retraduction complète, représentant 2/3 des changements apportés je reprends mon code couleur d'Illusion of Time avec une mise en valeur des éléments les plus importants pour ceux qui ne souhaitent pas tout lire ceci met à jour le travail déjà commencé par moi sur les fautes de frappes de la version française : https://traf.romhack.org/?p=patchs&pid=1181
  27. 1 point
    Bonjour, j'ouvre ce post pour tenir un journal, partager mes avancées et difficultés, mes réussites, sollicité de l'aide et recueillir vos retours sur le projet que je me suis lancer de traduire dragon quest V sur snes. Je vais commencer par faire une rétrospective des premiers jours pour revenir dans le présent par ailleur. Jour 1 recherche d'outil mise en pratique de la technique de la recherche relative: J'ai pris le temps de me documenter sur TRAF et d'essayer de comprendre les outils et techniques nécessaires pour traduire une ROM. Je découvre comment patcher une ROM à l'aide d'un fichier IPS et d'un patcher, ce qui m'est utile pour convertir ma ROM de Dragon Quest V en anglais. Je conclus ensuite qu'il me faudrait un logiciel capable de faire de la recherche relative, de créer des tables de conversion, d'ouvrir la ROM pour l'afficher en hexadécimal et de traduire les valeurs hexadécimales en texte. Le programme Olympus de Lyssal regroupe tous ces aspects. Je lance le jeu et cherche, grâce à Olympus, les textes qui composent les menus et les trouve. Victoire ! J'arrive même à modifier le texte du menu en changeant les valeurs hexadécimales ! Mais pour trouver les textes du jeu, je dois compléter ma table de conversion. Je comprends que les hexadécimaux qui constituent la table sont en fait les adresses des sprites des lettres, et je m'équipe donc d'un logiciel qui permet de visualiser les sprites d'une ROM (Tile Molester). Après plusieurs itérations, je trouve les sprites qui sont en 1bpp (1 couche de couleurs). Je retourne sur Olympus, crée ma table, lance le jeu, et recherche les premières lignes de dialogues dans la ROM, mais là, je ne trouve rien. Jour 2 : Débogage Je relance mon apprentissage avec des tutoriels et apprends que si je ne peux pas voir le texte, c'est probablement parce qu'il est compressé. Je commence à m'inquiéter car les méthodes de décompression semblent très complexes et j'ai besoin de savoir quel type de compression est utilisé. Je tente de rechercher des bouts de phrases et des syllabes grâce à ma table, je navigue dans toute la ROM et ne trouve rien de concluant. Je me dis que le patch IPS doit bien modifier les textes, ce qui devrait me permettre de mieux comprendre comment ce texte est constitué. Je trouve l'outil IPS Peek, je regarde ce qui est modifié en grande quantité et rien ne semble avoir de sens. Je décide donc de lancer le jeu en mode débogage et d'essayer de comprendre quelle est la routine d'écriture du texte. Je finis par utiliser Bsnes-plus et j'arrive à m'arrêter, plus ou moins au moment où le texte est écrit. Mais là, je me heurte à mes limites de connaissance en ASM et je n'arrive à rien. Jour 3-6 : Apprentissage de l'ASM SNES et ChatGPT Je passe ces jours à essayer de trouver des points d'arrêt en remontant la stack trace qui me permettent de m'arrêter uniquement une seule fois avant que le texte ne s'affiche et juste après que les premières lettres s'affichent. Grâce à la stack trace, je trouve un endroit qui semble être une bonne entrée et finis par voir que le dialogue s'écrit en VRAM avant d'être affiché, et je pose un breakpoint au moment où cet endroit en VRAM est écrit. Je commence alors un long et fastidieux travail qui consiste à essayer de comprendre, étape par étape, ce que fait le code. Je demande à ChatGPT l'utilité de tel opcode, de tel registre, je me renseigne sur le hardware de la SNES. Je n'avance pas sur mon problème, mais j'ai appris beaucoup de choses ! Par exemple, ce qu'est le DMA et comment cela fonctionne. Je me fais des tableaux avec les opcodes et leurs fonctionnalités. ChatGPT m'aide réellement, car au lieu d'avoir une simple phrase d'explication pour l'opcode, je peux lui poser des questions de base et il m'aide à élargir mes recherches dans les documentations, me permettant de mieux saisir le contexte. Jour 7 : Tournant crucial avec le dump de mémoire et l'éditeur hexadécimal Content de mes nouvelles compétences, je réalise que je n'avance pas sur le fond du problème. Je me remets en question et décide de tenter une nouvelle approche. Je fais un dump de la WRAM avant et après les breakpoints que j'avais définis, puis je fais une comparaison avec HxD. Je finis par identifier une zone de la RAM autour de $E00 qui semble avoir changé de manière suspecte. Je relance la ROM, édite cette zone avant que l'écriture n'apparaisse et, bingo, le texte affiché change. Je pose un breakpoint sur l'écriture de cette zone et je suis sûr que ce qui aboutit à cette écriture est bien le processus de décompression. Je remonte la stack, lis le code et ne comprends rien... Jour 8 : Passage à Mesen-S et l'algorithme de compression Ce qui me bloque, c'est que je ne comprends pas pourquoi, à partir d'une zone de la ROM, un octet est lu avec des masques successifs de 01, puis 02, puis 04, et en fonction du résultat obtenu, il va chercher un octet dans une autre partie de la ROM, et parfois soit continue de chercher dans cette partie en changeant le masque, soit va chercher un octet dans une zone différente de la ROM pour l'afficher. Je pense avoir affaire à un algorithme de type LZ. Mais en comparant avec des tutoriels, je ne comprends toujours pas comment le texte est compressé. Je change d'émulateur pour Mesen-S et me sens plus à l'aise avec son debugger. Jour 9 : Compréhension de l'algorithme de décompression Après une bonne nuit de sommeil, je comprends que l'algorithme se base sur un arbre binaire. En fonction de la valeur binaire de la première zone examinée, si c'est 1, on va à droite, si c'est 0, à gauche. En fonction de la valeur trouvée dans l'arbre, il sait s'il doit continuer à naviguer dans l'arbre ou s'il doit aller chercher la valeur. Dans l'arbre, il récupère 4 octets : les deux derniers déterminent s'il doit s'arrêter (8x 1000 ****) ou continuer (0x 0000 ****), et dans tous les cas, les deux autres octets sont des adresses, soit pour l'arbre binaire, soit pour la table des valeurs. Jour 10-11 : Création de l'outil de compression/décompression du texte Je me lance donc dans un code Python aider par chatGPT et crée une interface qui permet de décompresser le texte, ce que j'arrive à faire assez rapidement en dumpant les éléments nécessaires de la ROM, comme l'arbre binaire et la table des valeurs. J'arrive à traduire les valeurs trouvées en lettres en injectant des valeurs dans le jeu grâce à mes découvertes précédentes. Je finis par traduire les éléments récupérés dans le patch via IPS Peek, ce qui me permet de rajouter encore des éléments dans la table de conversion en lettres. Je découvre aussi qu'il y a des valeurs dans l'arbre qui finissent par 9x et conclus que ce sont des éléments qui contrôlent l'affichage du texte (fin de phrase, attente d'entrée du joueur, etc.). J'obtiens une bonne décompression et décide de me lancer dans la compression. Pour ce faire, j'ai la flemme d'intégrer la logique inverse qui me demanderait de parcourir l'arbre dans les deux sens inverse et de prendre le plus court chemin vers la racine. J'ai donc l'idée de construire une table à partir des éléments de décompression : dès que je décompresse une valeur, je stocke la lettre et la valeur binaire et je me servirais de cette table pour compresser le texte. Ceci fait, j'ai un outil qui me permet de compresser et décompresser le texte et j'arrive à injecter le texte français de toute la première scène. Mais je ne suis pas satisfait : 1) j'aimerais ajouter les accents absents à priori 2) je me dis que si je ne comprends pas exactement comment sont pointés les dialogues, je vais me retrouver avec des problèmes par la suite où le texte affiché ne sera plus le bon. A bientôt pour la suite qui sera en direct et merci de m'avoir lue ;p
  28. 1 point
    Merci M.Toto ! Quel plaisir de voir ce super travail de retraduction que mérite amplement SOULBLAZER ! Je ne sais pas si vous connaissez cette page : https://www.terraearth.com/forums/viewtopic.php?t=2368 "Shiva Indis" dit certaines choses intéressantes par rapport à la version Japonaise. Avez-vous aussi l'intention de retraduire les articles, équipements, etc... Je vais regarder pour vos graphismes, je pense que se soit la même compression que Illusion of Time. Merci beaucoup de rendre justice à ce jeu qui a été maltraité avec sa version officiel Française.
  29. 1 point
    Je n'ai pas le savoir faire pour t'aider :/ Ceci dit taude sur le forum a l'air de toucher sa bille... Au passage, tu as vu que la retraduction datait de 2020 ? https://www.terraearth.com/forums/viewtopic.php?p=60612&highlight=#60612 Celle listée sur romhacking date de 2018 il me semble. Bon courage pour ton projet ! (Ingo l'a traduit en français il y a quelques années, il est sur la T.R.A.F)
  30. 1 point
    C'est fini ! Avant de publier le patch officiel, j'aimerais bien changer le graphisme de Lisa à la fin... Le graphisme japonais serait plus adapté à cette version retraduite... États-Unis et Europe Japon — graphismes de Lisa en fin de jeu — Double censure des aspects de prière/méditation et de look manga (hérité de la décision américaine de l'époque) J'ai regardé si je pouvais intégrer les graphismes japonais de Lisa, mais je n'ai pas le savoir-faire car les images sont compressées. Ce que je peux dire avec certitude, c'est que la plage graphique concernée pour les yeux et la bouche est : CB2DC ~ CBCAE pour la version américaine A32DC ~ A3CAE pour la version française CAA3A ~ ? pour la version japonaise On a les détails sur les différentes zones de données pour la ROM américaine ici : https://datacrystal.tcrf.net/wiki/Soul_Blazer/ROM_map Si certains parmi vous peuvent m'aider à intégrer le graphisme japonais de Lisa, ce sera super ! Je vais attendre un peu d'avoir vos retours et votre aide éventuelle avant de fournir le patch
  31. 1 point
    Merci à tous pour votre accueil chaleureux! n'hésitez pas à faire un tour sur : pour suivre mes avancements sur le projet de Traduction!
  32. 1 point
    https://www.ultimate-consoles.fr/forum/403-les-patchshack-des-membres-duc/
  33. 1 point
    Ah la chaine youtube c'est une autre époque... faudrait que je refasse des truc dessus un jour. Mais c'est difficile je trouve. La chaine commence a être vieille et youtube aussi. Ma première vidéo (+ de 2 millions de vues!) a 16 ans maintenant J'aurais pu poster au moins la vidéo du hack Ranma: qui sert aussi de source pour récupérer le patch. Youtube ca reste un bon moyen pour retrouver quelques choses qu'on cherche. Mais je vais mettre a jour le patch la semaine prochaine. J'ai fini le 1.4 mais je suis en train de terminer un google doc qui répertorie toutes les corrections de bug de collision que j'ai fait et que j'ajouterais dans le Readme. Je me dis qu'il y a peut être des joueurs pro du jeu qui voudront savoir exactement ce qui a changé en plus du framerate. https://docs.google.com/document/d/1tSqEKUFJVFlq93rAapWS8RIoUFz6yIvj-WMJ7cA_hK4/edit?usp=drive_link
  34. 1 point
    Bienvenue upsilandre, ta chaîne youtube est vraiment intéressantes ^^ merci pour le lien.
  35. 1 point
  36. 1 point
    Discord, c'est bien comme chat room. L'avantage avec un forum comme celui-ci c'est que les posts restent. Du coup, certains recherches de vieux sujets peuvent débloquer certaines situations.
  37. 1 point
    Bienvenu. J'ai regardé un peu tes articles et y en a bien quelques uns qui me branchent. On pourra toujours discuter de trucs même si tu te penches pas trop sur les mods. Tous les contributeurs sont le bienvenu. Et qui a bien fonctionné. Combien se sont inscrits et n'ont pas posté plus de 3 messages. Il y a finalement peu de membres qui sont allés au bout du truc ces dernières années. Peut-être que les possibilités plus clés en main comme les linker, les raspberry pi, mister et consoles qui peuvent faire de l'émulation ou le prix des repros sur aliexpress ont rendu le cartmod moins attractif. En tout cas une fois qu'on y est bien, c'est très addictif. J'ai parfois plus de plaisir à modder qu'à jouer.
  38. 1 point
    Très belle présentation Non, sans dec' ? On avait pas remarqué ;-) Héhé, bienvenue chez nous! Attention toutefois, il te faudra d'abord atteindre un nombre de 10 posts pour avoir accès à l'intégralité du forum et notamment aux sections sensibles que sont le "cartmod" et "les réalisations" des autres membres du fo-fo. (C'est un peu rébarbatif mais c'est une procédure dissuasive qui a été nécessaire)
  39. 1 point
    Bienvenu à toi sur le forum
  40. 1 point
    Réception d’une makibox aujourd’hui !
  41. 1 point
  42. 1 point
    Le Gold coin j’adore perso
  43. 1 point
    Petit kdo chinois. de quoi nourrir la game gear et une gold coin
  44. 1 point
    Tu a privatisé l'hangar Aerium pour stocké ta collec zzoomm . Incroyable, ta collection!!!
  45. 1 point
    Petite broc cette aprem pour 30€
  46. 1 point
    Bon nekko the cat tourne autour, alors ouvrons les valises !
  47. 1 point
    Bon ! Sa passe vite trois semaines au japon comme d’hab. Vivement la fin de l’année. trouvaille pour ¥200.000
  48. 1 point
  49. 1 point
    Recup du week end pour 3€
  50. 1 point
    Opération pour pâques à auchan 4€
×
×
  • Créer...