[Dreamcast] RECVX

Forum où l'on peut discuter de tout à condition de ne pas flooder, sauf dans l'unique sujet dédié "foutoir".
fafadou
Nouveau Floodeur
Messages : 38
Inscription : 23 nov. 2017, 23:04

[Dreamcast] RECVX

Message non lu par fafadou » 06 juil. 2018, 14:31

Bonjour,

J'espère que je poste au bon endroit sur le forum.

J'ai un problème sur un projet qui me tient à cœur, il s'agit de l'import de la version de resident evil code veronica complete (X chez nous) sur les version soriginales française et euro après si possible.
Cette version complete n'est sortie qu'au japon sur dreamcast.

L'avantage c'est quelle offre le peu de chose que capcom a bien voulu rajouter, et le mode vga pour pouvoir en profiter en 480p au lieu du 320p sur les versions euro.

Tout d'abord on a renommé les fichiers de la version française identique à la version complete pour que le 1ST_READ.BIN de la version complete puisse les lire (les fichiers sont pratiquement tous les mêmes hormis les noms qui changent pour chaque pays).

Le problème c'est qu'au niveau du texte ça ne va plus :

Image

Donc on a conservé le 1ST_READ.BIN français et ajouté les fichiers qui ne contenaient pas de texte depuis la version complete, ça donne un jeu avec des effets manquant (les yeux de wesker par exemple) et des bugs dans les cinématiques ajoutées (switcher la cinématique avant la fin sinon on reste dans la pièce) des petits trucs comme ça.
Cependant tout est jouable et on peut finir le jeu, on a fait une release en l'état. Mais j'aimerai aller plus loin aujourd'hui et corriger ce problème d'espace enfin de Variable Font Width (VFW).

LEs 1ST_READ.BIN complete US et FR sont assez différents mais si je prends le 1ST_READ.BIN anglais et français ils sont très proche et j'ai ça comme problème sur l'anglais :
Image

Donc je pense que pour trouver la VWF ce sera plus facile. C'est à dire trouver une différence entre les 1ST_READ.BIN.
Je note que sur la première capture les lettres me semblent plus jolie, j'espère pouvoir garder cette font.

J'ai d'abord fait une grosse hypothèse, c'est à dire que tous les hex XX XX XX 8C (je sais pas comment on dit mais il faut qu'ils soient de 0 à 3, 4 à 7, 8 à B et C à F sur une ligne) sont des pointeurs, ils pointeraient pratiquement tous au même endroit dans le fichier quelque soit la version sauf que certains pointent en dehors du fichiers (pas beaucoup mais quelques uns...) est ce que vous avez déjà vu ça ?
Je me suis concentré sur le reste j'ai trouvé quelques "zones" de différentes, j'ai tenté des copier-collé sans résultat (vous me conseillez quoi pour comblez les octets restant après une copie ? 0x00, 0xFF, 0x20, 0xFF ou 0x09 00 (nop' en assembler si j'ai bien compris).

J'ai essayé de trouver une font également sans résultat mais je pense pas qu'elle soit ici et que c'est ce que je recherche car les accents s'affichent bien.
Ensuite je me suis mis à la recherche d'une table SHIFT JIS, je n'en ai pas trouvé (enfin que quelques caractères qui se suivent) de complète jusqu'à peu ou j'ai trouvé ça :-) :

Image

C'est exactement pareil sur toutes les versions pour moi il y a un region size qui ferait qu'un pointeur indique un des six alphabets selon la version (jap, fr, ang, all, us, esp) car :
Image
J'ai fait des tests pour voir si quelque chose change sans résultat... Aucun... (changement de lettre, changement de ce qui est avant les lettres, puis j'ai tout remplacé par des 0xAA...)
Après sûrement qu'il y a plusieurs vwf (document, menu, dialogue) comme pour grandia 2 faudrait que j'y rejoue un peu pour confirmer.

Mais concernant cet écran vous me conseillez quoi pour réduire ces espaces entre les lettres. Ou est ce que je pourrai chercher et qu'est ce je pourrai chercher ? j'ai pensé à comptez les pixels pour trouver la VWF mais honnêtement c'est pas évident sur ce jeu les lettres sont assez détaillées...

Voici les 1st_read.bin jap :
https://mega.nz/#!RnhwkSoB!rBXcCjoMzBxz ... fejmZzo3Hk
et fr :
https://mega.nz/#!xvYFEIKR!MIbj6yvDuMWu ... 6GJ465TIRA

Si vous voulez jeter un œil vite fait.

Au secours ^^ et merci par avance

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 364
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 12 juil. 2018, 18:59

Faut que tu commences par te mettre à la résolution d'origine sur l'émulateur pour obtenir le bon comptage de pixels. Puis tu remplaces un texte par aaabbbcccddd etc pour trouver l'espace entre deux a, deux b, etc. Ça te permettra sûrement de trouver la VWF assez facilement. Par contre je te préviens, il est possible que la version jap n'ait pas du tout de VWF.

fafadou
Nouveau Floodeur
Messages : 38
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 13 juil. 2018, 16:43

Merci beaucoup d'avoir répondu :-)

Je vais essayer de faire ce que tu me dis.

Ce qui me donne espoir c'est que dans la version anglaise les accents n'ont pas d'espace et se mettent sur le caractère d'après et dans la version jap toutes les lettres européennes se retrouvent avec le même espacement.

S'il n'y a pas de vwf, comment est ce que cela pourraient fonctionner ? Est ce que tu aurais un lien wiki ou autre pour que je puisse me former s'il plait ?

Je posterai déjà l'écran modifié.


Merci encore pour ta réponse.
Dernière édition par fafadou le 13 juil. 2018, 17:55, édité 1 fois.

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 364
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 13 juil. 2018, 17:35

Une VWF c'est juste une table de largeurs de caractères. Elle peut être sous n'importe quelle forme, mais souvent ça prend des carrés de pixels contenant une lettre (genre 32x32) dans la font et coupe une partie à gauche et à droite pour former le caractère à la bonne taille. C'est très souvent en 2 valeurs par caractère.

Ça peut être l'endroit où ça se coupe à gauche du carré du pixel et l'endroit où ça coupe à droite. Ça c'est souvent si le caractère est centré dans le carré de son emplacement dans la font.

Genre t'as un "I" dans un carré de 32x32 pixels mais il prend que 6 pixels et est centré, donc 3 pixels de chaque côté du centre. Tu laisses un pixel d'espace avant et après en longueur. Ca fait que tu vas couper à gauche à 12 pixels en partant de la gauche. Puis à droite ce sera 12 pixels en partant de la droite soit 20 en partant de la gauche. T'auras donc les valeurs 0xC et 0x14 qui se suivront. Ca peut être 0C 14 ou 0C 00 14 00 ou encore 0C 00 00 00 14 00 00 00.

Après t'as d'autres méthodes utilisées comme par exemple le caractère qui va être placé à gauche dans son carré d'emplacement dans la font au lieu d'être centré. Dans ce cas l'une des valeurs peut correspondre à la coupure à droite pendant que l'autre et une position relative sur l'écran souvent négative.

Comme tu peux le voir ça peut être un peu tout et un hackeur apprend tout par expérience, on n'est pas formé.

Sinon le meilleur moyen de vraiment trouver cette VWF c'est d'utiliser un débuggeur, c'est rapide et sans bavure, mais on en est pas encore là. Essaie de trouver par toi-même pour l'instant en réfléchissant.

Et justement, dans la version jap tous les caractères ont le même espacement, donc il n'y a aucune coupure. Il n'y a donc aucun intérêt de mettre en place une VWF.

fafadou
Nouveau Floodeur
Messages : 38
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 13 juil. 2018, 18:42

J'ai du mal à localiser le fichier lu par le 1ST_READ.BIN japonais pour ce tout premier écran...

J'ai remplacé le japonais par le texte français (en changeant les pointeurs dans les fichiers textes)
Ca me change le texte du début mais il reste en japonais.
Pourtant je l'ai trouvé dans le jeu en français...

Il faut que je regarde c'est bizarre.

Je me suis installé cheat engine mais je n'arrive pas à m'en servir qu'est ce que j'aimerai apprendre, ici je pourrai je pourrai localiser la zone pour ce premier écran et voir les différences entre les versions.

Merci beaucoup pour l'explication, avec la seule expérience de grandia 2 ça ne fait pas beaucoup en effet ^^

fafadou
Nouveau Floodeur
Messages : 38
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 13 juil. 2018, 19:09

ça a donné ça image issue de la version anglaise :

Image

Mon émulateur est 640x480 comme la dreamcast en vga et comme cet image.

Je compte 6 pixels d'épaisseur et 4 pixels entre les i
pour les points j'en compte 7 d'épaisseur et 7 entre les points.

Je suppose qu'il faut en faire plusieurs et chercher la VWF ;-)

Merci encore.

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 364
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 13 juil. 2018, 19:20

La seule information vraiment pertinente ici c'est 10 pixels d'un "i" à l'autre hein :p
Fais la même chose avec a b c d et vois si tu peux trouver une table qui correspond pour commencer.

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 758
Inscription : 17 juin 2004, 16:47

Re: [Dreamcast] RECVX

Message non lu par kogami » 14 juil. 2018, 07:53

Sinon tu peux patcher la version française pour avoir le mode VGA 60Hz

https://japanese-cake.livejournal.com/7947.html
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

fafadou
Nouveau Floodeur
Messages : 38
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 14 juil. 2018, 09:38

C'est vrai que je ne sais pas trop par ou chercher mais je pense vu la taille des majuscules que le jeu est en 32x32.
ok 10 pixels entre les "i" et je remarque que le "i" et le "." sont très proches. Ca peut peut être aidé.
De plus les "é" accents étant sur la lettre d'après dans la version anglaise, je me demande si la VWF de ces lettres accentuées ne sont pas à 0x00 00...

@kogami oui un patch est sorti mais le jeu en version "X" comporte des bugs dans les cinématiques ajoutées (par exemple quitter avant la fin sinon on reste bloqué dans la pièce) et des effets manquant comme les yeux de Wesker.
La version est jouable mais j'aimerai essayer de finir maintenant en important le 1ST_READ.BIN japonais car seul les textes ne passent pas car les lettres sont trop éloignées les unes des autres.


Une autre image avec une très grosse lettre et des a,b,c,d espace et point toujours. j'espère que ça va bien aider.

Image

fafadou
Nouveau Floodeur
Messages : 38
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 17 juil. 2018, 20:43

La bonne nouvelle c'est qu'avec cette dernière capture on peut se dire que le a et le b on la même taille 04 pixels vides et 12 de "longueur" le "c" est un peu plus petit 02 pixels de vide et 10 de longueur.
Le M majuscule fait 24 pixels de haut et la "longueur moyenne" entre les "M" fait elle aussi 24 pixels donc maintenant je suis convaincu que la taille des lettres est en 24x24.

Le "M ." issu du 1ST_READ.BIN japonais que j'ai mis tout en haut avec les espaces trop grands se superposent parfaitement au "M ." de la version anglaise avec les problèmes d'accents donc les majuscules doivent avoir la même VWF sur toutes les versions.

Le "." du "M ." tout en haut à droite de l'image au dessus n'a pas le même écart que le "d." tout en bas à droite ni le même écart entre les 3 points de suspensions en haut à droite (désolé je dois être un peu fouilli) sur ces "..." on a 7 pixels de vides et 7 pixels pour le points. dans le fichier j'ai bien trois points et non un seul caractère symbolisant les points de suspension.
Est ce qu'il y aurai 3 données par lettres sur la VWF ?

En me disant que "a" et "b" sont pareils et devront être suivi par des nombres un peu plus petit pour le "c" :
Alors j'ai cherché du :
0x04 0C 04 0C ; 0x04 00 0C 04 00 0C ; 0x04 00 00 0C 04 00 00 0C ; 0x04 00 00 00 0C 00 00 00 04 00 00 00 0C 00 00 00 (pixels vides, puis pixels pleins pour a et b)
0x0F 0F, 0F 00 0F ; 0x0F 00 00 0F ; 0x0F 00 00 00 0F 00 00 00 (longueur totale pour a et b)
0x04 09 04 09 ; 0x04 00 09 04 00 09 ; 0x04 00 00 09 04 00 00 09 ; 0x04 00 00 00 09 00 00 00 04 00 00 00 09 00 00 00 (début à 04 et fin 0x18 - F=9 pour a et b)
0x09 09 0C ; 0x09 00 09 00 0C ; 0x09 00 00 09 00 00 0C ; 0x09 00 00 00 09 00 00 00 0C (en partant de la droite pour a,b et c)

sans succès...


Maintenant je me dis que la VWF doit être une succession de nombre inférieur à 0x18, alors j'ai essayé de remplacer par des 0x20 toutes ces zones sans succès également.
J'ai obtenu ça mais je ne sais pas exactement d'ou ça vient à mon avis j'ai juste introduit un bug je ferai un edit si j'y comprends mieux :
Image

edit : Toujours le 1ST_READ.BIN anglais c'est à l'emplacement 0x12978C si je remplace le 0x01 par autre chose j'obtiens ça...
Ca ne fait ça que sur le texte la partie commence normalement.
Que pourrais tu me conseiller pour la suite ? Est ce qu'il y a des combinaisons que tu as déjà vues et que je n'ai pas essayé.

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 364
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 17 juil. 2018, 22:17

J'ai essayé de la chercher aussi vite fait de cette manière sans succès. Je pense qu'on va tricher un peu et la trouver par le débuggeur :D
Dis-moi quel est le jeu en question exactement et dans quelle version je dois trouver la VWF que je voie ça.

Répondre