EDITO (19/07/2010):
FORO AVANCES:
http://foro.romhackhispano.org/viewtopi ... 7992#p7992WEB OFICIAL PARA DESCARGA DE PARCHES:
http://okami.romhackhispano.org/MENSAJE ORIGINAL:
El siguiente tutorial es para llevar a cabo una traducción de OKAMI en su versión PS2 PAL, con lo que se eliminaría uno de los idiomas MULTI3 que contiene concretamente el frances. Para seguirlo serán necesarias las siguientes herramientas:
- Translhextion: Editor hexadecimal.
http://vegetrans.jandar.net/utils/translhextion.zip- UltraEdit/PSPad: Editor de texto avanzado.
http://pspad.softonic.com/descargar- AFSExplorer: Permite navegar por ficheros afs, exportar e importar ficheros y carpetas a ficheros afs y también sustituir directamente ficheros afs en imágenes de CD o DVD.
http://pes.gamersmafia.com/descargas/show/3593- ISOBuster: Para extraer los ficheros, probablemente exista alguno gratuito, por favor informarme de cual se puede utilizar.
http://isobuster.softonic.com/- Tabla tbl asociada a OKAMI proporcionada por gally -
http://www.megaupload.com/?d=F63V8KEQDescargar vrecalc modificado para recalcular punteros de OKAMI por Partas Ignium –
http://www.megaupload.com/?d=N9JI4AVZ.
Creo que la mejor manera de llevar esto a cabo es repartirnos el trabajo entre varios miembros del foro. Para repartírnoslo tenemos unos cuantos ficheros bin a traducir por lo que cada miembro se podría poner a trabajar con la siguiente metodología en uno de ellos por separado y una vez haya terminado subirlo al foro y que el resto de compañeros le echen un vistazo para ver si todo es correcto (es para que no nos quememos siempre leyendo el mismo fichero una y otra vez). Yo por ahora he conseguido traducir con éxito el palmenu.bin y estoy en ello con el core.bin.
0.- Abrir la imagen con ISOBuster y extraer los ficheros en una carpeta. Abrimos AFSExplorer y extraemos nuestro fichero a traducir (el terminado en fichero_f.bin). Debemos extraer el fichero asociado con la versión en ingles (fichero.bin), para ver la correspondencia de texto. Al final lo que vamos a sustituir es el texto frances del fichero fichero_f.bin por el texto traducido al español, fijandonos en la posición del texto del fichero en inglés fichero.bin.
1.- Abrir el fichero con translhextion y aplicar la tabla (Scripts\Open Thingy Table) gracias al amigo gally por proporcionarla. Una vez hecho esto localizaremos las distintas secciones:
1.1.- Sección de Tabla de Punteros (gracias al amigo WiZ por su ayuda):
1.1.2.- Primeros cuatro bytes indican el número de punteros (COUNT).
1.1.3.- A continuación vienen COUNT punteros de 8 bytes.
1.2.- Sección de Textos: Tras el último puntero, se inician los textos.
1.3.- [Sección de postinstrucciones: Puede ocurrir que aparezcan unos símbolos tras los textos en los que hay que respetar su posición inicial con respecto al archivo original. (Ver apartado 4 más adelante)].
1.4.- Sección de margen: Una sección de todo 00 que tenemos como margén para aumentar nuestro texto, no podemos sobrepasarla.
2.- Seleccionar el bloque de texto desde la posición inicial del texto (p.texto) hasta la posición final del texto (f.texto), incluyendo el último separador (separador), más la posible sección de postinstrucciones y la sección de margen (00 00 00 ...). Es importante que no nos excedamos de ese margen al aplicar la traducción, si nos sobra pues mejor.
3.- Exportamos el texto (Script\Dump Script...) para editarlo con cualquier editor de texto (hacemos lo mismo para el fichero.bin como para el fichero_f.bin), y aplicamos nuestra traducción (sobre el texto extraído de fichero_f.bin fijándonos en el texto extraido del fichero.bin):
3.1.- Abrimos el fichero con Ultraedit o PSPad y seleccionamos todo el texto desde p.texto a f.texto.
3.2.- Reemplazamos el caracter "»" por "»^p" con UltraEdit o "»" por "»\n" con PSPad, marcando "Expresiones regulares" y "Texto seleccionado". Con esto nos aparecerá cada texto en una línea distinta.
3.3.- Esto es optativo, pero para mejorar la visualización podemos eliminar los espacios iniciales de cada frase "^p " por "^p" con UltraEdit o "^ " por "" con PSPad.
3.4.- Aplicamos un nuevo Replace "^(?^) " por "^1" con UltraEdit o "^(\S) " por "$1" con PSPad para eliminar los molestos espacios que tenemos entre las palabras.
3.5.- Ya estamos listos para ir traduciendo siempre con mucho cuidado y olvidandonos de los caracteres extraños (los dejamos como están).
3.6.- Una vez tengamos todo el texto traducido volvemos sobre nuestros pasos. Primero es aplicar el Replace para introducir espacios entre palabras "^(?^)" por "^1 " con UltraEdit o "^(\S) " por "$1 " con PSPad. Esto provocará que aparezcan espacios donde puede ser que no tengan que aparecer, por lo que nos tocará revisar todas las frases para ver que todo es correcto (saltos de línea, espacios, fin de texto).
3.7.- Una vez introducidos los espacios en blanco debemos de poner el texto seguido, como nos lo proporciono translhexion, para ello aplicamos el Replace "»^p " por "»" con UltraEdit o "»$ " por "»" con PSPad.
4.- Tras guardar el fichero (recomiendo guardarlo con otro nombre nombre_fichero_mod o algo así) lo importamos a translhexion (Script\Replace Script...) que debe de mantener los mismos bytes seleccionados que en el paso 2, checkeando que añada 00 si el texto es más pequeño que la selección. Seleccionamos el fichero con la traducción. Comprobamos que en la sustitución, tras el simbolo separador del último texto, la separación entre este y los símbolos extraños sea idéntica a la del original, es decir, un ejemplo:
Original:
44 00 35 00 3E 00 01 00 01 A3 01 80 00 00 00 00 (f.texto 80, seguido de unos ceros)
00 00 20 00 20 00 28 00 .... (simbolos extraños a continuación)
Importado con la traducción aplicada:
00 01 00 01 A3 01 80 00 00 00 00 00 00 20 00 20 (f.texto 80, seguido de unos ceros)
00 28 00 .... (simbolos extraños sin sincronizar )
Aplicando la sincronización:
00 01 00 01 A3 01 80 00 00 00 00 00 00 00 00 00 (f.texto 80, seguido de unos ceros)
00 00 20 00 20 00 28 00 .... (simbolos extraños sincronizados)
5.- También debemos comprobar que no nos hayamos pasado de la región de margen de 00 00 que tenemos para aplicar la traducción. Si es así debemos revisar la traducción para recortar el texto introducido. En este paso hay que realizar algo muy IMPORTANTE, y es restarle o sumarle los ceros de más o de menos que hayamos insertado en la sincronización del espacio de margén. Es decir hay que respetar el offset de la sección que venga a continuación de la sección de margen.
6.- Recalculamos la tabla de punteros:
vrecalc.exe (fichero.bin) f.texto f.punteros e.punteros 4 80,
donde f.punteros es la posición del primer puntero (despues de COUNT) y e.punteros normalmente va a coincidir con f.texto, porque representa la posición donde terminan los punteros. El cuatro es el tamaño de los punteros (aunque sean de 8 su valor nunca supera los 4, por lo que así nos vale) y el 80 es el carácter separador.
[Mañana subo la versión con la ligera modificación que hay que aplicarle]
7.- Sustituimos en el AFS Explorer el fichero y lo insertamos a la imagen y listos.
Pasos que se pueden reutilizar entre versiones PS2 y Wii:
En principio el paso más laborioso que es el de la traducción pura, es decir el 3, podría ser compatible, siempre que vengan colocados los textos en los mismos ficheros para ambas versiones, que por lo que se ha comentado en mensajes previos es lo que ocurre. El resto de pasos deberá confirmarlos la gente que posea una Wii y el juego original, ya que no puedo asegurarlo al no tener dicha consola.
Seguro que faltan cosas pero ir repasando el tuto a ver que os parece y lo pulimos antes de empezar
.
Edit: Este tutorial es para ir repartiendonos la traducción de los distintos ficheros, si alguien puede ayudar se lo agradecería.