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
Hola @jotasc

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!

Un saludo,

~Sky
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
3 respuestas