[1.1 PUBLICADA] Traducción de Dead Space Extraction

1, 2, 3, 4, 57
Bienvenidos a este post que pretende reunir toda la información posible sobre el proyecto de traducción de textos del juego "Dead Space Extraction" para la Nintendo Wii.

Es un proyecto que stá compuesto por GameZelda, TBG, eduwanke, y un servidor de ustedes.

Ahora mismo el parche v1.1 ha sido liberado. La traducción de Dead Space Extraction ha sido creada para ser utilizada con el sistema de carga de modificaciones al vuelo Riivolution, aplicación para el Homebrew Channel que podéis descargaros pulsando aquí.

Esta traducción sirve tanto para las versiones PAL como NTSC, siempre que se utilice una copia original del juego, claro está. Riivolution bloquea el uso de cargadores de backups vía software, (Gecko, etc) así que no queremos saber nada de aquellos que quieran o hayan estado utilizando una copia mediante disco duro o pincho USB.

El parche de traducción al Castellano, y las instrucciones, podéis descargárolas pulsando aquí.
Contraseña: NO_SE_DA_SOPORTE_A_COPIAS_DEL_JUEGO_DESCARGADAS

ImagenImagen

YouTube con una demostración de la traducción completa

Post original escribió:Bueno, os comento el que puede ser mi próximo proyecto (Esperemos que sencillo).

He estado examinando Dead Space Extraction para Wii, y me sorprende que no haya sido traducido en Castellano más teniendo en cuenta que el trabajo de localización (O al menos su testeo) se hace en España, y he fisgoneado en sus datos. He averiguado dos cosas:

La primera es que todo el contenido del juego (Salvo FMVs) está en tres archivos grandes con extensión .000 y .bin. Presumiblemente el .000 contenga datos y el .bin los headers o algo similar. Sería hacer que alguien especializado en cotillear en archivos mirara a ver si se puede abrir.

La segunda es que en el archivo hashcodes.h hay mención a diez archivos de traducción de idiomas, entre ellos el Castellano. Podría ser datos redundantes del Dead Space original, o un duplicado con los textos en inglés, pero oye, ¿podría ser una pista?

De momento y hasta que se abran los archivos .000/.bin, esta llamada es para hackers que puedan abrir esos archivos, cuando veamos sus contenidos y comprobemos que EA se "olvidara" realmente de traducir el juego, hablaremos de crear un grupo de traducción.

No cuelgo contenidos de la ISO porque sería colgar material ilegal (Aunque solo fueran los trocitos del inicio y final de archivos). Para los que vayan a preguntar públicamente.
Le daré una ojeada. No garantizo nada.
Como ya comenté contigo, cuentas con mi apoyo.
Tienes que pasarme el Wii Browser ese, que con el Wii Scrubber no termino nunca.

Saludos [ginyo]
WiiBrowse no funciona, WiiScrubber sí.
He estado mirando un poco y he conseguido hacer un extractor, el problema es que los nombres de los archivos parece que estan obfuscados, y de momento no he conseguido sacarlos. Pero parece que es bastante simple, de hecho, he conseguido encajar una parte de lo obfuscado con una parte de lo claro, pero de momento nada definitivo.

EDIT: Creo que lo he conseguido (de casualidad).
EDIT2: Perfeccionado, ahora va genial [360º]
Estupendo, ¿los nombres de los archivos los puedes tener en el hashcode.h? Hay otra copia del nombre en el archivo Filelist, creo.
Puede que me arrepienta (no por no querer hacerlo sino porque estoy tremendamente liado con el doctorado), pero si necesitáis a otro traductor, puedo echar una mano. No cuánto podré hacer, pero ahí queda eso.

Un saludo,
Hola VGF!

Yo he creado este post en el apartado parches y grabación porque crei que sería mas correcto ahí.

Quiero ayudar en este proyecto y si la necesitas, avisame.

Por cierto, en hexadecimal he visto que el File_USA.000 contiene varios *.SBNK, ¿estos archivos son los mismos que los de la NDS?
Hola:
Yo he creado este post en el apartado parches y grabación porque crei que sería mas correcto ahí.

Pues yo lo he colocado aquí porque las traducciones de Wii las he visto aquí. Supongo que habrá que ver qué dicen los mods.
Quiero ayudar en este proyecto y si la necesitas, avisame.

De acuerdo, voy tomando nota de los que ya os habéis ofrecido a colaborar.
Por cierto, en hexadecimal he visto que el File_USA.000 contiene varios *.SBNK, ¿estos archivos son los mismos que los de la NDS?

Conociendo a Nintendo, puede haber posibilidades. De todos modos me esperaría a que GameZelda sacara la herramienta que menciona. Aún así, no esperes que podamos redoblar el juego.

Otra cosa, aquellos que quieran colaborar conmigo en la traducción tendrán puntos extra si se han pasado tanto Dead Space Extraction como el Dead Space original. Necesitaremos sincronizar nuestra traducción con cosas de la traducción oficial de Dead Space en el caso de que tengamos que hacer todos los textos.
Entonces la cosa va bien, porque estoy en la última pantalla del extraction ^^

Un saludo,
En el caso de que también se pueda doblar, tengo tres vocales, dos masculinas y una femenina. de momento. Tengo bastantes conocimientros de intrepretación de sonidos y tal...
TBG escribió:En el caso de que también se pueda doblar, tengo tres vocales, dos masculinas y una femenina. de momento. Tengo bastantes conocimientros de intrepretación de sonidos y tal...

¿Vocales? Yo también soy actor de doblaje, ¿de qué estás hablando?
VGF escribió:¿Vocales? Yo también soy actor de doblaje, ¿de qué estás hablando?


Yo estoy hablando de darle efectos a las vocales, pasarlas a un formato adecuado...

Evidentemente, las vocales por mi parte no serán cutres, procuraré que sean lo mejor posible.
TBG escribió:
VGF escribió:¿Vocales? Yo también soy actor de doblaje, ¿de qué estás hablando?


Yo estoy hablando de darle efectos a las vocales, pasarlas a un formato adecuado...

Evidentemente, las vocales por mi parte no serán cutres, procuraré que sean lo mejor posible.

Espera un segundo... ¿¿¿estás hablando de Loquendo???
Entonces me lo explicas por MP, no voy a desviar el tema más tiempo.
He subido mi programa para extraer los archivos BIN/000:

http://www.megaupload.com/?d=PONT510Q

Funciona perfectamente, lo único que hay dos archivos en los que no encuentra el nombre, pero creo que es porque sencillamente el .BIN no lo tiene.

Los archivos File_USA y File_COM solo tienen archivos de audio, y el Filelist tiene varios tipos.

EDIT: NOTA: Es un programa de linea de comandos, antes de que alguien pregunte porque sale una pantalla negra un instante y se cierra.
Como bien ha dicho el Staff en el post que creé, si de aquí sale alguna aplicación, la publicará su autor o a quien le delegue permiso para hacerlo, en el apartado scene.

Sin embargo, creo que sería primordial decirlo en este post para que podamos trabajar mejor.;)
GameZelda escribió:He subido mi programa para extraer los archivos BIN/000:

http://www.megaupload.com/?d=PONT510Q

Funciona perfectamente, lo único que hay dos archivos en los que no encuentra el nombre, pero creo que es porque sencillamente el .BIN no lo tiene.

Los archivos File_USA y File_COM solo tienen archivos de audio, y el Filelist tiene varios tipos.

Genial, muchísimas gracias, vamos a ver qué contiene el juego.
Estoy seguro que File_USA.* contiene los dialogos en inglés, y File_COM.* las musicas y efectos.

Esta noche lo investigaré.

Excelente trabajo por el programa!!
TBG escribió:Estoy seguro que File_USA.* contiene los dialogos en inglés, y File_COM.* las musicas y efectos.

Esta noche lo investigaré.

Excelente trabajo por el programa!!


Me parece que son solo los archivos de audio de la version USA (todo lo que he visto son MUSX)
He echado una mirada rápida a los contenidos del Filelist y no he visto texto a simple vista, es posible que esté codificado en alguna parte, hay que seguir buscando.
¿Cómo podemos reproducir los archivos *.SFX?

Si no me equivoco, creo que los archivos *.EDB son los modelos de los personajes, escenarios, armas...
Y en Filelist.000 nos volvemos a encontrar los archivos *.MNx.

Por cierto, en Filelist.000\x\enginex\albert\hashcode_subfile.h, a partir de la línea 249, hay esto:
/* 08000100 */
/* HT_TextSection */
#define HT_TextSection_HASHCODE_BASE 0x08010000
#define HT_TextSection01 0x08010001
#define HT_TextSection02 0x08010002
#define HT_TextSection03 0x08010003
#define HT_TextSection04 0x08010004
#define HT_TextSection05 0x08010005
#define HT_TextSection06 0x08010006
[..]
#define HT_TextSection251 0x080100fb
#define HT_TextSection252 0x080100fc
#define HT_TextSection253 0x080100fd
#define HT_TextSection254 0x080100fe
#define HT_TextSection255 0x080100ff


Mhhh...
Eso parecen direcciones de punteros, el tema es encontrar el archivo al que se refieren. Ya sabemos que hay tres o cuatro archivos de texto con lo que parecen ser punteros de dirección.
VGF escribió:Eso parecen direcciones de punteros, el tema es encontrar el archivo al que se refieren. Ya sabemos que hay tres o cuatro archivos de texto con lo que parecen ser punteros de dirección.


Creo que son identificadores (no punteros), en el archivo .BIN hay para cada archivo un identificador que también esta en el archivo .h. Aparte, en los archivos del FileList también hay los identificadores estos, pero de momento estoy un poco perdido sobre los archivos EDB (creo que los textos están en estos archivos, entre otras cosas).
(mensaje borrado)
GameZelda escribió:Creo que son identificadores (no punteros), en el archivo .BIN hay para cada archivo un identificador que también esta en el archivo .h. Aparte, en los archivos del FileList también hay los identificadores estos, pero de momento estoy un poco perdido sobre los archivos EDB (creo que los textos están en estos archivos, entre otras cosas).


Los archivos EDB empiezan (no sé si todos, pero sí todos los que he mirado) por GEOM, que posiblemente haga referencia a "GEOMetry".

Posiblemente los textos estén en esos archivos BIN de los que hablas.

Estructura archivos *.EDB:

u32 = 47 45 4F 4D // GEOM
u32 = ??
u32 = 00 00 01 06 // ¿Versión?
u32 = ??

u32 = ??
u32 = Tamaño del archivo con header + 10
u32 = Tamaño del archivo con header + 10
u32 = 00 00 00 00

u32 = Tamaño del archivo con header + 10
u32 = ??
u64 = 00 00 00 00 00 00 00 00

u128 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

de momento...
A lo mejor no son necesariamente paquetes de geometría, pero más bien paquetes en absoluto. Me pareció ver subarchivos en los paquetes más grandes (Como el menú principal)
(mensaje borrado)
Como nota complementaria: El juego funciona en Dolphin, así que supongo que podremos ir probando las modificaciones en PC sin tener que andar haciendo posavasos.
VGF escribió:Como nota complementaria: El juego funciona en Dolphin, así que supongo que podremos ir probando las modificaciones en PC sin tener que andar haciendo posavasos.


Perfecto, así mejor, incluso nos evitamos usar regrabables...

Por cierto, en ese aspecto estoy un poquito verde: ¿que librerias y SDK's debo usar para hacer las futuras pruebas?
TBG escribió:
VGF escribió:Como nota complementaria: El juego funciona en Dolphin, así que supongo que podremos ir probando las modificaciones en PC sin tener que andar haciendo posavasos.


Perfecto, así mejor, incluso nos evitamos usar regrabables...

Por cierto, en ese aspecto estoy un poquito verde: ¿que librerias y SDK's debo usar para hacer las futuras pruebas?

¿?
¿Qué es lo que has querido decir con que supones que podremos probar las modificaciones en PC?
Que usaremos algún emulador, ¿no?

Lo de las librerias y tal iba por si se podía modificar el juego... no sé si me explico...
Sí, con el emulador Dolphin. El tema de cómo modificar una ISO para que no dé problemas en Wii (Y por tanto en emulador); pues es posible pero hay que mirarlo. Así que no, no me he enterado de lo de las librerías.
VGF escribió:Sí, con el emulador Dolphin. El tema de cómo modificar una ISO para que no dé problemas en Wii (Y por tanto en emulador); pues es posible pero hay que mirarlo. Así que no, no me he enterado de lo de las librerías.


Nada, he sido yo queme he liado [+risas]

A parte de lo del emulador, había entendido que nos querías decir que al estar hecho en Dolphin, podiamos modificar el juego...



Nada.... pajas mentales mías [+risas] [+risas].


Por otro lado, he estado mirando el emulador Dolphin, efectivamente, he podido cargarlo sin ningún tipo de problemas, incluso me vá más rápido que en la WII!

EDIT: A la hora de mover lo que sería el juego, empieza a 9 FPS... :(
A ver qué nos cuenta GameZelda de los .EDB. Por cierto, GameZelda, si me puedes dar las especificaciones del formato .BIN/.000, te lo agradecería.

EDIT: Sólo como comentario: Me he alquilado la versión para PC del Dead Space original, y los textos también parecen tener una encriptación de alguna clase, pues leo algunas palabras a medias. Yo en encriptación de contenidos no sé una mierda, pero puede que pase lo mismo con Extraction.
VGF escribió:A ver qué nos cuenta GameZelda de los .EDB. Por cierto, GameZelda, si me puedes dar las especificaciones del formato .BIN/.000, te lo agradecería.

EDIT: Sólo como comentario: Me he alquilado la versión para PC del Dead Space original, y los textos también parecen tener una encriptación de alguna clase, pues leo algunas palabras a medias. Yo en encriptación de contenidos no sé una mierda, pero puede que pase lo mismo con Extraction.


De los EDB no se mucho aun, pero si buscas por "080100" (hexadecimal) en algunos archivos (yo uso los a_??.edb) encontraras algunos resultados que parecen estar relacionados con los hashcodes "HT_TextSection??".

Sobre los archivos .BIN/.000:

Todos los punteros que salen en el archivo son relativos a su propia posición, por ejemplo, si el puntero está al offset 16 del archivo y el valor del puntero es 256, el offset al que apunta es 16 + 256 = 276.

Cabecera del archivo BIN:

struct Header
{
    uint32_t unk1; // Siempre 0x00000007 (???)
    uint32_t binFileSize; // Tamaño del archivo .BIN
    uint32_t nFiles; // Numero de archivos
    uint32_t unk2; // Siempre 0x00010000 (???)
    uint32_t ptrPathPtrTable; // Puntero a la tabla con punteros a las rutas
}


Después de la cabecera vienen "nFiles" estructures de estas:

struct FileEntry
{
    uint32_t fileSize; // Tamaño del archivo
    uint32_t fileId; // Identificador del archivo. Este valor lo puedes encontrar en los archivos .h.
    uint32_t unk2; // Ni idea, creo que tiene el mismo valor en todos los archivos del mismo contenedor.
    uint32_t unk3; // Ni idea, creo que tiene el mismo valor en todos los archivos del mismo contenedor.
    uint32_t unk4; // Ni idea, creo que tiene el mismo valor en todos los archivos del mismo contenedor.
    uint32_t fileOffset; // Offset del archivo en el archivo .000
    uint32_t unk5; // Siempre 0x00000000 (???)
}


Donde apunta el puntero a la tabla de rutas, hay "nFiles" punteros (uint32_t) a las rutas de los archivos. Estas rutas son rutas absolutas, es decir, tienen la unidad y todo el arbol completo de directorios, por ejemplo: "x:/directorio1/directorio2/archivo.edb".

Estas rutas estan obfuscadas con este simple procedimiento:

c = (char)(o + 22 - fileIdx - i);

c = Caracter ASCII.
o = Byte leido desde el archivo.
fileIdx = Índice del archivo.
i = Número de carácter (0 para el primer carácter, 1 para el segundo, etc.)

Hay que tener en cuenta que el resultado es de 1 byte.


La ruta termina cuando el carácter es 0x00 (son cadenas como las de C).

(No se si se entiende mucho, sobretodo la última parte [+risas] ).
Vale, lo del .BIN/.000 era para postearlo en Xentax, pero por lo visto otro ha colgado el formato (Parece que el empaquetado es común o algo así, pues otro juego tiene la misma extensión). De todos modos, tengo dudas de postearlo o no (Siempre que les he preguntado no he obtenido respuesta)
Ahora no lo puedo comprobar, pero cuando vuelva por mis lares(ahora me encuentro fuera de casa por unos dias) sigo con esto...

EDIT: No entiendo muy bien esto:
De los EDB no se mucho aun, pero si buscas por "080100" (hexadecimal) en algunos archivos (yo uso los a_??.edb) encontraras algunos resultados que parecen estar relacionados con los hashcodes "HT_TextSection??".
Mirando los archivos, hay uno que me ha llamado la atención:

cs_ds_a33_024_fi.edb escribió:47 45 4F 4D FF FF FF FF | G E O M ÿ ÿ ÿ ÿ


Este archivo no sale nombrado en ningún hashcode...

Ahora estoy enlazando los hashcodes con los archivos, para ver cómo puedo encontrar los textos...
Vosotros qué tal lo llevais?
Bloqueado, pues las compresiones/encriptaciones no son mi fuerte. No he mirado si Dolphin tenía Debugger.
La verdad que no tengo idea en cuanto a las encriptaciones, pero si necesitan algo de ayuda con la traducción, pueden contar conmigo.
Estoy haciedno "avances" en cuanto a las direcciones de los hashcodes, pero todavía no he encontrado nada relevante...
poco a poco...

Gracias nicodd17 [oki] , en cuanto podamos meterle manos al tema, tendremos en cuenta tu ayuda.

EDIT: ¿Por qué en el Hashcode.h se llaman a archivos que no están?
Probablemente sean archivos que hayan sido descartados a posteriori por el equipo de desarrollo.
VGF escribió:Probablemente sean archivos que hayan sido descartados a posteriori por el equipo de desarrollo.


O sea, que lo mismo hay también direcciones de textos, texturas y demás que tambien pueden haber sido descartados.... [buuuaaaa]
Hasta que no lo averiguemos no lo sabremos.
Sephirotsg escribió:Ánimo :)

Gracias!!!

Una pregunta:
En el archivo hashcodes.h, los punteros de las referencias "#define HT_File_" se encuentra en la cabecera de los archivos, justo despues de "GEOM".

¿Podría ser que el juego buscase el puntero justo despues de GEOM para evitar que se vaya a otra parte del archivo con la misma referencia?

Supongamos que tenemos esto (me lo he inventado):
#define HT_File_deadspacegame 0x21453d6f

47 45 4f 4d 21 45 3d 6f 93 47 29 2a ef 8a 8a de | G E O M ! E = o " G ) * ï Š Š
ed fe 3e 1a 03 04 18 d6 21 45 3d 6f 64 92 00 01 | í þ >     Ö ! E = o d ’


Si buscamos ese localizador nos saldrán dos resultados

47 45 4f 4d 21 45 3d 6f 93 47 29 2a ef 8a 8a de | G E O M ! E = o " G ) * ï Š Š
ed fe 3e 1a 03 04 18 d6 21 45 3d 6f 64 92 00 01 | í þ >     Ö ! E = o d ’


Sin embargo, el juego va directamente al que está justo despues de GEOM (en este caso, sería el primero que se encuentra...)

¿Me he explicado?
Una vez se haya extraido esos archivos a traducir, si quereis podemos usar una web-app que hice hace unos añitos que es para traducir colaborativamente, si le quereis pegar un vistazo es http://phptranslator.sourceforge.net/

Por otro lado a ver si puedo meterle un poquito de mano a esos archivos que decis, alguna app como wiiscrubber para mac que no me apetece arrancar el "guindows"

Saludos
Se miraría en su momento si pasarlo a ese sistema o a algún otro que tengo conocido, de momento nos interesa encontrar los textos.

TBG: ¿Podría ser que el duplicado sea para cuando se utilice el programa para abrir/cerrar el rom? Es lo que se me ocurre.
316 respuestas
1, 2, 3, 4, 57