Saltar al contenido

Más en DLAN: Nuestras Traducciones | Otras Traducciones | Mods y modding | Revisiones y Guías | Videojuegos | Arte | Literatura | Rol y Rol por foro e IRC | Mapa de la web
Foto

METAL GEAR SOLID (PC) parche traduccion español castellano


64 respuestas al tema

#1 jomalin

jomalin

    Humano

  • Miembro
  • Pip
  • 27 posts

Posteado 02 March 2011 - 09:31 PM

Hola. Me acabo de registrar aquí para poder comunicaros esto... UNA MUY BUENA NOTICIA

Hasta ahora creo que NADIE había conseguido meterle los textos de español (cogidos de la version de PSX) al MGS de PC de forma correcta. He visto varios posts en distintos foros sobre este tema y todos han acabado abandonando el proyecto porque al poner los textos de español en la version PC, ya no se escuchaban las voces. Bien, después de dedicarle todo el tiempo que estuve por casa el fin de semana pasado a esto y la tarde del Lunes, sin parar investigando esto e intentándo mil pruebas, editando hexadecimalmente a saco, comparando el radio.dat de pc, el de psx ing y el de psx esp, mirando los bytes, tal y cual, he de deciros que...

HE CONSEGUIDO DESCIFRAR EL FORMATO DE TEXTO del archivo de textos de las conversaciones de codec (radio.dat) y al ponerle los textos en español de PSX (y modificando algunos bytes de cabecera) funciona a la perfección, suenan las voces, no se queda bloqueado, la tecla ESC funciona perfectamente, y todo como debería y como lo hace de forma original.

Ahora es cuando explico porqué pego esto aquí. Resulta que en la version PC de MGS se recurre a fuentes del sistema para mostrar algunos textos (conversaciones de codec y menu de opciones del juego), concretamente para las conversaciones de codec se usa la fuente "Arial" (arial.ttf). Bien, si se modifica la llamada que se hace a la funcion CreateFontA del API de Windows, se puede poner el texto subrayado o en cursiva en el juego, por poner un ejemplo. Esto se puede hacer con el software API Monitor (www.rohitab.com), que está muy bien para ver a qué funciones se están llamando, capturarlas y modificarlas incluso para ver los cambios en el juego. Bueno, no me enrollo más, el problema es que no salen las tildes,ñ,Ñ,¿ y ¡ en las conversaciones de CODEC aunque estén así en el RADIO.DAT (q por cierto hay q modificar cada texto de PSX pq no esta como un "á" por ejemplo, sino como 2 o 3 caracteres q corresponderian a una "á" cuando se muestra en pantalla desde la play). En cambio, en el menú del juego (cuando estando jugando se pulsa ESC), si se modifica en el EXE del juego, "Quit to main menu" mismo por "áéíóúñÑ¡¿........" sí salen todos los caracteres. Es decir, si en el radio.dat cambiamos una "a" por una "á" no saldrá (el juego "se come" este caracter y no lo muestra), pero si cambiamos una "a" por una "á" en el EXE, correspondiente al menú del juego si sale. Ejemplo concreto con el primer texto del codec del juego que aparece nada más empezar:

Texto original: "This is Snake." ----> aparece "This is Snake." en pantalla (correcto)
Texto modificado: "áéíó is Snake."---> aparece " is Snake." en pantalla (incorrecto)

Pues eso, ¿alguien sabe como hacer para que se muestren las tildes y demas caracteres "especiales"? Tened en cuenta que no se usa un grafico para cada letra como lo hacen muchos juegos, no es cosa de añadirle el grafico de la Ñ y demas, sino que se usa la fuente "Arial" directamente, llamando a una funcion del API de Windows (TextOutA) que muestra la cadena de texto que se le pase. De hecho, el juego llama a esta función comiendose los caracteres "especiales", ese es el problema, que parece que al leer el texto del radio.dat los filtra. Para resolverme esta duda, esto requiere conocimiento del API de Windows, con el software que os dije se pueden ver cientos de llamadas a funciones relacionadas con fuentes y tal, a parte de la CreateFontA y TextOutA...

Y OTRA COSA QUE OLVIDABA: he descomprimido el EXE del Metal gear PC, esta comprimido (con algun compresor especial para archivos ejecutables). Descomprimido ocupa casi 3 megas y ahora deja ver en claro algunos textos y sobretodo, así puede ser analizado con el API MONITOR por ejemplo, si no se descomprime no.

Editado por jomalin, 06 March 2011 - 11:20 PM.


#2 Bragolsûl

Bragolsûl

    ¡Temblad insensatos!

  • Bragolsûl
  • PipPipPipPipPip
  • 5824 posts

Posteado 02 March 2011 - 10:34 PM

Una buena noticia, sin dudas, lástima lo de los carácteres que dices.

Si a esos esos 2 o 3 caracteres que reemplazan la á en PSX los dejas tal cuál en la versión PC (es decir, sin reemplazar) ¿no se muestra correctamente la "á"?

¡Gran Concurso de Relatos!
ClanDLAN y Beamdog regalan:
BGEE
BG2EE
IWDEE


Hilo del concurso...

 


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Cada noche, al acostarme y cerrar los ojos, mi mente sigue trabajando en una incógnita. Una única, sobrecogedora, angustiante y desesperada pregunta: ¿sirve de algo realmente luchar en contra del offtopic?

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

 

- ¿Me das un autógrafo?
- Como no: Immort XDD

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


#3 jomalin

jomalin

    Humano

  • Miembro
  • Pip
  • 27 posts

Posteado 02 March 2011 - 11:35 PM

Nada, si dejo los caracteres del MGS español de psx, sale mal. Ademas q en PC se usa la fuente "Arial" de Windows y en play logicamente no, por lo que el codigo de esa parte ha tenido que cambiar "por cojones". Como dije, se ven muchas llamadas a funciones relacionadas con fuentes desde el Api Monitor, modificando alguna de esas llamadas quizás se pueda resolver (después habría que ver qué bytes hay que modificar en el exe para que esa llamada se haga así siempre...). De hecho he estado haciendo pruebas con esas llamadas a funciones de fuentes, modificando los parametros que se le pasan, poniendo los que se usan cuando se muestra el menu de opciones, para los del codec y tal y nada. Pero son muchas, no las he probado todas y no sé casi nada del API de Windows como para saber donde tengo que tocar exactamente. Esto es dar con alguien que sí conozca el API de Win y sepa donde hay que tocar. Modificando esos parametros es como por ejemplo puedes poner en subrayado el texto de los codecs, o ponerlo en cursiva, pero lo de las tildes nada. Como dije arriba, el texto del menu de opciones, usa la fuente "Arial" al igual que en los codecs, pero pero ahi si muestra las tildes y en el codec no, y la diferencia es que ese texto está en el EXE (se ve una vez desempaquetado) y el texto de los codec en el archivo radio.dat.

Para pintar el primer texto de codec del juego se hace:
TextOutA ( 0x3f010a61, 0x000000ea, 0x00000114, "This is Snake.", 0x0000000E )

Si modifico ese texto en el radio.dat y cambio la "T" por una "á" (osea "áhis is Snake."), se hace esta llamada:
TextOutA ( 0x3f010a61, 0x000000ea, 0x00000114, "his is Snake.", 0x0000000D )

Se pasa por la punta del piii, la "á" y no se la pasa a la funcion TextOutA que pinta el texto en pantalla. Si os fijáis, el ultimo parametro 0x0000000E (hexadecimal), en decimal es 14, y este parametro indica el numero de caracteres que tiene la cadena "This is Snake.". Para el texto modificado, este parametro es 13 (porque se le ha quitado la "á").


Quería adjuntar capturas de pantalla con estas cosas pero veo que este foro no tiene para subir archivos...
Ya que este foro esta dedicado a las traducciones y lleva tiempo y tal... Me parece raro que no le haya pasado este mismo caso a alguien antes...

¡AVISAD A LOS EXPERTOS DEL FORO DE ESTE PROBLEMA! jeje

Editado por jomalin, 02 March 2011 - 11:56 PM.


#4 Bragolsûl

Bragolsûl

    ¡Temblad insensatos!

  • Bragolsûl
  • PipPipPipPipPip
  • 5824 posts

Posteado 03 March 2011 - 12:50 AM

No se nada, pero siempre encuntro cosas para probar y complicarle la vida al que trabaja. XD

Si podés, cambiá el TextOutA por TextOutW, el primero se usa para ANSI y el otro para UNICODE, según tengo entendido.

¡Gran Concurso de Relatos!
ClanDLAN y Beamdog regalan:
BGEE
BG2EE
IWDEE


Hilo del concurso...

 


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Cada noche, al acostarme y cerrar los ojos, mi mente sigue trabajando en una incógnita. Una única, sobrecogedora, angustiante y desesperada pregunta: ¿sirve de algo realmente luchar en contra del offtopic?

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

 

- ¿Me das un autógrafo?
- Como no: Immort XDD

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


#5 jomalin

jomalin

    Humano

  • Miembro
  • Pip
  • 27 posts

Posteado 03 March 2011 - 06:59 AM

No se nada, pero siempre encuntro cosas para probar y complicarle la vida al que trabaja. XD

Si podés, cambiá el TextOutA por TextOutW, el primero se usa para ANSI y el otro para UNICODE, según tengo entendido.


Probado y no funciona. Si cambio TextOutA por TextOutW salen ahora todos los textos como en chino, incluso los del menú de opciones. Debería funcionar con TextOutA (pq con eso ya sale el menú de opciones con tildes)... :-(

#6 robotnick

robotnick

    Ancillae

  • Miembro
  • PipPipPip
  • 368 posts

Posteado 03 March 2011 - 08:49 AM

¡Buenas!

He recibido tu mensaje privado y todavía no salgo del asombro xD (sobretodo con lo de haber conseguido reemplazar los dichosos textos del códec) ¿Las voces en las escenas, códec y briefing también están sincronizadas? Porque ese era otro problema...

Lamentablemente no llego tan lejos como para ayudarte con el problema de las eñes y las tildes, pero si todo lo demás funciona bien esto es lo de menos. Cuando pueda me pondré a investigar (porque tengo líos por todas partes xD) y si descubro algo ya te lo diré.

¡Enhorabuena por haber logrado lo imposible!

#7 jomalin

jomalin

    Humano

  • Miembro
  • Pip
  • 27 posts

Posteado 03 March 2011 - 07:53 PM

¡Buenas!

He recibido tu mensaje privado y todavía no salgo del asombro xD (sobretodo con lo de haber conseguido reemplazar los dichosos textos del códec) ¿Las voces en las escenas, códec y briefing también están sincronizadas? Porque ese era otro problema...

Lamentablemente no llego tan lejos como para ayudarte con el problema de las eñes y las tildes, pero si todo lo demás funciona bien esto es lo de menos. Cuando pueda me pondré a investigar (porque tengo líos por todas partes xD) y si descubro algo ya te lo diré.

¡Enhorabuena por haber logrado lo imposible!


La verdad es que me ha llevado bastantes horas (dias) conseguir que funcione pero al final dí con los bytes adecuados que hay que tocar para que funcione y saqué la lógica. Uso el editor hexadecimal 010 Editor, q esta muy bien pq a parte de ser bastante completo (puedes editar la memoria de procesos por ejemplo y modificarla), sobretodo puedes programar scripts en C (codigo interpretado, no compilado) para acceder al archivo y hacer pruebas, recorrer bytes, escribirlos, leer, copiar cadenas, pegar, vamos, todo lo que puedas hacer con un programa de C... Tiene un API con muchisimas funciones, algunas de ellas con el mismo nombre que en ANSI C. De hecho hice una funcion para contar el número de TEXTOS DE CODEC que hay en el radio.dat (entre otras funciones), 215 conjuntos de textos exactamente. Tengo que programar otra funcion para contar los de play y a ver si coinciden, pero eso es un poco mas complicao (pero no imposible), pq el formato de play es distinto (aunque parecido). Cuando digo UN conjunto de texto, me refiero por ejemplo al primero del juego, donde hablan Snake y el coronel y se muestran varios mensajes de texto pero que se consideran de UNA misma escena.

De momento solo he probado con los textos de las conversaciones por codec y como me he quedado estancado con lo de las tildes (pero sigo intentándolo e investigando), aún no me he puesto con los textos de los videos ni del briefing.

UNA COSA, ¿ALGUIEN PUEDE CAMBIAR EN EL ARCHIVO RADIO.DAT ORIGINAL DE MGS PC, LA CADENA "This is Snake." POR "áéíó is Snake." MISMO Y DECIRME SI SALEN LAS TILDES EN EL JUEGO EN UN WINDOWS XP? TIENE QUE SER XP O INFERIOR, NADA DE VISTA o WIN7. He leido que de Vista en adelante las tildes a veces pueden dar problemas, así descartamos si es por como esta programada la parte de los textos de los codecs o si es por un problema con el sistema operativo. Por favor, que alguien me lo pruebe, no tengo XP aqui (mi PC ni siquiera tiene drivers pa poder instalar XP)

Gracias

Editado por jomalin, 03 March 2011 - 07:58 PM.


#8 Bragolsûl

Bragolsûl

    ¡Temblad insensatos!

  • Bragolsûl
  • PipPipPipPipPip
  • 5824 posts

Posteado 04 March 2011 - 04:59 AM

Mmmm, en la semana recupero mi MGS y pruebo (espero que lo tenga quién pienso, ya había perdido toda esperanza de una traducción)

¡Gran Concurso de Relatos!
ClanDLAN y Beamdog regalan:
BGEE
BG2EE
IWDEE


Hilo del concurso...

 


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Cada noche, al acostarme y cerrar los ojos, mi mente sigue trabajando en una incógnita. Una única, sobrecogedora, angustiante y desesperada pregunta: ¿sirve de algo realmente luchar en contra del offtopic?

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

 

- ¿Me das un autógrafo?
- Como no: Immort XDD

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


#9 robotnick

robotnick

    Ancillae

  • Miembro
  • PipPipPip
  • 368 posts

Posteado 04 March 2011 - 10:34 PM

En XP pasa lo mismo, si pongo una tilde a la i de "This" me sale "Th is Snake".

¿Has probado con TextOut a secas sin la W o la A? (no tengo ni puñetera idea del tema, sólo lo digo porque también lo he visto escrito por algún sitio así xD)

#10 jomalin

jomalin

    Humano

  • Miembro
  • Pip
  • 27 posts

Posteado 04 March 2011 - 11:04 PM

En XP pasa lo mismo, si pongo una tilde a la i de "This" me sale "Th is Snake".

¿Has probado con TextOut a secas sin la W o la A? (no tengo ni puñetera idea del tema, sólo lo digo porque también lo he visto escrito por algún sitio así xD)


Si cambias "TextOutA" por "TextOut " en el exe, se jode pq da error de que no encuentra la funcion "TextOut " (obsérvese el espacio), ya que intenta buscar la funcion "TextOut " y realmente se llama "TextOut":

---------------------------
msgi2.exe - No se encuentra el punto de entrada
---------------------------
No se encuentra el punto de entrada del procedimiento TextOut en la biblioteca de vínculos dinámicos GDI32.dll.
---------------------------
Aceptar
---------------------------


Si te comes un byte para que no tenga el espacio del final se jode tb:

[Window Title]
C:\Program Files (x86)\Metal Gear Solid\msgi2.exe

[Content]
C:\Program Files (x86)\Metal Gear Solid\msgi2.exe no es una aplicación Win32 válida.


[Aceptar]



... Aun sigo investigando pero estoy empezando a cansarme con esto de las tildes... Creo que esto es solucionable, pero hay que saber donde tocar, es basicamente, mirar donde se esta recogiendo el juego de caracteres y cambiar el que tenga por el europeo. Un programa que me capturase las llamadas al API de Windows y me permita modificar los parametros AUTOMATICAMENTE segun una condicion me ayudaria muchisimo, pero el API MONITOR aun no tiene esa opcion, tienes que hacerlo a mano, te salta una ventanita y lo modificas, pero se me enbucla y no sale. De hecho sé más o menos donde hay que tocar, ya he visto funciones que usa el EXE donde se le pasa como parametro el juego de caracteres, pero como digo, se me enbucla y no sale nunca y no puedo ver el cambio en el juego. En cambio si puedo ponerle el texto del codec en subrayado como dije por ejemplo cuando se llama a la funcion CreateFontA... Solo se llama 7 veces a esta funcion, la quinta vez para el texto del menú de opciones y la septima para el texto de los codecs... Incluso he hecho que la septima llamada devuelva lo mismo que la quinta, para a ver si así salen, y nada, se vé que se cambia el texto un poco de formato, pero las tildes nada...

Editado por jomalin, 04 March 2011 - 11:13 PM.


#11 jomalin

jomalin

    Humano

  • Miembro
  • Pip
  • 27 posts

Posteado 06 March 2011 - 11:57 PM

Lo de las tildes lo voy a dejar "aparcao" de momento...
El sábado estuve haciendo algunas pruebas con las voces del codec y tal y de momento no me funcionaba del todo. Ya he empecé a analizar un poco el formato, a comparar bytes y tal y si hay suerte a ver si lo saco. Me pondré el Lunes ya serio con ello

#12 robotnick

robotnick

    Ancillae

  • Miembro
  • PipPipPip
  • 368 posts

Posteado 07 March 2011 - 12:30 AM

Bueno, no sé cuál es el procedimiento exacto que sigues con el Api Monitor para modificar el TextOutA, yo sólo he visto que desensamblando el .exe hay muchos de ellos y hasta ahí llego (supongo que luego hay que averiguar la posición y hacer las modificaciones con un editor hexadecimal, pero recalco que no tengo ni idea del tema xD)

Dices que al borrar la A no funciona porque es como si quedara un espacio, y si intentas eliminar el byte el .exe evidentemente se estropea porque todo se desplaza. ¿Y si añades un espacio antes de la primera T y borras la A? ¿No se podría hacer eso? (ya sé que tampoco funcionará el invento y que probablemente dará el primer mensaje de error, pero por probar que no quede xDD)

Editado por robotnick, 07 March 2011 - 12:36 AM.


#13 jomalin

jomalin

    Humano

  • Miembro
  • Pip
  • 27 posts

Posteado 07 March 2011 - 08:49 AM

Bueno, no sé cuál es el procedimiento exacto que sigues con el Api Monitor para modificar el TextOutA, yo sólo he visto que desensamblando el .exe hay muchos de ellos y hasta ahí llego (supongo que luego hay que averiguar la posición y hacer las modificaciones con un editor hexadecimal, pero recalco que no tengo ni idea del tema xD)

Dices que al borrar la A no funciona porque es como si quedara un espacio, y si intentas eliminar el byte el .exe evidentemente se estropea porque todo se desplaza. ¿Y si añades un espacio antes de la primera T y borras la A? ¿No se podría hacer eso? (ya sé que tampoco funcionará el invento y que probablemente dará el primer mensaje de error, pero por probar que no quede xDD)


Ya lo probé. Tampoco funciona porque busca que la funcion se llame entonces " TextOut" y se llama "TextOut"...
Por cierto, ayer conseguí que saliese el texto en español (que era lo que anuncié aqui), CON LA VOZ EN ESPAÑOL, peeero se corta la voz en medio de la primera frase (se escucha "Al habla Sna"), tengo q retocar la cabecera a ver... No me ha dado tiempo a hacer mas pruebas que tengo pendientes. Esta tarde seguiré

#14 jomalin

jomalin

    Humano

  • Miembro
  • Pip
  • 27 posts

Posteado 07 March 2011 - 06:45 PM

VOCES EN ESPAÑOL Y TEXTOS EN ESPAÑOL CORRECTAMENTE INSERTADOS, todo perfecto, sale el texto, salen las voces y nada se estropea. Que conste que solo he hecho la prueba con la primera conversación entera entre Snake y el coronel. Tengo que analizar si los demas archivos VOX tienen el mismo formato o no. Pero como digo, la primera conversacion de codec del juego sale perfecta. Quedan las p***s tildes.

Voy a documentar todo lo que he descubierto antes de que se me olvide con capturas de pantalla incluidas en un archivo .rtf. Después me pondré a programar una utilidad para pasar las voces y textos "automaticamente" de PSX español a PC, será un programa para Windows, esto me va a llevar tiempo... Una vez hecho no estaría mal que la gente me lo probase a ver si en alguna parte del juego hubiese algún fallo de que se corte alguna voz o algun texto

Editado por jomalin, 07 March 2011 - 06:45 PM.


#15 robotnick

robotnick

    Ancillae

  • Miembro
  • PipPipPip
  • 368 posts

Posteado 07 March 2011 - 07:35 PM

Enhorabuena, en ese caso te vuelvo a hacer la misma pregunta del principio. ¿Las voces suenan correctamente sincronizadas? Porque ese es el problema que tuve yo...



Responder



  


A Bragol. Tus amigos te echan de menos.