Le ROMHacking, là ou tout commença...

Forum dédié à la traduction de Grand Knights History sur PSP

Modérateur : Lyan

Avatar de l’utilisateur
Lyan
Dieu Suprême du flood
Messages : 1440
Inscription : 19 nov. 2007, 04:56
Localisation : Raxacoricofallapatorius
Contact :

Le ROMHacking, là ou tout commença...

Message non lu par Lyan » 12 mai 2012, 16:41

Hello la foule,


Suite à la décision des éditeurs de ne plus localiser GKH en dehors du Japon malgré l'annonce qu'ils avaient faite l'année passée, j'ai donc décidé de faire ce que je pourrais pour que le jeu puisse bénéficier malgré tout d'une traduction FR

Je pense que pour ce faire j'aurais besoin de renfort, mais dans un 1er temps je peux déjà commencer par créer un topic pour indexer quelques informations sur le jeu.

Après avoir passé la journée d'hier dans les entrailles du jeu, j'ai donc un aperçu global (même si pas non plus complet) au niveau de ce que la bête a dans les tripes.

De prime abord, je dirais que dans l'ensemble, c'est pas un très gros hack, il n'y a pas énormément de textes (dans les 300 à 400 ko niveau scripts) et la difficulté principale va résider au niveau des graphismes puisque d'après ce que j'ai constaté, il y'en a pas mal et beaucoup sont dispatchés en vrac dans les fichiers.
Exemples:
Image
Screenshot in-game
Image

Image
Dans le fichier correspondant (enfin je crois :P )
Le point le plus dur sera donc de localiser et comprendre comment ils sont mappés (les coordonnées x/y, le système de rotation, toussa toussa...)


.......................................................



Pour ce qui est de la 2nde difficulté, ça se situera au niveau du zonage du jeu car pour tout ce qui est menu psp utilisés in-game (clavier virtuel, quitter la partie, sauvegarder, prise de screenshot intégré au jeu, ...) tout est zoné en japonais (origine du jeu oblige) et je crois qu'il y a un moyen de changer ça pour avoir déjà croisé le cas sur un patch étranger mais par contre, tout le truc va résider dans la localisation du bout de code qui gère ça
Exemples:
Image
Image
Image
Image
Le point le plus dérangeant c'est le menu pour entrer le nom du joueur qui va utiliser du Shif-JIS (donc des caractères sans VWF) lors de l'affichage du nom choisi

.......................................................


Pour ce qui est de la 3ème difficulté qu'on aurait pu rencontrer, il s'agissait de la VWF justement... La plupart des fichiers sont encodés en Shift-JIS sans VWF, mais en creusant un peu plus, je me suis rendu compte que dans la font, une partie des caractères sont encodés en UTF-8, et grand miracle, pour certains cara dans cette partie, on trouve bel et bien une VWF, la DTE à laquelle je pensais au départ ne devrait donc plus être d'actualité mais faut que je m'exerce à localiser la VWF en espérant que celle-ci soit assez complète pour qu'on puisse ajouter tous les cara nécessaires (j'ai un peu peur qu'elle ne soit que partielle)
Exemples:
Image
Comme on le voit sur l'exemple ci-dessus, les lettres minuscules de "Test" (ainsi que la maj) sont mono-espacées comme les cara jap, par contre les cara spéciaux qu'on trouve dans la partie UTF-8 de la font eux utilisent une VWF ;)

Bref à creuser, reste à la localiser et voir ce que je pourrais en tirer mais c'est plutôt bon signe :-D

Je vais continuer mes tests voir ce que ça donne, j'ai pas plus d'informations pour le moment :)


.......................................................


Et juste pour le fun, j'ai choppé ça en fouinant dans les graphismes du jeu
Images:
Image
Image
Image
Image
C'est des images qui sont dans la cinématique d'intro :D

Qu'est-ce qu'il est beau ce jeu :love:


----------------------------------------------------------------------------
E D I T
----------------------------------------------------------------------------


Bon la modif de la taille des fichiers contenant les scripts fonctionne, le format n'a pas non plus de secrets pour moi il est très simple
Détail:
Image
Image
Header (en rouge)
  • 4 octets => ID du fichier
  • 4 octets => Taille des données "pointeurs + textes" du fichier
  • 4 octets => Taille du header
  • 4 octets => Padding (à priori)
  • 4 octets => Padding
  • 4 octets => Nombre d'entrées de texte dans le fichier (et également nombre de pointeurs du coup)
  • 4 octets => Encodage du texte (0x00 : Shift-JIS / 0x03 : UTF-8)
  • 4 octets => Padding
Pointeurs (en bleu)
  • Vestiges de pointeurs en 32 bits LE, qui n'ont pas été utilisés mais il y a exactement le nombre d'entrées indiquées dans le header (et de même pour les textes)
Textes (en jaune)
  • Textes du jeu, ils utilisent des balises, j'ai cru en repérer dans certains, mais je ne les ai pas encore identifiées
Marqueur de fin de fichier (en vert)
  • 4 octets => ID du marqueur de fin de fichier
  • 4 octets => Padding
  • 4 octets => Taille de cette section
  • 4 octets => Padding

Bref format très simple, textes extensibles, j'ai pas encore vu pour un système de "clear window", ce sera à voir via les balises qu'on trouvera dans le texte et on va espérer qu'il y'en aura une :maitre:
http://www.youtube.com/user/Lyan53
Image
- Avec les gens de cour, vos pareils don Salluste, je vous laisse et je reste avec mes chenapans. Je vis avec les loups, non avec les serpents.
- L'amour a dompté le loup ! Ôtez-lui l'amour, il redeviendra un loup.

Hiei-

Re: [PSP] Grand Knights History

Message non lu par Hiei- » 12 mai 2012, 20:08

Balèze :o

Pour les menus, demande à Orphis ? Bossant sur un émulateur PSP, il doit connaître ce genre de trucs.

Avatar de l’utilisateur
StorMyu
Parce que "StorMyu avant"!
Messages : 1198
Inscription : 25 nov. 2009, 00:25

Re: [PSP] Grand Knights History

Message non lu par StorMyu » 12 mai 2012, 20:30

Lyan a écrit :Pour ce qui est de la 2nde difficulté, ça se situera au niveau du zonage du jeu car pour tout ce qui est menu psp utilisés in-game (clavier virtuel, quitter la partie, sauvegarder, prise de screenshot intégré au jeu, ...) tout est zoné en japonais (origine du jeu oblige) et je crois qu'il y a un moyen de changer ça pour avoir déjà croisé le cas sur un patch étranger mais par contre, tout le truc va résider dans la localisation du bout de code qui gère ça
C'est pas vraiment une "localisation" du bout de code, en fait faudrait demander si quelqu'un connait la fonction qui ouvre ce menu:
http://psp.jim.sh/pspsdk-doc/ J'ai commencer à prog un peu sur PSP mais celui-là je l'ai pas vraiment encore utilisé...
Le truc ça sera de savoir c'est lequel, trouvé son STUB, mettre un break et voir les paramètres qui lui sont envoyé. ça devrait permettre de trouver quel est l'instruction qui demande l'ouverture de "seulement" ces trucs et non celui de l'ASCII par exemple.
Lyan a écrit :Pour ce qui est de la 3ème difficulté qu'on aurait pu rencontrer, il s'agissait de la VWF justement... La plupart des fichiers sont encodés en Shift-JIS sans VWF, mais en creusant un peu plus, je me suis rendu compte que dans la font, une partie des caractères sont encodés en UTF-8
Si tu trouves une solution autre qu'un code bah pourquoi pas :lol: Vu que à ce niveau là je peux pas encore aider sans pc.
Lyan a écrit :Bref format très simple, textes extensibles, j'ai pas encore vu pour un système de "clear window", ce sera à voir via les balises qu'on trouvera dans le texte et on va espérer qu'il y'en aura une :maitre:
Euh, j'ai pas compris, comment ça tu cherches une balise de "Clear window" ?

Metakaos
Nouveau Floodeur
Messages : 41
Inscription : 09 mai 2012, 20:21

Re: [PSP] Grand Knights History

Message non lu par Metakaos » 12 mai 2012, 22:18

Count me in des que je finis ce sur quoi je suis.

Avatar de l’utilisateur
pinktagada
Mauvaise ROMhackeuse débutarte
Messages : 2163
Inscription : 10 mars 2010, 10:39
Localisation : Midgard
Contact :

Re: [PSP] Grand Knights History

Message non lu par pinktagada » 12 mai 2012, 23:10

Skeud, tu cherchais pas un gros truc à coder ? Voilà.
MAIS Y A PLUS DE PLACE A L'ÉCRAN! NON DE MERDE MÊME SI JE TE DONNE TOUS LA PLACE DU MONDE DANS LA ROM!! TU POURRAIS PAS EN FAIRE AFFICHÉ PLUS A L'ÉCRAN!!!
Un grand philosophe...

Image

Avatar de l’utilisateur
Skeud
Oook ?
Messages : 3755
Inscription : 25 févr. 2002, 22:01
Localisation : Loompaland
Contact :

Re: [PSP] Grand Knights History

Message non lu par Skeud » 13 mai 2012, 00:37

ahaha ^^
Faut déjà que je m'occupe de ce que j'ai commencé >_<
Si tu ressens l'envie de travailler, assieds-toi, et attends qu'elle te passe....
A mon niveau, on ne croit pas, on sait. (Docteur Helmut Perchut)

Avatar de l’utilisateur
GreatSkaori
Chooser of the Slain
Chooser of the Slain
Messages : 8719
Inscription : 17 févr. 2002, 20:06
Localisation : Ailleurs
Contact :

Re: [PSP] Grand Knights History

Message non lu par GreatSkaori » 13 mai 2012, 09:18

Tu peux compter sur moi, mp-moi si tu as besoin de quoi que ce soit (ou msn moi)
Your sins lay heavy upon you defiler of souls.
By the holy laws you shall be obliterated !

Avatar de l’utilisateur
StorMyu
Parce que "StorMyu avant"!
Messages : 1198
Inscription : 25 nov. 2009, 00:25

Re: [PSP] Grand Knights History

Message non lu par StorMyu » 13 mai 2012, 14:39

Skeud a écrit :ahaha ^^
Faut déjà que je m'occupe de ce que j'ai commencé >_<
Y'avait pas une malédiction sur le fait que tu finissais pas justement :lol:

Avatar de l’utilisateur
Skeud
Oook ?
Messages : 3755
Inscription : 25 févr. 2002, 22:01
Localisation : Loompaland
Contact :

Re: [PSP] Grand Knights History

Message non lu par Skeud » 13 mai 2012, 15:51

Si quelqu'un a une invocation pour enlever les malédictions, je suis preneur !!
Si tu ressens l'envie de travailler, assieds-toi, et attends qu'elle te passe....
A mon niveau, on ne croit pas, on sait. (Docteur Helmut Perchut)

Avatar de l’utilisateur
Lyan
Dieu Suprême du flood
Messages : 1440
Inscription : 19 nov. 2007, 04:56
Localisation : Raxacoricofallapatorius
Contact :

Re: [PSP] Grand Knights History

Message non lu par Lyan » 13 mai 2012, 18:43

Hiei- a écrit :Pour les menus, demande à Orphis ? Bossant sur un émulateur PSP, il doit connaître ce genre de trucs.
Bien possible en effet qu'il sache pour ce genre de chose ;)
StorMyu a écrit :Si tu trouves une solution autre qu'un code bah pourquoi pas :lol: Vu que à ce niveau là je peux pas encore aider sans pc.
Comme vu sur les screenshots plus haut, le jeu possède forcément une routine pour gérer une VWF, du coup, dans la logique on ne devrait pas avoir besoin d'en ajouter une je suppose ;)
StorMyu a écrit :Euh, j'ai pas compris, comment ça tu cherches une balise de "Clear window" ?
Pour l'instant je ne la cherche pas mais j'espère qu'il y'en a une et que je la trouverais si c'est le cas ;)

Je ne vois pas ce que tu ne comprends pas à ce niveau là, on sait que c'est toujours plus pratique pour les traducteurs quand il existe un système pour pouvoir effacer le contenu "texte" d'une fenêtre de dialogue pour ajouter du nouveau texte, le tout sur un même pointeur, ça permet de ne pas se retrouver limité pour les traductions ;)

Mais je ne sais pas trop si le jeu possède cette balise, pour le moment j'ai un doute, à voir donc ...
Metakaos a écrit :Count me in des que je finis ce sur quoi je suis.
GreatSkaori a écrit :Tu peux compter sur moi, mp-moi si tu as besoin de quoi que ce soit (ou msn moi)
Pour le moment je creuse dans les entrailles du jeu pour voir si tout ça est à ma portée et si y'a moyen ou non qu'on puisse en tirer quelque chose, j'ai tout un tas de bricoles à tester/régler dessus avant de pouvoir affirmer qu'on peut commencer une trad, mais bien entendu, si c'est jouable, y'aura besoin de traducteurs jap donc vous serez les bienvenus ;)

Là je ne peux pas encore vous donner le feu vert , j'ai encore pas mal de trucs qui bloquent niveau hack et tant que je n'ai pas tout bien pété ce qui sera nécessaire à une localisation, c'est pas encore possible d'affirmer qu'on peut se le payer... J'y travaille et j'espère qu'on pourra ;)
Skeud a écrit :Si quelqu'un a une invocation pour enlever les malédictions, je suis preneur !!
Je suis pas contre l'idée :P
Y'aura besoin de bonnes compétences en hack (auxquelles je ne peux pas prétendre à mon niveau) pour quelques bricoles récalcitrantes sur ce projet :-D

Je continue de creuser et je mets mes retours dans ce sujet

------------------------------------------------------------------------------------------------



Bon sinon pour en revenir à l'aspect technique, j'ai continué de fouiner dans le jeu hier maisj'ai pas eu la foi de rédiger un paveton à 2H du mat ^^

J'ai donc une bonne et une mauvaise nouvelle, si on y va dans l'ordre des choses, je suis obligé de passer par la bonne avant d'aborder la mauvaise :-P


La bonne nouvelle
J'ai localisé la VWF du jeu et cette dernière englobe donc des entrées pour les caractères suivants de la font :

Code : Tout sélectionner

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
VWF:
Image
2 octets alloués par caractère
Font 1 sur 7:
Image
Comme on le voit sur le screen de la font, ces caractères se répètent en boucle 2 fois de suite (on retrouve les mêmes sur la fin de la ligne 7)

Les développeurs ont donc bel et bien utilisés une routine pour qu'il y ait une VWF dans le jeu sur ces caractères ASCII (j'ai vérifié et tout correspond) ce qui est plutôt un point positif, mais...

La mauvaise nouvelle
... ces foutus développeurs ont écrasés/remplacés les caractères suivants :

Code : Tout sélectionner

 !"#$%&'()*+,-./0123456789:;<=>?@
ABCDEFGHIJKLMNOPQRSTUVWXYZ[
abcdefghijklmnopqrstuvwxyz
En forçant à la place l'affichage les caractères shift-jis leur correspondant (plus ou moins), ce qui fait qu'on se retrouve à l'écran avec :

Code : Tout sélectionner

 !”#$&¥()*+,-./0123456789:;<=>? 
ABCDEFGHIJKLMNOPQRSTUVWXYZ 
abcdefghijklmnopqrstuvwxyz
Et ces derniers qui sont appelés en remplacement, n'utilisent pas la VWF que sont censés utiliser les cara ASCII de base

Résultat, bien que pour mes cara j'ai une VWF, comme le code appelle je ne sais où d'autres cara shift-jis en remplacement, j'ai donc aucun moyen de les faire s'afficher à l'écran et c'est là-dessus que je suis bien emmerdé...
J'ai pourtant pas mal creusé dans le code du jeu mais je ne trouve pas ce qui cause ce remplacement chiant qui m'empêche d'avoir accès aux bons caractères in-game grrrrrrrr !!

Malgré tout, je pense avoir localisé dans l'overlay du jeu (d'ailleurs c'est la 1ère fois que je croise un overlay sur un jeu psp), le code qui traite la font, là ou j'ai choppé la VWF

Suite à la VWF on a une table dont les entrés correspondent aux caractères qu'on choppe dans la font complète (donc sur les 7 images)
Table des caractères alloués dans la font:
Image
Dans cette table, on trouve des entrées de 4 octets :
- 2 octets : caractère de départ (ex/ 0x20 pour l'espace, 0xA1 pour le point d'exclamation inversé, etc ...)
- 2 octets : le nombre de caractères qu'on piochera à la suite du cara de départ (ex/ 0x20, 0x21, 0x22, 0x23, etc jusqu'à en avoir le nb indiqué ici)

Je sais pas si c'est bien clair m'enfin c'est assez simple la manière dont c'est stocké, voilà en image ce que ça donne :
Exemple:
Image
1ere entrée, on pioche 0x5F cara à partir de l'espace donc 0x20

Image
2eme entrée, on pioche 0x3F cara à partir du point d'exclamation inversé donc 0xA1


Et voilà, on se retrouve avec les caractères qu'on a dans notre font

Tout de suite après ce tableau on a quelques valeurs qui correspondent encore à la font (du moins je le pense)
Image
- 1er cadre, 4 octets : correspond à la taille en pixel de l'image de font (soit 512x512 pixels)
- 2ème cadre, 1 octet : nombre d'images utilisées pour la font (7 images en tout, le compte est bon)
- 3ème cadre, 2 octets : taille de la tile allouée par caractère (soit 22x22 pixels)
- 4ème cadre, 2 octets : nombre de caractère sur alloué sur la hauteur et sur la largeur de l'image (23 cara par ligne et 23 lignes en tout)

Bref c'est tout ce que j'ai trouvé dans cette zone, j'ai beau creuser dans les alentours, je ne trouve rien d'autre avec mes p'tits neurones


On trouve aussi à l'offset 0x293180 de l'overlay, une liste qui correspond étrangement à quelques uns des caractères remplacés dans la font :
Screenshot:
Image
Mais dans cette liste il manque tout ce qui est chiffres et lettres, et on trouve quelques entrées qui ont une VWF à l'écran
Image
Encadrés en rouge, les cara qui n'ont pas de VWF et qui sont remplacés


Si quelqu'un se sent d'attaque pour regarder ce qui bloque l'affichage des caractères, je fournis ci-joint les 2 fichiers susceptibles de contenir ce genre de data à la con (tout ce que j'ai noté ici se trouve dans l'overlay) : http://www.sendspace.com/file/i5wdv0

De mon côté je continue de creuser, c'est qd même con d'avoir une VWF et de pas pouvoir pleinement l'utiliser, faut trouver un moyen pour empecher les caractères dont on a besoin d'être écrasés par leurs correspondances en shift-jis bordel ^^
http://www.youtube.com/user/Lyan53
Image
- Avec les gens de cour, vos pareils don Salluste, je vous laisse et je reste avec mes chenapans. Je vis avec les loups, non avec les serpents.
- L'amour a dompté le loup ! Ôtez-lui l'amour, il redeviendra un loup.

Avatar de l’utilisateur
StorMyu
Parce que "StorMyu avant"!
Messages : 1198
Inscription : 25 nov. 2009, 00:25

Re: [PSP] Grand Knights History

Message non lu par StorMyu » 13 mai 2012, 19:03

Lyan a écrit :[Je ne vois pas ce que tu ne comprends pas à ce niveau là, on sait que c'est toujours plus pratique pour les traducteurs quand il existe un système pour pouvoir effacer le contenu "texte" d'une fenêtre de dialogue pour ajouter du nouveau texte, le tout sur un même pointeur, ça permet de ne pas se retrouver limité pour les traductions ;)
Je vois, c'est vrai que si on a une textbox fixe c'est plus pratique forcément :lol:
Lyan a écrit :Malgré tout, je pense avoir localisé dans l'overlay du jeu (d'ailleurs c'est la 1ère fois que je croise un overlay sur un jeu psp), le code qui traite la font, là ou j'ai choppé la VWF
Ah bah dis donc, du moment que tu croises un .elf qui traine c'est un "overlay" (on sens le mec qui a bosser surtout sur des jeux DS moi les overlays je les appelles des prx xD (Relocatable Executable je trouve que ça colle mieux à sa fonction et la PSP a bien compris ce terme :-) ))


Et puis j'ai téléchargé ton archive, t'as raison c'est bien un overlay et c'est pas vraiment un standard... c'est juste le nom qu'ils ont donnée à un de leurs fichiers x)
Quand tu parlais d'avoir trouvé le "code" qui gérait ça de quoi tu parlais parce que moi je peux pas vraiment voir de code la dedans :lol:
J'ai pourtant pas mal creusé dans le code du jeu mais je ne trouve pas ce qui cause ce remplacement chiant qui m'empêche d'avoir accès aux bons caractères in-game grrrrrrrr !!
Moi je fais la distinction entre des données et du code parce que sinon je m'embrouille ^^

Avatar de l’utilisateur
Lyan
Dieu Suprême du flood
Messages : 1440
Inscription : 19 nov. 2007, 04:56
Localisation : Raxacoricofallapatorius
Contact :

Re: [PSP] Grand Knights History

Message non lu par Lyan » 13 mai 2012, 19:50

StorMyu a écrit :Je vois, c'est vrai que si on a une textbox fixe c'est plus pratique forcément :lol:
Les textbox qu'on peut redimensionner possèdent aussi leurs limitations (ne serait-ce qu'au niveau de la taille dès qu'on colle un paveton dedans qui va masquer tout l'écran ^^), du coup c'est toujours plus pratique malgré tout qd y'a une balise de "clear window" dans tous les cas ;)
StorMyu a écrit :Ah bah dis donc, du moment que tu croises un .elf qui traine c'est un "overlay"
Mmmhm pas systématiquement =>
StorMyu a écrit :moi les overlays je les appelles des prx xD
Les prx sont des plugins et non des overlays, personnellement, c'est là que moi je fais le distingo entre les 2

PRX = extension qui ajoute des fonctionnalités
Overlay = extension des données de ram et/donc du fichier exécutable du jeu (extension de l'arm9 sur les jeux nds et extension de l'eboot.bin dans le jeu psp ici présent)

Les prx qu'on trouve dans les jeux psp apportent toujours des fonctionnalités non traitées à la base par le support (ou améliorent celles présentes) mais toujours de façon indivuduelle
StorMyu a écrit :on sens le mec qui a bosser surtout sur des jeux DS
Entre autres je dirais... :-o
Pourquoi cette catégorisation, c'est l'impression que je donne d'être limité au seul support NDS ? :lol:

En tout cas si tel est le cas, je peux t'affirmer que j'ai bien dû ouvrir et creuser dans tout autant de jeux PSP que de jeux NDS (seulement les jeux NDS sont plus funs à jouer, donc plus intéressants à traduire car on se fait chier sur la plupart des jeux PSP...)
J'ai aussi creusé pas mal sur les jeux ps2, pas mal sur des jeux GB/GBC/GBA, 2 ou 3 jeux NGC, de même pour des jeux saturn, des jeux snes, quelques jeux psx, etc ..., bref je suis très loin d'être limité par le support et à vrai dire, je ne m'arrête jamais là-dessus dans le choix de mes travaux et projets :-D

J'ai surtout à mon unique palmarès actuel un jeu NDS (support sur lequel j'ai fait mes classes et que je connais pas trop mal, certes), mais qui sait, les mois ou l'année à venir pourraient bien y remédier :P
StorMyu a écrit :Et puis j'ai téléchargé ton archive, t'as raison c'est bien un overlay et c'est pas vraiment un standard... c'est juste le nom qu'ils ont donnée à un de leurs fichiers x)
Je le trouve tout ce qu'il y a de plus standard, il stocke exactement le genre de données auxquelles je m'attendais, soit les données habituellement présentes dans l'exécutable du jeu (l'eboot.bin) mais il sert juste à étendre ce dernier (principe même de l'overlay dans mon optique)
StorMyu a écrit :Quand tu parlais d'avoir trouvé le "code" qui gérait ça de quoi tu parlais parce que moi je peux pas vraiment voir de code la dedans :lol:
Code hexadécimal ?? Je ne vois que ça dedans personnellement :P
StorMyu a écrit :Moi je fais la distinction entre des données et du code parce que sinon je m'embrouille ^^
ça dépend de ce que tu appelles du "code" sans doute, j'utilise ce terme à la légère rapport à la définition que tu en as sans même m'en rendre compte, m'enfin, pour moi code(hexa)/data/données etc..., c'est du kif-kif, je chipote pas sur le terme qui reste parfaitement compréhensible dans mon explication (enfin je le pense ^^)


Bon sinon, qu'est-ce que tu as trouvé de beau dans cette bouillie d'octets en z'yeutant dedans ? :-P
http://www.youtube.com/user/Lyan53
Image
- Avec les gens de cour, vos pareils don Salluste, je vous laisse et je reste avec mes chenapans. Je vis avec les loups, non avec les serpents.
- L'amour a dompté le loup ! Ôtez-lui l'amour, il redeviendra un loup.

Avatar de l’utilisateur
StorMyu
Parce que "StorMyu avant"!
Messages : 1198
Inscription : 25 nov. 2009, 00:25

Re: [PSP] Grand Knights History

Message non lu par StorMyu » 13 mai 2012, 20:08

Lyan a écrit :Les prx sont des plugins et non des overlays, personnellement, c'est là que moi je fais le distingo entre les 2
Prx ne veut pas dire Plugin, c'est pas parce que c'est l'extension que les plugins utilise que faut généraliser:

Code : Tout sélectionner

PRX (PSP Relocateble eXecutable)

Sony's PRX (PSP Relocation eXecutable) format is a relocation executable based on the standard ELF format. It is distinguised from a normal ELF file by having customised Program Headers, Non-standard MIPS relocation sections and a unique ELF type. 
En gros, ce sont des Eboot que tu peux placer où tu veux en mémoire, contrairement à l'Eboot principal qui sera toujours chargé à 0x08800000 sur PSP, de la même façon que sur DS les ARM9 sont chargé à 0x02000000.
Les overlays sur Nds fonctionne de la même façon que les Prx sur PSP et c'est ça que je voulais dire, ce sont simplement des fichiers .exe que tu peux charger en mémoire quand tu veux/où tu veux contrairement à l'Eboot/Arm9.
Pour prendre un exemple simple, moi dans Tales of Rebirth j'ai des .elf (donc Prx) qui possèdent chacun leurs entré en RAM mais qui fonctionne comme des Eboot... (Histoire de montrer j'en ai mis quelque uns en Fichiers joints)
Lyan a écrit :Pourquoi cette catégorisation, c'est l'impression que je donne d'être limité au seul support NDS ? :lol:
T'inquiète pas je disais surtout ça dans le fait qu'on a plus tendance à utiliser des termes de trucs dont on est habitué... Pour ma part j'ai encore du mal à passer de l'ARM à MIPS et vice versa alors parfois je parle de "Branch & Link" au lieu de "Jump & Link" par exemple même si c'est pareil ^^
Lyan a écrit :J'ai surtout à mon unique palmarès actuel un jeu NDS (support sur lequel j'ai fait mes classes et que je connais pas trop mal, certes), mais qui sait, les mois ou l'année à venir pourraient bien y remédier :P
Moi j'ai toujours rien tu sais :lol:
Lyan a écrit :Code hexadécimal ?? Je ne vois que ça dedans personnellement :P
D'accord c'est bien ce que je pensais, parce que tu me dis code, moi j'ouvre avec IDA pour voir "le code", ce que tu regardes pour moi ce sont des données traités par le code afin d'en faire.... blablabla ce qu'il veut. Donc non je t'assure moi tu m'avais dis code j'avais pas saisi xD
Lyan a écrit :Bon sinon, qu'est-ce que tu as trouvé de beau dans cette bouillie d'octets en z'yeutant dedans ? :-P
Bah rien en fait, il faut que je voie ça durant l'exécution pour arriver à en tirer quelque chose et la j'ai pas accès à JPCSP avec mon pc de compête tout naze...
Pièces jointes
Tor.rar
(33.38 Kio) Téléchargé 97 fois

Avatar de l’utilisateur
Lyan
Dieu Suprême du flood
Messages : 1440
Inscription : 19 nov. 2007, 04:56
Localisation : Raxacoricofallapatorius
Contact :

Re: [PSP] Grand Knights History

Message non lu par Lyan » 13 mai 2012, 21:39

StorMyu a écrit :Prx ne veut pas dire Plugin, c'est pas parce que c'est l'extension que les plugins utilise que faut généraliser:
...
En gros, ce sont des Eboot que tu peux placer où tu veux en mémoire
Ouaip mais non, je ne suis toujours pas d'accord, les prx, c'est pas un exécutable, c'est des extensions avec des fonctions propres

Dans le flash0 de la psp chaque prx possède son propre rôle
Screens:
Image
Image
Dans les jeux également:
Screens:
Image
Les .prx sont des modules/plugins/librairies plus comparables à des .dll, mais ce n'est pas du tout pareil qu'un overlay qui lui est capable de les charger au même titre que l'exécutable du jeu (eboot.bin)

L'eboot englobe ce qui est nécessaire à l'exécution, l'overlay est son prolongement, et les librairies prx qui elles ont des fonctions définies, sont chargées par ces fichiers principaux pour apporter des fonctions précises en plus

Tout ça forme l'exécutable en gros (et donc tout est dans le même langage cela va sans dire) mais bon n'en reste pas moins que de mon point de vue y'a une différence fondamentale entre les 2 ;)
StorMyu a écrit :j'ouvre avec IDA pour voir "le code"
Mais tu sais pourtant que je ne fais pas d'ASM donc forcément je ne risque pas de parler de "code" de ce type, simple déduction logique ^^


Bon sinon tout ça ça fait pas avancer le schmilblick :P Je vais aller me replonger dans mon... "code" :-D
http://www.youtube.com/user/Lyan53
Image
- Avec les gens de cour, vos pareils don Salluste, je vous laisse et je reste avec mes chenapans. Je vis avec les loups, non avec les serpents.
- L'amour a dompté le loup ! Ôtez-lui l'amour, il redeviendra un loup.

Avatar de l’utilisateur
pinktagada
Mauvaise ROMhackeuse débutarte
Messages : 2163
Inscription : 10 mars 2010, 10:39
Localisation : Midgard
Contact :

Re: [PSP] Grand Knights History

Message non lu par pinktagada » 14 mai 2012, 02:23

GreatSkaori a écrit :Tu peux compter sur moi, mp-moi si tu as besoin de quoi que ce soit (ou msn moi)
*ahem* T'as pas qques lignes à traduire, toi, déjà ? :-D :-D :-D (si ça peut te motiver, j'ai dépassé les 15 000 lignes hier matin)
MAIS Y A PLUS DE PLACE A L'ÉCRAN! NON DE MERDE MÊME SI JE TE DONNE TOUS LA PLACE DU MONDE DANS LA ROM!! TU POURRAIS PAS EN FAIRE AFFICHÉ PLUS A L'ÉCRAN!!!
Un grand philosophe...

Image

Avatar de l’utilisateur
StorMyu
Parce que "StorMyu avant"!
Messages : 1198
Inscription : 25 nov. 2009, 00:25

Re: [PSP] Grand Knights History

Message non lu par StorMyu » 14 mai 2012, 22:37

Histoire de faire une réponse "pas trop chiante" Lyan, pour moi l'ARM9 et l'EBOOT sont la même chose d'un point de vue prog, et les Overlay/prx agissent de la même façon, du fait que les .prx peuvent faire plusieurs autre choses ne change rien au fait que c'est toujours des .exe ammovible lancé par le code, tout comme l'arm9 lance les overlay, l'Eboot lance les .prx en mémoire.
Tu peux facilement voir ça, les overlays c'est du code à proprement parler tout comme certains .prx, si tu regardes mes fichiers joints du dernier post tu verras mon .prx de Tales of Rebirth et c'est purement et simplement du code.

Mais on va pas chipoter la dessus de toute façon ça apporte rien mais maintenant que je touche à l'ASM je sais que je peux trouver du code dans les .prx pour la PSP et dans les Overlays pour la Nds. Et c'est tout ce que j'ai besoin de savoir xD

(Bon dernier chipotage keu même:
les prx, c'est pas un exécutable
Bah si c'est un peu la définition du mot Prx "PRX (PSP Relocation eXecutable)")
Sony's PRX (PSP Relocation eXecutable) format is a relocation executable based on the standard ELF format. It is distinguised from a normal ELF file by having customised Program Headers, Non-standard MIPS relocation sections and a unique ELF type.

Histoire d'en rajouter:
http://en.wikipedia.org/wiki/Executable ... ble_Format
Filename extension none, .o, .so, .elf, .prx, .puff

C'est pour ça que IDA est capable de les ouvrir au même titre qu'un EBOOT PSP, ce qui fait de lui un Elf à part entière.
Mais tout ça, ça a vraiment pas d'importance comme je le dis, c'est histoire de t'expliquer que au point de vue programmation, un .prx c'est du code purement et simplement au même titre que les overlays.

Avatar de l’utilisateur
Lyan
Dieu Suprême du flood
Messages : 1440
Inscription : 19 nov. 2007, 04:56
Localisation : Raxacoricofallapatorius
Contact :

Re: [PSP] Grand Knights History

Message non lu par Lyan » 15 mai 2012, 01:21

Non mais je crois que tu ne saisis pas ce que je tente d'expliquer, je sais très bien que les prx c'est du ELF (je traine dans le milieu de la psp depuis 2007 donc faudrait vraiment que je sois une quiche pour ne pas savoir ça) donc effectivement c'est le même langage qui est employé dans les eboot.bin ou les overlays, mais c'est pas là que je veux en venir

Ce que tu me dis au départ c'est qu'un prx = un overlay et là-dessus je ne suis pas du tout d'accord, un prx c'est un module/plugins/librairie (exécutable si ça te fais plaisir puisque c'est effectivement le cas), qd bien même c'est un ELF, ce n'est pas comparable avec un overlay qui lui regroupe à lui tout seul des données générales (tout comme l'eboot), il n'est pas focalisé sur une fonction propre comme un prx, pour moi y'a pas photo y'a une nette différence entre les 2

L'overlay lui n'est ni un module, ni un plugins, ni une librairie, c'est une extension de l'executable et l'overlay peut charger des prx
StorMyu a écrit :les prx, c'est pas un exécutable
Oui là dessus j'ai écrit trop vite (à défaut de dire parler) mais j'ai aussi ajouté plus bas
Lyan a écrit :et donc tout est dans le même langage cela va sans dire
ce qui tente à expliquer que je sais parfaitement qu'un prx est dans du langage executable mais ça reste qu'une librairie

Je ne pense pas qu'un prx puisse charger un eboot ou encore un overlay, mais l'inverse par contre se fait sans pb, la différence fondamentale est là de mon point de vue


Bref passons, pas grave, tout ça ne m'aide pas pour mon fichu pb de VWF qui est toujours d'actualité :-P

.........................................................


Je complète un peu ce que je disais précédemment, il y a une VWF, elle existe, elles est utilisée partout dans le jeu

J'ai choppé un patch partiel (menu et diverses autres bricoles) qu'un anglais a fait dans le but d'étudier un peu les modifs qu'il a appliqué au jeu, et bah en fait hormis les textes et quelques graphismes, tous les fichiers sont d'origine donc ça ne m'aide pas ^^

La VWF fonctionne presque partout dans le jeu, il y a que dans quelques fenêtres de dialogues (comme celle que j'ai montré en exemple) ou elle n'est pas active.

Je ne comprends pas trop comment ça se fait à vrai dire, j'ai beau chercher, je n'arrive pas à localiser la source du problème...

Comme dit précédemment, certains caractères sont tout bonnement remplacés dans ces fenêtres et du coup je ne sais pas trop quoi chercher, qu'est-ce qui pourrait causer ça, et comment je pourrais empêcher ça

Je ne pense as que le problème soit inhérent aux fenêtres en question puisque certains caractères spéciaux qui eux ne sont pas remplacés, s'affichent bien avec la VWF, ça signifie donc que le souci n'est pas que la VWF n'est pas supportée dans ces fenêtres de dialogues, mais la cause est le remplacement de caractères qui fout la merde


Je suppose que le seul moyen de trouver ça c'est via un debugger mais bien que le jeu tourne pas trop mal sous jpcsp, je ne sais pas comment on debugge (j'y comprends que dalle xd)


Ce serait qd même con d'en rester là, surtout que cette VWF existe et qu'elle est utilisée, le truc c'est pourquoi certains caractères refusent de s'afficher et sont remplacés par d'autres sans VWF dans ces foutues formats de fenêtres de dialogue ...

J'ai bien pensé à utiliser les emplacements qui ont une VWF pour retaper la font et contourner le problème, seulement y'a pas assez de cara qui gèrent la VWF pour ça du coup c'est pas réalisable

Bref si quelqu'un à une idée, une piste ou autre... parce que j'ai beau fouiner dans le code hexa, je ne trouve rien de plus que ce que j'ai rapporté là... :tetemur:
http://www.youtube.com/user/Lyan53
Image
- Avec les gens de cour, vos pareils don Salluste, je vous laisse et je reste avec mes chenapans. Je vis avec les loups, non avec les serpents.
- L'amour a dompté le loup ! Ôtez-lui l'amour, il redeviendra un loup.

Avatar de l’utilisateur
StorMyu
Parce que "StorMyu avant"!
Messages : 1198
Inscription : 25 nov. 2009, 00:25

Re: [PSP] Grand Knights History

Message non lu par StorMyu » 15 mai 2012, 18:17

Lyan a écrit :Je ne pense pas qu'un prx puisse charger un eboot ou encore un overlay, mais l'inverse par contre se fait sans pb, la différence fondamentale est là de mon point de vue
Si, exemple: Tales of Phantasia Narikiri Dungeon X possède deux jeux, et bah l'eboot principal va se switch avec le "top.prx" de l'UMD qui devient alors lui-même l'eboot. Tu peux faire n'importe quoi avec les overlays ou les prx sincèrement c'est juste du code, tu lui demanderas ce que tu veux il le fera y'a pas de limitation particulière.

Et si il passe facile sur JPCSP bah je veux bien aller z'yeuter dessus vers mi-juin. Sinon en attendant bah... j'sais pas.
Mais dis toi que certains dev vont codé différentes parties du jeu, et que forcément on ré-utilise pas forcément la même routine d'affichage de texte par exemple, ceux qui ont fait le menu ont pu faire la leur et ceux qui se sont occupé de la partie script etc ont pu très bien en faire une différente, c'est jamais tout droit et carré avec un code tout beau, tout propre (et ça on l'apprend "malheureusement" quand on touche à l'asm parce que vraiment parfois j'ai envie de me tiré une balle en voyant des trucs affreux lol)

Juste comme ça si tu veux tester, lis le readme de JPCSP, à "Memory Breakpoint", tu trouves le texte (ou le pointeur c'est mieux) en RAM et tu places ton read breakpoint là, tu devrais obtenir un chargement de paramètres dont le pointeur d'ailleurs, puis un Jump vers la routine d'affichage.
Tu fais pareil pour l'endroit où tu as ta VWF, et tu regardes la différence d'adresse de Jump. Méthode efficace que j'ai fais parce que ce que je t'ai cité fut un problème dans Tales of Rebirth pour moi, le script principal utilisait une FWF au lieu de la VWF même si elle était présente, et c'était juste une histoire de "ré-utiliser" la bonne fonction. ça prend un petit moment à prendre en main, moi perso j'ai pris 1 heure juste pour réussir à avoir mon premier breakpoint correct... Mais on s'habitue.
Je pourrais te le faire bien sur mais pas tout de suite parce que j'ai rien pour émuler avec ma daube... et le nouveau pc c'est après la paye de Mai... D'ailleurs j'en ai parlé avec Orphis pour l'améliorer le debugger j'vais me mettre un peu au Java parce que moi sans "tracing" je pête un cable :lol:

Avatar de l’utilisateur
Lyan
Dieu Suprême du flood
Messages : 1440
Inscription : 19 nov. 2007, 04:56
Localisation : Raxacoricofallapatorius
Contact :

Re: [PSP] Grand Knights History

Message non lu par Lyan » 16 mai 2012, 06:35

Image
Image
Image


Note : les "TEST" utilisent délibérément l'ancienne font pour la comparaison au niveau du gain de place effectué


Problème contourné (non réglé), j'ai fondamentalement changé la table de caractères que j'ai choppé dans l'overlay pour n'afficher que ceux qui utilisent une VWF sans "remplacement" en allant piocher dans des valeurs de 0x02 à 0xFF non utilisées dans le code du jeu (sans utiliser les 0x8X, 0x9X et 0xEX qui eux sont pris en considération à cause du shift-JIS, ni le 0x00 ou le 0x0A car ce sont des balises). Vu que tout ce qui était de 0x20 à 0x7F c'était totalement exclu à cause du remplacement, il me restait que peu d'emplacements disponibles mais je pense avoir les caractères essentiels à une localisation FR

Si vous en trouvez des manquants et fondamentaux, n'hésitez pas à me le signaler, il doit me rester 3 ou 4 emplacements vides, mais pas un de plus ^^


Bref j'en aurais sévèrement chié qd même mais voilà un souci en moins... (du moins je l'espère) Aux suivants maintenant ! :-D

Me reste plus qu'à faire une table FR (ce qui ne sera pas trop dur), et une jap (là par contre => :/ vu le nombre d'entrées qu'il y a dans la font), par contre sorry mais vu que j'ai le code exact de la table avec les cara utilisés dedans (et donc qui ne contiendra aucune erreur), je ne demanderais pas à la communauté de faire joujou avec l'identification de kanjis, j'ai directement leurs valeurs et leurs équivalences sur Rikai pour construire ma table (et je peux en prime me baser sur celle dispo sur la TRAF histoire de dégrossir le taff)

Et sinon c'est qd même mieux avec une VWF bordel !!
http://www.youtube.com/user/Lyan53
Image
- Avec les gens de cour, vos pareils don Salluste, je vous laisse et je reste avec mes chenapans. Je vis avec les loups, non avec les serpents.
- L'amour a dompté le loup ! Ôtez-lui l'amour, il redeviendra un loup.

Avatar de l’utilisateur
pinktagada
Mauvaise ROMhackeuse débutarte
Messages : 2163
Inscription : 10 mars 2010, 10:39
Localisation : Midgard
Contact :

Re: [PSP] Grand Knights History

Message non lu par pinktagada » 16 mai 2012, 13:56

/me se lève et applaudit très fort.
MAIS Y A PLUS DE PLACE A L'ÉCRAN! NON DE MERDE MÊME SI JE TE DONNE TOUS LA PLACE DU MONDE DANS LA ROM!! TU POURRAIS PAS EN FAIRE AFFICHÉ PLUS A L'ÉCRAN!!!
Un grand philosophe...

Image

Hiei-

Re: [PSP] Grand Knights History

Message non lu par Hiei- » 16 mai 2012, 18:47

Bien joué !

Avatar de l’utilisateur
GreatSkaori
Chooser of the Slain
Chooser of the Slain
Messages : 8719
Inscription : 17 févr. 2002, 20:06
Localisation : Ailleurs
Contact :

Re: [PSP] Grand Knights History

Message non lu par GreatSkaori » 17 mai 2012, 11:46

Quel homme, quelle bête, quel poil doux et soyeux, lavé avec mire laine? :D
Your sins lay heavy upon you defiler of souls.
By the holy laws you shall be obliterated !

Avatar de l’utilisateur
Lyan
Dieu Suprême du flood
Messages : 1440
Inscription : 19 nov. 2007, 04:56
Localisation : Raxacoricofallapatorius
Contact :

Re: [PSP] Grand Knights History

Message non lu par Lyan » 17 mai 2012, 18:21

ça existe toujours mir laine ?? :P

Sinon non je suis plus le chat machine (ça a un meilleur goût ces p'tites bêtes là) :-D


Et pour mon affaire de VWF, après reflexion, comme ce n'est pas vraiment réglé mais juste contourné, pour le moment je ne suis pas sûr que ça ne posera pas de problème ailleurs, il va falloir que je conserve au moins une partie des cara de base utilisés dans les menus et donc que je creuse un peu pour faire de la place dans ma font, notamment à cause de tout les trucs pour lesquels faut entrer des noms (ou les noms remplaçables)... Je savais que si je partais de la version jap je serais emmerdé avec ça c'est pour ça que j'espérais au moins une version anglaise pour ce jeu bordel !! (avec une telle version j'aurais rencontré aucun pb pour quoi que ce soit, grrrrr)

Je préfèrerais donc éradiquer le souci plutôt que le contourner sauvagement comme je l'ai fait, mais de ce côté là je ne trouve toujours rien, donc si quelqu'un souhaite z'yeuter dedans et trouve quelque chose, je suis toujours preneur :-P

ça se trouve, c'est pas grand chose, mais faut savoir quoi chercher :/
http://www.youtube.com/user/Lyan53
Image
- Avec les gens de cour, vos pareils don Salluste, je vous laisse et je reste avec mes chenapans. Je vis avec les loups, non avec les serpents.
- L'amour a dompté le loup ! Ôtez-lui l'amour, il redeviendra un loup.

Hiei-

Re: [PSP] Grand Knights History

Message non lu par Hiei- » 17 mai 2012, 19:02

Tu peux virer tous les accents des majuscules, surtout que très peu sont utilisés au final.

àâ ç éèê îï ô ûù

Voilà le minimum vital, après, s'il te reste de la place :

ä ë ö ü Ç œ

Ca suffit amplement pour faire une traduction française.

Si tu veux conserver les accents sur les majuscules, ceux-la suffit amplement :

À É Ê Ô

Avatar de l’utilisateur
Lyan
Dieu Suprême du flood
Messages : 1440
Inscription : 19 nov. 2007, 04:56
Localisation : Raxacoricofallapatorius
Contact :

Re: [PSP] Grand Knights History

Message non lu par Lyan » 17 mai 2012, 19:48

Pour le menu, le souci vient du fait qu'il utilise les correspondances Shift-JIS pour remplacer l'ASCII, donc le problème que je risque de rencontrer n'est pas du point de vue du nombre de caractères que j'ai pu entrer et qui du coup sont gérés par la VWF, mais simplement le fait qu'il ne sont plus placés en suivant les valeurs ASCII dans ma table de cara.

Du coup ça va créer un décalage et comme ce menu est une fonction de la psp (et non du jeu lui même), il faut que je conserve mes cara ASCII en plus de mes autres caractères avec VWF (pour que les lettres soient visibles à l'écran), seulement ça revient au même problème si je tape dans les valeurs ASCII pour certains noms qui sont attribués par défaut mais remplaçables, mes cara ASCII entrés dans les scripts seront remplacés par leurs correspondances Shif-JIS et donc sans VWF (m'enfin juste pour les noms de joueurs et autres trucs qu'on peut choisir, pour le reste je peux utiliser ma propre table en admettant que le jeu ne plante pas à cause de cette dernière)

C'est donc pas top, ma solution n'est que celle que j'ai pu trouver à ma portée, mais c'est pas dit que ça foute pas le souk dans le reste du jeu, c'est pour ça qu'il serait mieux de trouver un moyen d'empêcher les caractères ASCII d'être remplacés par les Shift-JIS dans ce format de fenêtre de dialogue, j'en cherche toujours une autre et dans l'absolu l'idéal serait vraiment d'empêcher mes cara ASCII de base, d'être écrasés par les cara Shift-JIS, ça règlerait définitivement tous les pb qui découleront d'un changement de table


Pour le reste, niveau place pour restaurer ceux utilisés en ASCII, c'est pas un souci je peux virer des caractères jap à la fin de la font (qui ne seront pas utilisés de toutes façon puisque seul les correspondances utilisées dans le menu d'entrée de noms m'intéressent, soit 62 caractères, min maj et chiffres qui peuvent conserver leur valeurs car je ne les ai pas utilisées sur ma table perso)


Bref c'est assez complexe à expliquer car c'est un beau bordel ce mélange de table ^^


Je me demande pourquoi les devs ont mis en place ce système de remplacement de caractères qui ne sert strictement à rien vu qu'eux n'utilisaient pas l'ASCII dans les textes jap mais uniquement le Shift-JIS, et ce qui me chiffonne le plus dans tout ça, c'est que la VWF est active dans ces fenêtres du moment qu'on utilise pas les cara ASCII qui sont remplacés, elle serait absente encore, je comprendrais, mais là elle fonctionne bel et bien, c'est juste le remplacement des cara qui fout la merde...
http://www.youtube.com/user/Lyan53
Image
- Avec les gens de cour, vos pareils don Salluste, je vous laisse et je reste avec mes chenapans. Je vis avec les loups, non avec les serpents.
- L'amour a dompté le loup ! Ôtez-lui l'amour, il redeviendra un loup.

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité