Extracción de ficheros para "Baten Kaitos Origins"

Lugar donde se intentarán resolver problemas específicos
Responder
Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5517
Registrado: 24 Ene 2011, 16:52

Extracción de ficheros para "Baten Kaitos Origins"

Mensaje por CUE » 28 Ene 2011, 11:17

gadesx quiere saber la compresión usada en "Baten Kaitos Origins" de GameCube, y, por lo que he visto a través de unas capturas de pantalla que me han enviado, parece que usa un sistema bastante general para almacenar ficheros en la ISO del juego, que consiste en un fichero "index.bin" y tropecientos mil ficheros llamados "FILE_XXXXXXXX", donde esas X son valores hexadecimales.

Eso mismo ocurre con el "Fragile Dreams" de la Wii, y puede ser que ambos usen el mismo sistema. El problema es que no puedo ver las cosas con más detalle porque ni tengo Wii ni tengo GC y no hay manera de poder cargar una ISO en mi vieja Game Boy en blanco y negro (no encuentro la ranura para meter el DVD, coño, voy a tener que desmontar la consola para ver donde va el lector).

Lo que necesito es el fichero "index.bin" y varios de los "FILE_*" para ver si se pueden tratar igual que en "Fragile", que, hasta donde he visto, usa 3 tipos de compresión: STORE (o sea, tal cual, sin comprimir), LZSS (la normal de toda la vida, no una de esas lamevariantes), XXXX (ni puñetera idea de qué va esta).

Hay una utilidad que permite extraer esos ficheros, y yo tengo "casi" hecha otra para comprimir de la mejor forma posible, es decir, que si un fichero LZSS ocupa menos que el STORE, pues lo comprime en LZSS y si no es así lo deja tal cual, actualizando el "index.bin" acorde con ello. Con eso todo parece funcionar perfectamente, aunque me j*d* bastante no poder implementer la otra compresión.

Avatar de Usuario
gadesx
Administrador
Administrador
Mensajes: 1984
Registrado: 24 Ene 2011, 16:43
Ubicación: El puche
Contactar:

Mensaje por gadesx » 28 Ene 2011, 13:47

mañana espero traermelo y te subo los archivos,
el juego con el dolphin SVN correr creo que corre pero en un pc medio decente. brutal tio que sepas ya algo del juego .

Avatar de Usuario
gadesx
Administrador
Administrador
Mensajes: 1984
Registrado: 24 Ene 2011, 16:43
Ubicación: El puche
Contactar:

Mensaje por gadesx » 28 Ene 2011, 15:17

yo veo debug_font.tpl y archivos FILE_70004F8A sin formato,
index.bin,opening.bnr
pero si dices que ya los tienes xD

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5517
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 28 Ene 2011, 15:39

Es para daros de leches hasta que os riáis, y las 1000 primeras no valen por si hacéis trampa.

No es la primera vez que me pasa, y tampoco es la primera vez contigo, que no se tocan ciertos juegos porque sois unos mamones y unos animales de remolacha (toma eso). Por no preguntar una simple chorrada muchas veces se quedan ciertos juegos olvidados.

Sé que en algunos casos es el puto egoísmo, donde la gente se guarda las cosas y no permite que nadie más las vea, aunque no se sepa hacer nada, y solo por no querer que el mérito de algo se lo lleve otra persona. Uno de estos casos es el Wild Arms 2, donde sé que algunos estáis trabajando. Años guardando los programas para que nadie hiciese nada, hasta que llegó alguien que yo me sé (y no me gusta señalarme) y sacó las fuentes del juego, lo que hizo que se pudiese empezar a traducir. Obviamente, ni los autores de los programas que permiten la traducción ni quien hizo los programas para tratar las fuentes serán mencionados en los créditos.

Y contigo ya me pasó con un juego de la PSX. No recuerdo el nombre, porque son de esos casos en los que hago una utilidad sin importarme el juego, tan sólo me interesó un fichero. Llevabas años con ese juego y no podías terminar su traducción por no poder acceder a la fuente para meter eñes y acentitos, y ya viste lo que tardé en hacértelo, que fue cosa de un día para otro.

Y así podría nombrar muchos más juegos, pero al final siempre es lo mismo. O egoísmo o vergüenza o vaguería. A ver ahora si cuando estéis en una situación similar se os ocurre preguntar-comentar-compartir, que, en el peor de los casos, os quedaréis como estáis, pero en muchos otros podrá haber gente que soluciones esos "problemas". Precisamente esa fue una de las razones para crear este foro.

Con respecto al juego en cuestión, se sacan 1635 ficheros "FILE*", además del "INDEX.BIN". Todos ellos llevan las compresiones antes mencionadas, y se pueden extraer sin problema.

Un ejemplo de un fichero con textos (no he mirado nada más, de si se pueden sacar bien, si tienen controles, punteros, etc.):
- FILE_60006009, 1.067.821 bytes, compresión desconocida (el original)
- FILE_60006009, 2.055.235 bytes, descomprimido
- FILE_60006009, 1.109.013 bytes, comprimido con LZSS

Como dije antes, no sé apenas nada de la compresión rara ésa que trae, pero, como se hará con el "Fragile", se podrán comprimir todos los ficheros con LZSS en su lugar y no deberá haber problemas. Como se ve en el ejemplo, son poco más de 40KB de diferencia entre la LZSS y la compresión desconocida para un tamaño de 2 megas descomprimido.

Eso sí, en lo que paso de meterme, y ya es cosa de los demás, es en cómo meter esos ficheros en la ISO, si se puede hacer o hay que hacer alguna otra historia.

Avatar de Usuario
gadesx
Administrador
Administrador
Mensajes: 1984
Registrado: 24 Ene 2011, 16:43
Ubicación: El puche
Contactar:

Mensaje por gadesx » 28 Ene 2011, 15:44

A mi lo que me interesa es tener los textos a pelo para traducirlos y luego insertarlos yo de algun modo que sea posible XD
a ver si mas gente entra en el hilo

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5517
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 28 Ene 2011, 15:55

Dos cosas rápidas:

- Los textos parecen ser simplones, una tabla con no-sé-qué y punteros a los textos, seguida de los textos. Aquí he probado el husmeador que tengo, una cosita a la que digo dónde están los textos y me dice donde tiene los punteros y su longitud.

Código: Seleccionar todo

HUSMEA - (c) CUE
Simple utilidad para buscar punteros a tablas

Fichero...: FILE_60006009
Offset....: 0000A773
- bytes=08: 00000017

Proceso terminado
- El fichero extraído no está completo, termina de golpe en mitad de un texto, como si se hubiera cortado. Eso me lleva a pensar que el programa que tengo para descomprimir esos ficheros no funciona como debería, y quien hizo el programa está desaparecido.

IlDucci
Mensajes: 14
Registrado: 27 Ene 2011, 14:38
Ubicación: España
Contactar:

Mensaje por IlDucci » 28 Ene 2011, 16:30

Hmm, siguiendo con las analogías entre ambos juegos...

Gadesx, saca un dump de memoria del juego vía Dolphin, a ver si por algún casual ves todos los textos del juego o sólo una parte, pues el Fragile tiene todos los textos en un archivo.

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5517
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 28 Ene 2011, 17:19

¡¡¡Lo llevas claro!!! ¡¡¡Con lo vago que es gadesx!!!

Ya he visto más cosas, aunque sólo por encima. El fichero de 2 megas que he puesto parece ser el que lleva los textos, aunque ignoro si algún otro puede tener más. Ese fichero tiene varias secciones, cada una con sus textos, y sacarlas es cosa de minutos, aunque como es para gadesx le voy a hacer esperar.

Otra cosa que he visto son los caracteres, que parecen ser los Basic Latin y Latin-1 Supplement, los normales, para que nos entendamos, así que no hay que tocar fuentes ni nada.

Código: Seleccionar todo

00000047:000003F9:0123456789^+-=*()
00000048:0000040B:ABCDEFGHIJKLM.,?!
00000049:0000041D:NOPQRSTUVWXYZ"'#%
0000004A:0000042F:abcdefghijklm{}$&
0000004B:00000441:nopqrstuvwxyz
0000004C:0000044F:ÀÁÂÃÄÅÆÈÉÊËÌÍÎÏ:;
0000004D:00000461:àáâãäåæèéêëìíîï[]
0000004E:00000473:ÒÓÔÕÖØÙÚÛÜÑÇÝÿÞ«»
0000004F:00000485:òóôõöøùúûüñçýßþ¿¡
00000050:00000497:ðЩ®¢£µº|~`´_—Œœ™
00000051:000004A9:0123456789-+_?!/
00000052:000004BA:ABCDEFGHIJKLM,"'\
00000053:000004CC:NOPQRSTUVWXYZ @_
00000054:000004DD:abcdefghijklm#()?!-
00000055:000004F1:nopqrstuvwxyz*+
También he visto, así por encima, algunos códigos de control y hay que buscar alguno que termine con las cadenas además del típico 00, que ya me conozco estas cosas y siempre ocurren, que Murphy existe por algo.

Y ya lo dejo por ahora, que tengo otras cosas que hacer. Si todo va bien y no hay problemas añadidos, la traducción de este juego es de lo más simple.

Avatar de Usuario
gadesx
Administrador
Administrador
Mensajes: 1984
Registrado: 24 Ene 2011, 16:43
Ubicación: El puche
Contactar:

Mensaje por gadesx » 28 Ene 2011, 18:10

CUE escribió:¡¡¡Lo llevas claro!!! ¡¡¡Con lo vago que es gadesx!!!

Ya he visto más cosas, aunque sólo por encima. El fichero de 2 megas que he puesto parece ser el que lleva los textos, aunque ignoro si algún otro puede tener más. Ese fichero tiene varias secciones, cada una con sus textos, y sacarlas es cosa de minutos, aunque como es para gadesx le voy a hacer esperar.

Otra cosa que he visto son los caracteres, que parecen ser los Basic Latin y Latin-1 Supplement, los normales, para que nos entendamos, así que no hay que tocar fuentes ni nada.

Código: Seleccionar todo

00000047:000003F9:0123456789^+-=*()
00000048:0000040B:ABCDEFGHIJKLM.,?!
00000049:0000041D:NOPQRSTUVWXYZ"'#%
0000004A:0000042F:abcdefghijklm{}$&
0000004B:00000441:nopqrstuvwxyz
0000004C:0000044F:ÀÁÂÃÄÅÆÈÉÊËÌÍÎÏ:;
0000004D:00000461:àáâãäåæèéêëìíîï[]
0000004E:00000473:ÒÓÔÕÖØÙÚÛÜÑÇÝÿÞ«»
0000004F:00000485:òóôõöøùúûüñçýßþ¿¡
00000050:00000497:ðЩ®¢£µº|~`´_—Œœ™
00000051:000004A9:0123456789-+_?!/
00000052:000004BA:ABCDEFGHIJKLM,"'\
00000053:000004CC:NOPQRSTUVWXYZ @_
00000054:000004DD:abcdefghijklm#()?!-
00000055:000004F1:nopqrstuvwxyz*+
También he visto, así por encima, algunos códigos de control y hay que buscar alguno que termine con las cadenas además del típico 00, que ya me conozco estas cosas y siempre ocurren, que Murphy existe por algo.

Y ya lo dejo por ahora, que tengo otras cosas que hacer. Si todo va bien y no hay problemas añadidos, la traducción de este juego es de lo más simple.
Si, soy tan vago que cada dia avanzo todos los proyectos,
si es que...
hacerme esperar XD
te gusta XD

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5517
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 28 Ene 2011, 20:41

¡¡¡ Mira que eres melón !!!

A ver, quiero la traducción para este fin de semana. Sólo son unas 38000 líneas de las mías, o sea, cada texto en una línea simple, aunque luego en el juego sean varias. Y todas ellas repartidas entre 776 secciones.

AQUÍ SE DESCARGAN LOS TEXTOS

Tengo que eliminar las líneas repetidas, que se ven por el segundo valor. El primero es el número de línea y el segundo un offset relativo. Si ese offset es menor o igual al anterior es que se trata de una línea repetida, que ya está puesta con anterioridad.

Código: Seleccionar todo

...
[00000021:000002FB]:[Ven]
...
&#91;0000002A&#58;00000409&#93;&#58;&#91;<v>Uh-huh. And if .......
&#91;0000002B&#58;000002FB&#93;&#58;&#91;Ven&#93;
...
También tengo que hacer la reinserción, pero ahora estoy trabajando en unas mejoras de unas utilidades, y eso me interesa más.

~~~ AÑADIDO ~~~
AQUÍ SE DESCARGAN LOS TEXTOS SIN DUPLICADOS

~~~ AÑADIDO 2 ~~~
Hay algunos textos que se siguen repitiendo, pero no tengo ganas de subir lo corregido, que es sábado y hay que descansar. Al final se queda todo en 24581 líneas sin repetir, aunque algunas son simples palabras y otras parecen de uso interno, que no se traducen.

Por cierto, hay unos numeritos que no sé lo que son. Como sean checksums o algo vete diciendo adiós.

Avatar de Usuario
gadesx
Administrador
Administrador
Mensajes: 1984
Registrado: 24 Ene 2011, 16:43
Ubicación: El puche
Contactar:

Mensaje por gadesx » 29 Ene 2011, 16:59

vamos hoy mismo me pongo a traducir, ¿traduzco con
acentos y todo?
ya te mando la zona del principio traducida y lo vemos.
No te pido el husmeador pero un programita si me hiciera con uno de estos de linea de comandos sencillito que solo insertara yo me encargaria de
traducir, insertar, revisar y testear, yo un todo en uno y
no te molestaría XD

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5517
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 30 Ene 2011, 12:50

Ja, ni lo sueñes. Paso de chequear cosas. Cuando tenga un rato te mando el fichero descomprimido y es ahí donde te lo vas a tener que currar. Cambias a "pelo" algunas frases, modificas el 'index.bin', que ya te indicaré cómo, y te vas a tener que buscar la vida para reinsertarlos en la imagen del juego, que yo de GameCube no tengo ni idea. Si funciona y los textos que has traducido salen en pantalla (emulador o consola, me es indiferente) entonces es que todo va bien y podré hacer un extractor/inyector de textos como dios manda, pero si no funciona, paso de perder el tiempo, me limitaré a explicar el formato de los 2 ficheros, pondré el programa que he hecho para la extracción por si algun día alguien se mete con ello y poco más.

Avatar de Usuario
gadesx
Administrador
Administrador
Mensajes: 1984
Registrado: 24 Ene 2011, 16:43
Ubicación: El puche
Contactar:

Mensaje por gadesx » 30 Ene 2011, 12:52

a ver el ultimo ese AQUÍ SE DESCARGAN LOS TEXTOS SIN DUPLICADOS
con el principio del juego traducido en plan prueba.
Con el Dolphin que tengo me va fluido y se puede testear todo perfecto,
al menos yo con un core 2 duo ya anticuado (mierda tecnologia y su progreso xD)

http://www.MegaShare.com/2963942
mirror: http://www.megaupload.com/?d=33DHZ6DY

Avatar de Usuario
gadesx
Administrador
Administrador
Mensajes: 1984
Registrado: 24 Ene 2011, 16:43
Ubicación: El puche
Contactar:

Mensaje por gadesx » 02 Feb 2011, 18:41

está bien, es que estoy con las ansias de traducirlo, aunque sé que me
llevaria su tiempo si se puede hacer algo, tampoco sé
si alguien mas de la gran scene quiere colaborar o pasa, total yo
puedo traducir todo entero solo (no por gusto) sino hay mas gente que quiera colaborar.

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5517
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 02 Feb 2011, 20:26

Ansias, que eres un ansias. ¡Acaba primero lo que estás haciendo y luego te metes con otra cosa!

Los textos descomprimidos originales se pueden bajar de:
http://www.sendspace.com/file/i7ju6t
(con los textos va el 'index.bin')

Lo que hay que hacer antes de nada es coger ese fichero y traducir a "pelo" algunas cosas para ver si salen en pantalla. Lo típico, vamos, poner unos textos en cristiano y poner también los caracteres que no usan los ingleses (acentos y demás). Para poder hacerlo hay que editar el 'index.bin' y cambiar el '03' que hay en la posición 0x41F8 por '00' (el el '03' de la línea marcada en la imagen). Podía habértelo mandado ya modificado, pero no me ha dado la gana.

Una vez modificado el 'index.bin' y el 'FILE_60006009' con los textos hay que meterlos en la ISO del juego. ¿Cómo? Pues ni pajorera idea, ahí es donde te tienes que buscar la vida. Una vez metidos, ya te puedes poner a jugar y ver lo que pasa, que sólo puede ser:
- no va -> Que le den al juego, que no tengo tiempo para perder buscando cosas. No va porque con los textos hay 4 bytes que supongo son una especie de checksum y habría que calcularlo de nuevo. ¿Cómo? Pues con mucho cuidado, pero no tengo el suficiente conocimiento de la Gamecube como para buscar dónde está la rutina que lo hace.
- sí va -> Pues te toca esperar al extractor/insertor de textos, que irá con un programa especial que comprimirá los ficheros y modificará el 'index.bin'.

Aquí hay una imagen del dato que tienes que cambiar. El 'index.bin' es muy sencillo de interpretar:
- Los 4 primeros bytes son el número del fichero. En la línea marcada son "60-00-60-09", que es lo que se añade a "FILE_" para formar el nombre del fichero.
- Los 4 bytes siguientes son la longitud del fichero descomprimido.
- De los 4 bytes siguientes sólo se usa el primero, siendo el resto ceros. Ese byte indica el modo de compresión (0/1/3).
- Los 4 últimos bytes a saber lo que son, pero no parecen influir en las modificaciones que se hacen (me baso en las pruebas hechas con el Fragile Dreams de Wii).
[img]http://img696.imageshack.us/img696/9440/dibujotdh.jpg[/img]

Responder