Aller au contenu


Contenu de Nicolas

Il y a 25 élément(s) pour Nicolas (recherche limitée depuis 29-mars 23)


#51197 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 25 mars 2024 - 00h23 dans Projets des fans

Et là encore... ta sauvegarde risque de conserver une partie de la mémoire contenant le bug, donc il faudrait en créer une qui ne soit pas trop proche de la section corrompue.

Il est certainement envisageable de vérifier cela en testant la sauvegarde avec la version originale du jeu par contre !

Sinon pour trouver le bug tu as plusieurs avenues :

  • Dumper la mémoire de chaque version, la japonaise et celle traduite, et observer s'il y a une divergence significative
  • Comparer les instructions dans un débogueur entre la version japonaise et traduite
  • Injecter uniquement une partie de la traduction avant cette section et vérifier si le jeu plante plus loin, et en fonction du résultat, en ajouter un peu plus et retester (sûrement le plus simple si tu n'es pas à l'aise avec l'assembleur x86)
  • Ne pas traduire spécifiquement cette section et voir si le jeu plante toujours (en essayant si possible de ne pas changer le pointeur)

 




#51181 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 24 mars 2024 - 20h32 dans Projets des fans

Je sais que c'est de l'hexadécimal à la base. Mais je ne faisais que remarquer que la traduction hexadécimale en caractères visibles à cet endroit, semble montrer quelque chose qui pourrait être des balises non refermées. Tout est possible, en effet.

L'hexadécimal n'est qu'une représentation parmi d'autres. Concernant l'ASCII, si tu changes l'encodage tu ne verras d'ailleurs plus forcement ces caractères là, le pourquoi c'est trompeur, surtout si tu as l'habitude de programmer, tu pourrais avoir tendance à deviner un language qui n'en est pas un.

Ce que tu observes dans ton éditeur ne correspond pas à un langage conventionnel avec des balises d'ouverture et de fermeture. Les données binaires représentent une version compilée du moteur PIYO. Par chance, ils ont opté pour l'utilisation de l'encodage Shift-JIS pour l'affichage du texte plutôt que de recourir à une table de codage propriétaire, mais ce n'est pas toujours le cas.




#51174 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 24 mars 2024 - 15h41 dans Projets des fans

la chaine ["111,/],=81] ne semble pas avoir de crochets cohérents. Mais je ne suis pas assez spécialiste pour en être sur.

Le rendu ASCII ne veut strictement rien dire, il faut regarder au niveau des données binaires, ce n'est pas si simple qu'une histoire de crochet :smart4: Et le plantage peut être provoqué par tout autre chose que cette section là.




#51167 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 24 mars 2024 - 02h57 dans Projets des fans

J'ai fait un nouveau build du jeu avec la traduction améliorée jusqu'au moment du crash... Je suis aussi en train d'écrire la soluce en parallèle.

 

@Nicolas

J'avais cru comprendre que les bytes "7B" marquaient les débuts de CC/sections et qu'ils étaient suivis de deux octets indiquant la taille de la section (taille que j'ai du coup modifiée en remplaçant les chaines de kanji par des chaines d'ASCII) : c'est pas ça?

 

Le début d'une section est généralement marqué par 7B quand la valeur précédente est 5D qui lui indique la fin d'une section (ce n'est pas toujours 100% le cas). Si tu trouves d'autres 7B avec 2 bytes en avant, ce sont souvent des sous-sections liées à des embranchements (choix A ou B du joueur) et la logique est la même, si tu changes la longueur, il faut ajuster le calcul.

 

Mais oui c'est bien ce que je voulais dire, ce sont des pointeurs relatifs, c'est-à-dire qu'ils varient en fonction de la longueur de la section courante. Il est très probable que tu aies modifié des valeurs incorrectement ou qui ne devraient pas l'être... Je n'ai pas le dump de la table MSX comme je l'ai avec le PC-98, donc ce que j'ai souligné plus haut "pourrait" expliquer pourquoi le jeu crash là... Il faut que tu revérifies chaque valeur.
 

Quant au calcul, le bug peut être aussi simple que de compter un caractère Shift-JIS comme un byte alors qu'ils en comptent quasi tout le temps 2 (il y a des caractères Shift-JIS qui ne codent que sur un byte, il faut faire attention à ce point également :D) et cela revient à mon autre post où je te disais que tu avais laissé des caractères shif-jis parfois au début, il est possible que ton calcul soit en erreur dans ces là (et encore une fois, je ne fais que supposer).

Pour la soluce et d'autres éléments, tu peux aller lire ceci, point 4. SOLUTION SET (la liste des actions est en romaji ::malade:: (oui je déteste ce format d'écriture) mais tu peux faire un replace avec la traduction en anglais plus haut :
 

https://gamefaqs.gam...bMIbRUFAPlIqQ2U

Et le truc drôle à essayer :
 

 

- Hidden chara.

At Kasuga home, in sisters' room, when Manami chan
and Kurumi chan are present, talk persistently with them,
until the punishment.
After the back drop, go to living room, and examine
(shiraberu), to find the hidden chara Jingorou (cat).




#51160 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 23 mars 2024 - 22h37 dans Projets des fans

C'est super que tu sois allé si loin! Je redoutais effectivement que mon bricolage finisse par faire planter le programme sur le long terme. Je vais regarder si c'est corrigeable, à moins que Nicolas n'ait une idée de ce que font les CC autour de la ligne que tu as indiquée.

 

 

J'ai analysé tes modifications, et il semble que tu aies bel et bien cassé quelques pointeurs relatifs (notamment avec le byte 7B). En fait, tu peux considérer que tu as eu de la chance que le jeu ne soit pas plus endommagé que cela  :pirate20: (je n'ai regardé que cette portion là)

Je n'ai pas encore eu le temps d'examiner en profondeur ce segment du script engine, donc je ne peux pas garantir que le simple fait d'utiliser les valeurs de base résoudra tout... Il est possible qu'il soit nécessaire de les recalculer dynamiquement, c'est une occasion de valider une théorie :D

Code d'origine :
 

 

7B05005B7D32325D5D7B24005B3A4038312C7B15005B223131302C5E4039322C7B06005B223131315D5D2C2F3138385D7B56055B7D31392C3F342C7BCD005B2135372C36352C36362C36372C212C3F35372C7B0D005B22322C2235352C2F3136385D2C3F36352C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032312C223134342C2F3138395D2C3F36362C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032302C223135302C2F3139305D2C3F36372C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032352C223136302C2F3139315D5D2C3F352C7B0E045B5E4038312C7B07005B7D33332C2F5D2C3A4039322C7B33015B3D39325D

 

et dans celui que tu as modifié :
 

 

7B05005B7D32325D5D7B24005B3A4038312C7B15005B223131302C5E4039322C7B06005B223131315D5D2C2F3138385D7B56BE055B7D31392C3F342C7BCD005B2135372C36352C36362C36372C212C3F35372C7B0D005B22322C2235352C2F3136385D2C3F36352C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032312C223134342C2F3138395D2C3F36362C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032302C223135302C2F3139305D2C3F36372C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032352C223136302C2F3139315D5D2C3F352C7B0E76045B5E4038312C7B07005B7D33332C2F5D2C3A4039322C7B339B015B3D39325D

 




#51157 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 23 mars 2024 - 19h59 dans Projets des fans

Traduction française à faire rectifier en urgence : "148646 étage" doit être remplacée par "148646 Montre"

En urgence rien que ca :training5:

 

Je viens de créer un Google Doc que vous pouvez librement modifier pour y intégrer vos traductions et corrections au fur et à mesure.

Lien partagé en MP avec les membres les plus actifs de ce fil de discussion : si vous ne l'avez pas reçu et voulez contribuer, demandez-moi!

Mais où sont les CC dans le texte ?! c'est peut-être la méthode que tu utilises pour remettre ton texte en place qui provoque quelques bugs ? Dur à dire sans savoir comment tu procèdes.

 

C'est super que tu sois allé si loin! Je redoutais effectivement que mon bricolage finisse par faire planter le programme sur le long terme. Je vais regarder si c'est corrigeable, à moins que Nicolas n'ait une idée de ce que font les CC autour de la ligne que tu as indiquée.

 Ca peut être le pointeur juste avant ou même juste après, je regarde quand j'ai 5 minutes.




#51152 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 23 mars 2024 - 16h06 dans Projets des fans

C'est passionnant. Juste un point important : ok pour des graphismes HD ou des musiques modernisées, mais en plus de ce choix, il est nécessaire de maintenir aussi une option graphique et musique d'origine pour les puristes. Un peu comme les jeux modernes d'aujourd'hui où pour des remake on peut basculer d'un style à l'autre. On n'a pas besoin de basculer en live même si c'est le mieux, par contre on a besoin de pouvoir choisir son mode.
 

En fait c'est exactement l'idée, SuperSakura de base va reprendre le matérial d'origine et il est possible de remplacer ce que l'on souhaite, vois- ca comme des options.




#51133 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 23 mars 2024 - 02h54 dans Projets des fans

Ravi de constater tes progrès ! Il est curieux que tu ne puisses pas colorier le texte encodé en ASCII, j'irais bien regarder mais j'ai du mal à tester certaines affaires sur MSX sans perdre patience :hobo: , le jeu rame vraiment beaucoup trop sur cette machine (et la musique bug souvent).

Sur le peu que j'ai regardé (parce que je ne veux pas non plus me spoil l'histoire), j'ai noté quelques problèmes, mais rien de grave. Par exemple, je me suis retrouvé bloqué dans le salon sans pouvoir parler aux sœurs, uniquement au père, donc impossible d'aller plus loin. :

ob9d.gif

Également il manque du texte, ici par exemple (ou c'est un drôle de formatage pour la vitesse)  :

1bch.png

Il faudrait aussi que tu détermines la longueur maximale d'une ligne de texte pour ajouter dynamiquement un CR, sinon les mots sont coupés et ça n'est pas super lisible.
Tu as aussi oublié de corriger d'autres lettres diacritiques comme û. :P:

owd6.png

Moins problématique, la scène de l'écran de sélection est brisée, la section "MICROCABIN PRESENT" est corrompue et n’apparaît plus comme elle le devrait, je pense que tu as du écraser certains CC ou modifier des adresses qui affectent des pointeurs relatifs (et si c'est le cas il est possible que le jeu casse autre part).

Sinon, par moment, l'encodage est étrange devant les mots comme "Kimagure Orange Road" (tu pourrais d'ailleurs conserver l'étoile en SJIS entre Orange et Road)

Sinon Il y a encore du japonais à droite à gauche. :D

0a4p.png

nipz.png

Le texte du menu peut être dynamique, il n'est pas forcément lié à une table de pointeurs, dans le cas présent c'est lié au pilote audio (et ce n'est pas le seul cas, tu devrais refaire un scan sur ta version traduite pour extraire ce qui reste).

Toujours en ce qui concerne le menu principal, dans la version PC-98, il est possible de forcer un retour à la ligne avec 0x0A, mais le texte chevauche la ligne suivante. Peut-être que sur MSX cela fonctionne mieux ?

Pour répondre à ta question précédente, CC signifie "Control Code". Ces codes sont des caractères spéciaux et des séquences de bytes utilisés pour contrôler l'affichage et le comportement du texte dans le jeu. Ils permettent, par exemple, de simuler des animations en superposant des sprites sur des arrière-plans, de changer la couleur du texte, d'ajuster la vitesse, la musique, de définir l'ordre des scènes, et bien d'autres fonctionnalités encore !

De mon côté, je suis en train de les analyser tous. À un moment donné, je devrai écrire un programme pour compiler et décompiler le texte du moteur de script.

Mon but serait de porter le jeu sur SuperSakura plutôt que de traduire la version PC-98, ce vraiment la meilleure des idées car nous pourrions :

  • Traduire le jeu dans plusieurs langues sans avoir à manipuler les pointeurs de manière complexe
  • Refaire les graphismes en haute qualité
  • Supprimer la limitation de 15 caractères sur le menu principal
  • Remplacer le son 8bit avec le son original en flac
  • Créer des variantes du jeu avec différents scénarios au choix ! (ex porter des fanfics au format jeu vidéo :P)
  • Lancer le jeu comme un simple programme multiplateforme, sans utiliser d'émulateur

Cependant, pour réaliser ce portage, il est nécessaire d'apprendre à SuperSakura comment le jeu fonctionne dans son ensemble. Pour ce faire, je dois être capable de décoder intégralement le moteur de jeu (en cours), d'extraire les graphismes du second disque et de les décoder dans un format moderne comme. Ensuite, il faudra voir s'il sera possible d'extraire dynamiquement l'arbre des différents chemins proposés au joueur par le jeu. :judge:




#51074 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 20 mars 2024 - 17h01 dans Projets des fans

Tu veux quoi car certaines traductions font déjà moins de 16 caractères ? Tu veux juste pour ceux qui dépassent 16 ?

Oui je n'ai pas pris la peine de trier :P Il faut réduire les traductions qui dépassent 15 caractères à... 15 caractères max :P




#51072 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 20 mars 2024 - 16h27 dans Projets des fans

Bien joué Frozen ! Il faut vraiment être vigilant quant aux CC autour et au milieu du texte ! C'est crucial de les conserver, sinon tu risques de perturber les animations et les couleurs, ce qui expliquerait probablement pourquoi ton menu est partiellement atomisé  :pirate20: 
Également, déplacer des pointeurs comporte des risques, surtout si tu interviens dans des zones qui "semblent" inutilisées mais qui ne doivent en aucun cas être modifiées.

En ce qui concerne la version PC-98, voici où j'en suis rendu :

  • Hack pour ajouter la prise en charge des caractères diacritiques (à l'origine, le SHIFT-JIS ne supporte pas les caractères ASCII étendus) : En cours, j'arrive à afficher les caractères accentués, mais cela nécessitera la création d'une nouvelle TBL spécifique, ce n'est pas vraiment une partie de plaisir car je dois m'atteler à chaque caractère manuellement :judge:
    0qho.png
  • Expand de la taille des fichiers : J'ai du reverse le code de TBR.exe pour comprendre comment expand la taille des fichiers, de base le simple ajout d'un byte dans le fichier TBL ou TBY empêche le jeu de se lancer : Fait
  • Déplacement des pointeurs : Grace à l'expand de fichier, il n'y a désormais aucune restriction quant à la longueur du texte à traduire. La seule limitation réside dans le menu principal qui est limité à 15 caractères (techniquement 16, mais il déborde sur le côté de l'écran). Je vous invite à vous référer à la fin de mon message pour un coup de main : Fait
  • Reverse des CC : Je suis en mesure de modifier les couleurs du texte, de déplacer les éléments sur l'écran, de gérer les temps de pause, etc. En parallèle, je suis en train d'analyser les sous-routines. Une partie que je n'ai pas encore check concerne les pointeurs relatifs. J'appréhende qu'en déplaçant certains pointeurs, le jeu ne puisse plus revenir en arrière : En cours
  • Dump du texte : En attente. Pour obtenir un dump propre, il est essentiel de comprendre le fonctionnement de chaque CC ainsi que des sous-routines. Comme je l'ai mentionné dans mon introduction, ne pas en tenir compte risque de perturber ou même de corrompre le jeu (par exemple, j'ai involontairement "branch" la seconde scene avec la fin du jeu... j'ai auss, par accident, amené Madoka dans la chambre de Kyosuke dès le début du jeu :P)
    vxzq.png
  • Traduction : En attente
  • Code d’insertion : En attente
  • Extraction des images : À terme, j'aimerais être en mesure d'extraire l'ensemble du jeu et de le convertir au format SuperSakura (https://gitlab.com/b...lin/supersakura), ce qui le rendrait natif, sans nécessiter l'utilisation d'un émulateur :) Pour cela, il faudra extraire les images (qui, je confirme, sont dans le disque 2 dans un format propriétaire) : Must to have

J'ai constaté que MSX utilise un engine similaire mais contient des variations sur les CC... cela t'aidera Frozen à peut-être corrigé tes bugs dans le futur mais il faudra creuser plus loin pour aboutir à quelque chose de qualité équivalente à PC-98.

En ce qui concerne le menu d'actions, je vais faire appel à votre créativité car il faut limiter le texte à moins de 16 caractères.

Voici la liste :
 

 

2枚の写真 ; Deux photos
BGM1 ; BGM1
BGM2 ; BGM2
BGM3 ; BGM3
BGM4 ; BGM4
BGM5 ; BGM5
BGM6 ; BGM6
MENU ; MENU
あかね ; Akane
おじいちゃん ; Grand père
かけるのをやめる ; Arrêter de courir
くるみ ; Kurumi
くるみとまなみ ; Kurumi et Manami
さゆり ; Sayuri
ぬいぐるみ ; Peluche
ひかる ; Hikaru
まどか ; Madoka
まなみ ; Manami
まわり ; Environs
やや速め ; Légèrement plus rapide
やや遅め ; Légèrement plus lent
アバカブ ; Abacab
カメラ ; Caméra
セーブする ; Sauvegarder
テレビ ; Télévision
ディスコ ; Discothèque
マスター ; Maître
ロードする ; Charger
鮎川宅 ; Maison d'Ayukawa
移動 ; Déplacer
一弥 ; Kazuya
駅前 ; Devant la gare
河川敷 ; Bord de la rivière
海 ; Mer
学園 ; École
居間 ; Salon
恭介 ; Kyousuke
恭介の部屋 ; Chambre de Kyousuke
鏡 ; Miroir
靴箱 ; Boîte à chaussures
靴箱付近 ; Près de la boîte à chaussures
見る ; Regarder
交換日記 ; Échange de journaux intimes
更衣室 ; Vestiaire
使う ; Utiliser
持ち物 ; Affaires
時計 ; Horloge
取る ; Prendre
春日家 ; Maison de la famille Kasuga
春日家前の公園 ; Parc devant la maison de la famille Kasuga
初めから ; Nouveau
女の子 ; Fille
小松と八田 ; Komatsu et Hatta
小松宅 ; Maison de Komatsu
床 ; Plancher
正門掲示板 ; Panneau d'affichage principal
赤い麦わら帽子 ; Chapeau de paille rouge
設定変更 ; Modifier les paramètres
速め ; Plus rapide
遅め ; Plus lent
中止する ; Arrêter
張紙 ; Affiche
調べる ; Examiner
通学路 ; Chemin de l'école
店内カウンター ; Comptoir du magasin
電話 ; Téléphone
能力 ; Capacité
桧山宅 ; Maison de Hiyama
普通 ; Normal
父 ; Père
父の仕事部屋 ; Bureau du père
文字表示速度変更 ; Changement de vitesse d'affichage du texte
妹たちの部屋 ; Chambre des sœurs
勇作 ; Yuusaku
遊園地 ; Parc d'attractions
話す ; Parler

 

La suite dans un prochain épisode :hobo:
 




#50964 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 16 mars 2024 - 04h04 dans Projets des fans

Je crois que je vais te laisser bosser, j'avance moins vite!

 

Ceci dit, j'arrive maintenant à jouer l'intro en entier avec les textes traduits sans limite de nombre de caractères. Ça bloque après parce qu'il faut corriger toutes les tailles de chaînes de caractères qui sont incluses dans le script... ce qui nécessite de bien le comprendre, repérer les débuts et fins de chaînes, etc.

Tu peux bien t'amuser avec les pointeurs, je suis plus à regarder comment le pyco engine fonctionne :smart4:




#50956 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 15 mars 2024 - 18h43 dans Projets des fans

J'ai commencé à reverse le langage de script de MicroCabin et les CC utilisés dans le texte, de ce que j'ai constaté pour le moment, en plus de mon explication sur le poste precedent, je constate que ceux-ci serviraient à contrôler l'affichage des images avec les effets de transition ainsi que des appels à des sous fonctions.

Rien à partager pour le moment, je n'en suis qu'au début de l'analyse.




#50832 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 12 mars 2024 - 01h52 dans Projets des fans

Comme promis voici quelques informations.

Le jeu est constitué de deux disquettes de 1,2 Mo :

- La première est formatée en FAT-16 et contient les binaires du jeu.
- La seconde est un disque de données ; il n'est pas possible de lancer le jeu avec uniquement la première disquette.

En ce qui concerne la première disquette, voici un bref résumé de son contenu :

Un ensemble de fichiers propre à MEG-DOS (un système d'exploitation compatible MS-DOS développé et vendu par la société SPS pour le PC98), comprenant :

- IO98.SYS (équivalent à IO.SYS dans DOS 2.x)
- MEGDOS.SYS (équivalent à MSDOS.SYS dans DOS 2.x)
- CONFIG.SYS : Fichier de configuration pour MEG-DOS, 4 paramètres :
    - files : définit le nombre maximum de fichiers pouvant être ouverts simultanément
    - buffers : taille du tampon mémoire utilisé sur la disquette (numéro 2?) pour stocker les images et d'autres fichiers temporaires
    - device : permet de charger un pilote, ici MMD2.SYS qui est le pilote audio du jeu, avec une allocation mémoire de 4kb
    - shell : le programme chargé à la place de COMMAND.COM

D'autres fichiers sur la première disquette incluent :

- MMD2.SYS : Pilote propriétaire développé en interne par Microcabin, assurant l'interface avec les puces YM2203/2608x (Music Driver version 2.01 「あけみちゃん」(include 「チャーリーくん」) Copyright © 1987,1988 Microcabin co./Xtal soft co.) une entrevue concernant ce driver et son usage dans MSX : https://www.msx.org/...rview-日本語
- VOICE.BIN : FM
- M00000.BIN : BGM1
- M00001.BIN : BGM2
- M00002.BIN : BGM3
- M00003.BIN : BGM4
- M00004.BIN : BGM5
- M00005.BIN : BGM6

- TRB.EXE : Le fichier exécutable principal du jeu, responsable, entre autres, du chargement des fichiers TBL et TBY (comme observé dans le dump ASM)
- PIYO.EXE : Le moteur de scripting du jeu
- PAT.COM : Il s'agit probablement d'un patch destiné à apporter des modifications ou des améliorations, l'analyse du code ASM n'a pas donné grand-chose, c'est un fichier COM donc pénible à reverse.

- S00000.TBL : Tables des pointeurs pour le jeu, contient également le texte du menu d'action présent à droite de l'écran principal.
- S00000.TBY : Renferme l'ensemble du texte du jeu, formaté avec le langage de script Piyo (qu'il faudra lui aussi reverse, au moins partiellement).

En ce qui concerne la deuxième disquette, je présume qu'elle contient les images et sert également à stocker des données temporaires pendant l'exécution du jeu.

Il faut savoir qu'à l'époque il était courant pour un dev de créer son propre format propriétaire pour un peu tout et n'importe quoi. C'est notamment le cas du format des données utilisé sur la seconde disquette, pour la musique (le MIDI n'était pas encore démocratisé) et ultimement des images (je ne pense pas que nous ayons besoin de changer le contenu des graphiques, du moins au début).

Dans l'immédiat le focus se portera donc sur les fichiers S00000.TBL et S00000.TBY.

S00000.TBL contient 2 tables, une pour le texte présent dans menu et une seconde pour le texte qui est affiché globalement dans le jeu.

La première table débute à 0x1C2, les adresses sont à lire en little-endian, par exemple 5C02 pointe sur l'adresse 0x25C, le texte de menu se trouve juste en dessous.

Comme une image vaut mille mots, voici à quoi cela ressemble (1ier pointeur en jaune, second en bleu, troisième en orange, séparateur en violet) :

05ew.png

La seconde table débute à 0x4BE, la lecture se fait de la même manière que pour les pointeurs du menu d'action, mais les adresses elles concernent le fichier S00000.TBY.

Dans le cas du texte (et contrairement au menu), l'extraction du contenu propre à chaque pointeur retourne systématiquement le texte avec le formatage propriétaire du moteur Piyo, ex abrégé :
[/],!48,34,!,?48,{<0F><00>[#,"2,"55,/216],?34,{<11><00>[#,"32,"107,/232]],?75,{・00>[>@120,@145,{・00>["141,=144]一 弥 「とうとう見つけたぞ! 一弥!!」
La meilleure approche selon moi serait de recréer un fichier TBL avec des pointeurs à jour et un fichier TBY avec la traduction + le contenu binaire non modifié.

L'un des enjeux que j'anticipe c'est que du fait qu'ils ont eu la belle idée de concaténer dans le fichier TBL deux tables, traduire les menus en français pourrait décaler l'emplacement d'origine de la seconde table et provoquer un crash complet du programme.

Quant à la manière dont le jeu effectue le mapping sur les entrées du fichier TBL, cela reste une interrogation : est-ce séquentiel, calculé, ou statiquement défini quelque part dans le binaire ? (Auquel cas il faudra soit trouver une façon de ne pas trop allonger le texte du menu, il y a quelques leading zeros mais pas de quoi ajouter grand-chose OU aller modifier le code assembleur pour le faire pointer sur la nouvelle adresse).

@FrozenOwl, la logique des pointeurs et du language de script est identique dans le jeu MSX, mais tu comprendras que travailler sur le système de fichier de l'image de la disquette directement pose problème tant pour le calcul des adresses que pour faire de l'espace afin de déplacer les choses (cela doit être faisable mais je ne connais pas bien cette machine.)

Dans un prochain message, je vous fournirai le code que j'ai développé pour extraire le contenu de la seconde table (code qui pourra être adapté pour la première table), ainsi que les outils nécessaires pour manipuler les fichiers et tester les modifications.



#50796 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 10 mars 2024 - 22h44 dans Projets des fans

Je vais peut-être dire une bêtise, mais si le plus gros souci provient du menu de droite, ne peut-on pas se contenter d'y laisser les actions en anglais tout en traduisant les dialogues en français ?

Non ce n'est pas du tout le plus gros souci, juste une contrainte qui n'existe pas pour le texte en dessous.




#50787 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 10 mars 2024 - 18h20 dans Projets des fans

Non, mais ne t'en fais pas : si tu me dis que la version PC-88 est meilleure, je te fais confiance. Tu peux me déjà passer ce que tu as sur cette machine (en MP si tu préfères), et je me débrouille avec!

J'ai examiné de plus près la version MSX et cela semble être un port bête et méchant entre PC88 <-> MSX (la version P98 est elle même un port de la version PC88).

Apporter des modifications directes au texte dans l'image DSK pose des défis car les adresses des pointeurs ne correspondent pas en raison de la concaténation des structures de fichiers. Après tu me diras que c'est un bête calcul d'offset... mais quand bien même, changer les pointeurs pour avoir du texte plus long va impliquer un expand du disque, ce qui n'est probablement pas faisable facilement.

En ce qui concerne la version PC98, c'est relativement plus simple car il est possible d'extraire les fichiers du contenu de l'image et de travailler sur ceux-ci car le système de fichier est en FAT16 (du moins pour le premier disque ; le second c'est une autre histoire).

Dans les deux versions, le moteur de jeu est identique et le texte est systématiquement intégré dans un langage de script propriétaire qui régit divers aspects du jeu, tels que la vitesse d'affichage du texte, la musique de fond, et divers effets graphiques (double-width, couleur, clear, flash, new line et j'en passe), donc en plus de jouer avec les pointeurs, il faudrait idéalement reverse certains CC afin d'adapter le rendu au français (qui ne s'affiche pas aussi vite que le japonais).

En anglais le jeu se traduit plus facilement qu'en français, mais même en jouant avec les pointeurs, le menu de droite à une largeur fixe qui limite les choses, je ne sais pas si le code gere le retour à la ligne à cet endroit ?!.

Je reviens prochainement avec tous les détails techniques pour faire avancer la cause, je n'ai pas le temps en ce moment de coder de quoi, mais je peux donner un coup de main à côté.

j2i6.png


 




#50760 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 10 mars 2024 - 04h51 dans Projets des fans

Je vais te trouver de quoi mais il est possible que ça ne fit pas du tout avec la version MSX, je ne sais pas si cette version utilise le même moteur que la version PC88/98, il faudrait que je vois la structure des données pour comparer (si on peut en extraire les fichiers, si c'est comme une ROM c'est encore une autre affaire :P)




#50758 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 09 mars 2024 - 23h23 dans Projets des fans

Le son sur PC98 c'est pas mal le jour et la nuit avec la version MSX qui n'a que 4 pistes et sonne moins bien qu'un gameboy :P Tu n'avais peut être pas configuré ton émulateur (de base c'est meeeh).

Je vais essayer de retrouver mon code et la documentation, je n'ai pas trop le temps d'écrire un inserter mais ce n'est pas si complexe, il faut juste faire l'opération inverse avec des ajustements.




#50752 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 09 mars 2024 - 20h15 dans Projets des fans

Non PC88 c'est en dessous de PC98, aucun chiffrement sur ces versions.




#50748 Traduction du jeu MSX de KOR : Natsu no Mirage

Posté par Nicolas sur 09 mars 2024 - 19h03 dans Projets des fans

Sans vouloir passer pour le rabat-joie de service, il semble y avoir des aspects à améliorer dans votre approche.

  • La version MSX est de qualité inférieure à la version PC98, tant sur le plan musical que graphique.

  • Le jeu ne se limite pas à l'affichage de texte à l'écran. Une série de commandes de contrôle (CC) détermine, entre autres, le positionnement du texte, sa vitesse de défilement, l'utilisation de formats spécifiques, etc. Ces CC indiquent également la fin d'une section. Une simple erreur de placement de caractère va entraîner des bugs.

  • Le SJIS utilisé à l'époque n'est pas conforme à la norme actuelle, ce qui peut causer des erreurs dans l'extraction du contenu (https://harjit.moe/j...jisplane1a.html)

  • Dans la version PC98, Il est possible d'extraire tout le texte, y compris les CC, de manière dynamique sans avoir à déterminer si c'est du japonais ou non (je n'ai pas exploré le port MSX).
    En suivant cette approche, il est théoriquement possible de traduire du japonais vers le français avec la longueur souhaitée et d'ajuster le code du jeu en conséquence.




#48899 Kor non censuré : à partir de quel âge ?

Posté par Nicolas sur 02 octobre 2023 - 19h28 dans Forum principal

Tu devrais regarder le dernier Cash Investigation sur France 2, les enfants en France regardent du contenu pornographique vers l’âge de 10 ans ... c'est pas KOR qui va traumatiser ta nièce clairement.




#46569 Inscription impossible

Posté par Nicolas sur 01 juillet 2023 - 22h41 dans SOS

Google a retiré le support de ReCaptchav1 : https://developers.g..._v1_-_shut_down le pourquoi celui-ci ne s'affiche plus lors de l'inscription.

http://www.google.co...5mBoJ3naK&hl=en [Erreur 404].

L'inscription par courriel me semble pas mal déroutante en plus d'être moyenâgeuse, pas bien sur qu'un nouvel utilisateur souhaite s'embarquer la dedans...

J'imagine que Jingo n'a pas fait de migration vers une version à jour de IP.Board qui supporte ReCaptcha 2/3 (ça peut être beaucoup de travail clairement).

À mon sens un contournement simple à mettre en œuvre serait par exemple de placer le forum derrière CloudFlare (c'est gratuit) et d'activer le filtrage des robots et divers spammeurs, puis ensuite de simplement retirer l'usage du captcha sur la page d'inscription. Rien n’empêche en plus de cela d'activer la validation manuelle des inscriptions.




#46225 Podcast sur KOR en français.

Posté par Nicolas sur 07 mai 2023 - 20h21 dans Projets des fans

Pour changer j'arrive après la guerre, j'écoute présentement le hors série sur le pilote, content d'entendre à nouveau Fred, Olivier & Cie :baloon:  Kody tu as vraiment fait une belle job, ça va me prendre un petit moment pour tout écouter :-)




#46138 Les travaux de CyberFred

Posté par Nicolas sur 24 avril 2023 - 20h19 dans Projets des fans

Superbe réalisation Fred. Tu es parvenu à faire cela avec Midjourney ou c'est une autre AI du même type ? :wow2:




#46116 Les bluray de KOR... en Espagne !

Posté par Nicolas sur 23 avril 2023 - 15h13 dans Goodies

Les droits du pilote et de shinkor sont différents au Japon, donc ils n'accompagnent jamais la série OAV 1er film.

Je sais bien, mais à côté de cela, ShinKor en version HD ne semble pas intéresser grand monde, peu importe le pays, un jour peut-être :no3:




#46098 Les bluray de KOR... en Espagne !

Posté par Nicolas sur 22 avril 2023 - 20h40 dans Goodies

Puis encore une fois Shin Kor passe à la trappe  :hobo:  !





  • Loading Countdowns