Proyecto Theme Park World PS2 Español Castellano

Hola a todos, abro este hilo para mostrar el proyecto en el que estoy trabajando, una traducción completa de Theme Park World en Español Castellano para PS2.

El juego no salió para PS2 en español inexplicablamente ya que para PS1 y PC si lo hizo.

Actualmente un amigo (Asc) es quien me ayuda con la parte de código, gracias a el me ha sido posible editar el archivo spa.dat que el juego contiene sin uso y que reemplaza al alemán usando una mini herramienta para que las tablas strings que contiene el spa.dat no se dañen al editar la longitud del texto en el archivo.

De momento no se puede editar las texturas del juego en formato .SSH ni compilar el .SDT con las voces en castellano, las texturas usan una compresión custom de EA y probablemente muy pronto podrán ser editadas usando EA-Graphics-Manager o alguna herramienta que convierta .TGA a .SSH.

Lo que es posible de momento:

1) Extraer los archivos .WAD de PC y PS2 usando Quickbms y reimportar los archivos editados en el .WAD usando Quickbms.

2) Extraer los archivos .SDT de PC y PS2 usando unos nuevos scripts para Quickbms (gracias a Asc)

3) Editar el archivo spa.dat que contiene el texto en español.


Lo que no es posible de momento:

1) Reemplazar texturas ya que el juego usa .SSH y no existe ninguna herramienta para este tipo de .SSH.

2) Extraer texturas de los .WCT de Theme Park World (PC) que serán necesarias para reemplazar las texturas en alemán.

3) Recompilar el archivo .SDT con las voces en Castellano de Theme Park World PC.

Si alguien está interesado en ayudar deja un mensaje en el tema. Actualmente sería necesario alguien con conocimientos de código, testers para el texto o para solucionar algunos fondos a los que se les ha quitado el texto pero que requieren edición en photoshop.

Algunas imágenes tomadas en PCSX2 por un amigo (Kritz)

https://prnt.sc/qrVxhjw4A4I-

https://prnt.sc/RyBBVqVfE5Du

https://prnt.sc/8ALmWndkiBqd

https://prnt.sc/p5YKhjECHycr

https://prnt.sc/vDvDqr0bp2CA

https://prnt.sc/rpwp83ZEeh3R

https://prnt.sc/xlQFrimP-8vN

También una imagen del menú en Español sobre el que estoy trabajando para cuando sea posible reemplazar SSH.

https://prnt.sc/nXJ6oP1KRskc
He tenido la oportunidad de echar un vistazo al juego tanto en PC como en PS2, y aquí te dejo algunos comentarios sobre lo que he encontrado:

1) Las texturas SSH son estructuras SHPS, comunes en juegos de EA de la época. Sin embargo, como habrás notado, utilizan un modo no compatible con las herramientas disponibles actualmente (0x84).

En este modo, los datos de imagen comienzan siempre con "GM" (0x47 0x4D), y el juego los descomprime en la función localizada en 0x00223FE0. Esta función toma dos argumentos en sus respectivos registros:

  • A0 → Dirección de memoria de los datos comprimidos (entrada).
  • A1 -> Dirección de memoria de los datos descomprimidos (salida).

Una vez finalizada la descompresión, el resultado es una textura en color directo de 32 bits (ABGR Little Endian, típica en PS2). Sin embargo, siguen existiendo dos problemas principales:

  • Si sigues el código ensamblador de la función de descompresión en un depurador, notarás que, en lugar de descomprimir los datos en la CPU, la función configura la transferencia de estos a otro sistema y luego espera a que los datos descomprimidos terminen de escribirse en memoria. Es posible que la descompresión se realice de forma acelerada en los VU0 / VU1, lo que dificultaría el desarrollo de una herramienta equivalente.
  • Una vez que los datos descomprimidos son recibidos, no están dispuestos de forma lineal, sino en tiles de 16 píxeles de ancho.

Teniendo todo esto en cuenta, es posible extraer las texturas:

Imagen


Sin embargo,este enfoque de depuración impide la reinserción. Por lo tanto, se necesita más investigación para comprender mejor los detalles del sistema de compresión. Además, no es posible utilizar otros modos soportados por la especificación SHPS, ya que el juego solo es compatible con el modo 0x84:

Imagen


2) Las texturas WCT están bien documentadas, por lo que no he necesitado investigarlas demasiado. Simplemente he confirmado que la documentación tiene sentido y coincide con las estructuras encontradas en los archivos del juego. Estas texturas consisten en datos de crominancia / luminancia (YCbCr) comprimidos en LZSS:

https://opentpw.gu3.me/formats/wct.html

3) Los paquetes SDT son bastante sencillos y similares tanto en la versión de Windows como en la de PlayStation 2. En ambos casos, contienen un array de punteros a diferentes pistas de audio, cada una identificada por una cabecera de 0x28 (40) bytes. Esta cabecera incluye detalles sobre la pista, como su nombre, frecuencia de muestreo, la cantidad de memoria a reservar para las muestras de audio descomprimidas, etc...

La principal diferencia entre la versión de Windows y la de PS2 es que, en la primera, cada puntero apunta a la cabecera de su pista correspondiente (con los datos de audio almacenados justo después); mientras que en la segunda, cada puntero apunta directamente a los datos de audio (estando las cabeceras ordenadas en un segundo array, justo después del de punteros).

El audio siempre está en formato MP2, a 22050 Hz, 48 Kbit/s, mono:

https://jumpshare.com/s/R8vomhY3a04nOCBFG0jx

Mucha suerte con el proyecto!
Joder me interesa muchísimo. Mucho ánimo. De programación a estos niveles poco ya que soy programador pero de CMS, pero si os puedo echar una mano con algo me decís. Un saludo.
Rapindrive escribió:Joder me interesa muchísimo. Mucho ánimo. De programación a estos niveles poco ya que soy programador pero de CMS, pero si os puedo echar una mano con algo me decís. Un saludo.


Gracias por el interés Rapindrive, dado que tampoco llego al nivel de programación para poder avanzar en .SSH y .SDT de momento estoy buscando un tester y intentando remover el texto de los backgrounds de carga, he usado varias webs online pero ninguna dejan el mismo color exacto o en la misma calidad, aquí te muestro la imagen original y el resultado, me vendría genial si conoces alguna página que lo deje lo más parecido posible.

https://prnt.sc/AcoCUfq2rlmA

https://prnt.sc/BQRMovP_SaEK

https://prnt.sc/9F3o_xYPEhgO
Desarchivado.

Saludos.
Hola, después de un tiempo tengo novedades con respecto al proyecto, lamentablemente son mas malas las noticias que las buenas asi que empiezo por las buenas:

1. Texturas PS2

Ya es posible extraer y reemplazar .SSH en el juego por lo que finalmente se pueden reimportar texturas.

PREVIA AQUÍ https://prnt.sc/SMQ9oAheSmWY

2. Texturas de PC

También es posible extraer los .WCT de la versión PC aunque esto me ha servido a medias.

3. Audios de PS1

Ahora es posible extraer el .TPW de audio de la versión de PS1 .

4. Sobreescribir .SDT de PS2

Es posible re-insertar el archivo .SDT con las nuevas pistas de audio.

En cuanto a las malas noticias son las siguientes:

1. Versión de PC sin textos

La versión de PC no incluye texturas con los textos encima, el juego crea los textos con configuraciones y los de PS2 ya tienen el texto encima, mi juego original tiene el bug de que no lee los textos y aunque he aplicado parches que he encontrado por internet sigue sin funcionar, la única solución sería usar NinjaRipper en un PC que funcionase el texto y poder extraer los textos de las puertas y atracciones desde la memoria.

2. Audios que no existen en PC/PS1

El audio extraido de las versiones de PC y PS1 no son iguales que las de PS2, aquí es donde he parado el proyecto y si alguien pudiese ayudarme de alguna forma con este problema quizás podría seguir la traducción, como mi idioma nativo no es el inglés me cuesta entender 100% lo que dice un audio en inglés por eso si alguien me ayudase a escuchar los sonidos de la versión inglesa de PC, PS1 que sirvieran para PS2 en cuanto a contexto de lo que el narrador habla (aunque no sea 100% lo mismo) me ayudaría a avanzar.

Este último problema me ha dejado en un punto muerto, a pesar de que la versión de PS1 y PC tienen más audios necesito saber cuál debo reemplazar y eso es lo que me ha hecho pensar si seguir o cancelar el proyecto.

Un saludo.
@jotasc ¿haz probado a usar IA para la traducción?, eso te facilitaría mucho las cosas.
doblete escribió:@jotasc ¿haz probado a usar IA para la traducción?, eso te facilitaría mucho las cosas.


No he probado porque dudo que haya alguna IA que haga eso en buena calidad, en el caso de que la haya y alguien me quiera ayudar con el audio le paso los archivos de audio en español, a ver qué logra hacer para recrear los que falten... lo bueno es que en PS2 son sólo 170 MP2, en PC hay 641 y en PS1 he podido extraer 619 pero como digo las frases cambian completamente en PS2, si eso no funcionase se podría intentar usar los que hay en inglés y que digan un contexto similar pero parece complicado.
Buenas, sigo avanzando con la traducción y traigo buenas noticias. Gracias a Sander, del proyecto OpenTPW, ahora tengo una herramienta para generar los carteles de las atracciones con el mismo estilo que en la versión de PC. Sin embargo, en PS2... algunos carteles usaban otro diseño, así que en esos casos he tenido que ajustarlos a mano para que quedasen lo más parecidos posible. Avanzo despacio porque lo hago yo solo, pero ya tengo el parque del Reino Perdido totalmente en castellano, con la puerta del parque y todas las atracciones con sus carteles en español.

También he quitado el texto de las pantallas de carga, que ahora ponen «Cargando...». De momento solo lo he podido probar en emulador, y avanzar en el juego desde un VPS sin gráfica cuesta bastante...

Se han corregido textos incompletos del spa.dat y otros que se salían de la pantalla. Diría que está al 95 %, salvo que aparezcan más textos sin traducir, frases largas sin salto de línea o traducciones incorrectas.

Por último, también es posible reinsertar el audio en los .SDT, pero aquí sigue el problema: 72 audios del narrador no existen en castellano, ni en PC ni en PS1. Los sp_314 a sp_323 ocupan 1 KB en PC y no tienen sonido, y el resto (PS2_, Adds_ y TUT_) son exclusivos de PS2, así que no hay versión española de donde sacarlos. Sin ayuda no puedo terminar los audios del narrador, de modo que esos 72 se quedarán en inglés. He sustituido los que estaban en alemán por los ingleses para que por lo menos se entienda algo.

Aquí van algunas capturas de las novedades:

https://prnt.sc/3fK6S_O5RRXT

https://prnt.sc/iMYnJLMVLuyW

https://prnt.sc/j9BbOwDsfg6O

Si alguien quiere echarme una mano con las voces del narrador, puede escribirme por privado y le puedo pasar los archivos de audio de PC, PS1 y PS2.

Un saludo.
8 respuestas