Extraer textos en de FF2 de PSX?

Lugar donde se intentarán resolver problemas específicos
Responder
Mairtrus
Mensajes: 3
Registrado: 13 Jul 2014, 19:37

Extraer textos en de FF2 de PSX?

Mensaje por Mairtrus » 24 Jul 2014, 04:57

¡Saludos gente!
Pues si, basicamente el título lo dice todo. Estoy trabajando en traducir al español la version de PSP de Final Fantasy II, y teniendo a mano la traducción de enormísima calidad de CUE, pues pensaba en insertar dichos textos en detrimento de los de GBA.
¿Están liberadas las herramientas usadas por CUE para extraer los textos? ¿O tal vez existe algun documento online que me pueda guiar sobre el formato en el que están guardados los textos en la versión de PSX?

Saludos, y gracias de antemano.

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

Mensaje por CUE » 24 Jul 2014, 08:33

No está liberado nada porque es tan simple la forma en que lo he hecho que no merece la pena, que los textos están a simple vista usando una tabla normalucha. Pero antes de hacer nada hay que ver cómo están las cosas en PSP, que, si no recuerdo mal, no era tan simple como en el FF1, donde sólo había que copiar los textos de GBA. Si mi memoria no falla, en ese juego se usaba compresión, así que hay que empezar por ahí.

Mairtrus
Mensajes: 3
Registrado: 13 Jul 2014, 19:37

Mensaje por Mairtrus » 24 Jul 2014, 16:48

Efectivamente, los textos están comprimidos (con un LZSS estandar con una mínima modificación) y separados linea a linea. Estas líneas se concatenan luego con una especie de script. La versión de GBA es más o menos lo mismo, excepto que sin la compresión y con una tabla de caracteres infernalmente aleatoria.
En realidad ya he crackeado todo el formato y he extraído todos los textos (además de insertar los caracteres latinos en las 2 fuentes que posee el juego), y ahora estoy en posición de traducir, comprimir y reinsertar los textos para tener una traducción casi completa (faltarían algunos gráficos que todavía no logro localizar). Quería usar los textos de tu traducción porque me parece que es muchísimo más fiel que la espantosa traducción de GBA.
¿Por casualidad tendrás los textos traducidos en un archivo de texto plano? ¿O en todo caso podrías pasarme la tabla de caracteres usada por el juego?

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

Mensaje por CUE » 24 Jul 2014, 17:41

Lo de la fuente, yo me cree la mía propia, basándome en otras existente, y pasando de la que había porque estaba limitada a un determinado número de caracteres y la amplié para poder poner en condiciones los anchos de cada uno. Sólo modifiqué los caracteres finales además de los que añadí. También creé ciertos textos para poder ampliar el número de caracteres, como "LIBRO", que así me ocupa 3 caracteres en vez de 5, " de " ocupa 2 en vez de 4, ..., y así en los nombres de los objetos parece que son más largos. Al final acabé usando 128 caracteres, que ampliarlo a más necesitaba más hackeo del código y no me apetecía.

Ésta es la que uso, aunque primero están la inglesa y luego la japonesa, para ver las diferencias. En la de 8x8 añadí otros textos en vez de caracteres por necesidad, como el clásico "TIME" de 4 caracteres, que pude poner "TIEMPO" en esos mismos 4 caracteres. Los únicos caracteres que no pude añadir fueron "#%&", aunque los metí en el gráfico por si acaso, pero no se puede acceder a ellos.
[align=center][img]http://s25.postimg.org/6xwmrk5dr/font_e.png[/img] [img]http://s25.postimg.org/mxfab41fj/font_j.png[/img] [img]http://s25.postimg.org/ckszp17wf/font_sp.png[/img][/align]

El problema que veo es que se necesitan ciertos códigos que hay que saber cómo van en PSP. Ahora mismo recuerdo los colores, las palabras clave para ser aprendidas, las palabras claves una vez aprendidas, los nombres de los personajes ... Creo que eran menos de 10, pero eso hay que ver primero cómo están en PSP. Necesitaría verlos para ver si los texos son más o menos compatibles.

Ah, y que no se te olvide que me he tomado ciertas licencias con algunos nombres de objetos/hechizos, además de algunos cambios en las claves a aprender para que no se aprendan antes de tiempo y dé lugar a ciertos textos confusos. Al final lo puse para que cada palabra se aprendiera únicamente en un sitio, que originalmente hay algunas que se aprenden en varios.

Mairtrus
Mensajes: 3
Registrado: 13 Jul 2014, 19:37

Mensaje por Mairtrus » 24 Jul 2014, 19:57

Ahora veo que la codificación de los caracteres es la misma que en PSP (no así en GBA), excepto por algunos caracteres en PSP que simplemente son espacios en blanco (como los simbolos japoneses que están en la fuente inglesa). En PSP, basicamente, los codigos de color y nombres de los personajes son un unico byte (por lo que vi, en PSX son 2?). Donde y cuando se aprenden las palabras claves están manejados por un script ajeno a los archivos de texto.
De todas formas, estoy conciente de que no puedo hacer un copy&paste puntual de tu traducción. Hay muchísimas cosas que tengo que acomodar, además de que tengo que traducir toda la parte del Laberinto Arcano. Solo planeo usarla como guía.

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

Mensaje por CUE » 24 Jul 2014, 21:31

Ésta es la codificación, con la tabla que uso (es UTF-8, así que no sirve para ciertos programas):
[spoil]00=0
01=1
02=2
03=3
04=4
05=5
06=6
07=7
08=8
09=9
0A=A
0B=B
0C=C
0D=D
0E=E
0F=F
10=G
11=H
12=I
13=J
14=K
15=L
16=M
17=N
18=O
19=P
1A=Q
1B=R
1C=S
1D=T
1E=U
1F=V
20=W
21=X
22=Y
23=Z
24=a
25=b
26=c
27=d
28=e
29=f
2A=g
2B=h
2C=i
2D=j
2E=k
2F=l
30=m
31=n
32=o
33=p
34=q
35=r
36=s
37=t
38=u
39=v
3A=w
3B=x
3C=y
3D=z
3E=、
3F=。
40=,
41=.
42=·
43=:
44=?
45=!
46=-
47=/
48=~
49=…
4A=‥
4B=‘
4C=’
4D=“
4E=”
4F=[
50=]
51=⇧
52=⇩
53=『
54=』
55=%
56=@
57=(

58=)
59=ー
5A=»
5B=*
5C=º

/F0
F1=Ⓥ
F2=Ⓒ
F300=<Firion>
F301=<Maria>
F302=<Gus>
F303=<name>
F303=<Mindu>
F303=<Josef>
F303=<Gordon>
F303=<Leila>
F303=<Gareth>
F304=<Leon>
F531=&#9410;
F6=&#9407;
F7=&#9408;
F8=&#9406;
F9=
FF=<end>

5D=¡
5E=¿
5F=á
60=é
61=í
62=ó
63=ú
64=ü
65=ñ
66=Á
67=É
68=Í
69=Ó
6A=Ú
6B=Ü
6C=Ñ

6D="
6E=#
6F=$
70=&
71='
72=+
73=;
74=<75>
77=\
78=^
79=_
7A=`
7B={
7C=|
7D=}

6F7071=<Libro>
7E7F=<de>

72737475=<Tiempo>
76777879=<Nuevo>
7A7B7C7D=<Objetos>[/spoil]
Los códigos 00-57 son los originales del juego, aunque he cambiado los caracteres de la comilla simple japonesa para poner las flechas. Es una costumbre que tengo, dejar siempre los caracteres originales para poder usar la misma tabla en la traducción y en el original.

Del 58 al 5C están en la fuente original pero no usan ancho variable, por lo que salían con un espaciado enorme, aunque no se usaban. Ahí es donde comencé a tocar cosas.

Del F0 al FF son los de control.

El resto son los añadidos especiales del castellano (5D-6C) y los demás caracteres ANSI que faltan, por si necesitaba alguno, además de uno MTE gráficos. Al final usé los 128 caracteres posibles que se pueden usar ya que es un valor con signo y sólo puedo poner del 0x00 al 0x7F. Mejor aprovechado es imposible.

Los códigos de control:

Código: Seleccionar todo

F0 es el salto de línea
F1 es una variable, que necesita un byte adicional
F2 es el color, que necesita un byte adicional
F3 es el nombre de los personajes acompañantes, que necesita un byte adicional, con 0-1-2 como nombres fijos y 4 un nombre variable.
F5-31 indica que se debe memorizar una palabra
F6 sólo sale en la versión japonesa
F7 es la palabra clave, seguido del código de la palabra. Si el código es del tipo 0x sólo se muestra, y si es 1x necesita antes un F5-31 para memorizarla.
F8 muestra un icono, que necesita un byte adicional
F9 es un espacio en blanco
FF indica final de mensaje.
Mira a ver si eso te sirve de alguna ayuda.

Lo de los códigos F5/F7 es un poco coñazo hasta que se comprende:

Código: Seleccionar todo

...
p03C6&#58;  .string "Si tuviera un poco de &#9400;2&#9408;",$02, "&#9400;0 para poder"
        .string "forjar nuevas armas y armaduras..."
...
p06E4&#58;  .string "&#9400;6Hilda&#9400;0&#58; Por favor, ayudadnos."
        .string "Necesitamos a los mejores guerreros"
        .string "para recuperar el &#9410;&#9400;3&#9408;",$12, "&#9400;0."
...
El primer mensaje tiene el F7, "&#9408;" para mí, seguido de 02, así que sólo se muestra la palabra, sin más, "mitril".
El segundo lleva el F5-31, "&#9410;" para mí, antes del F7 seguido de 12, indicando que se debe memorizar. El color, "&#9400;" con otro byte, es opcional.

Como es obvio, mis caracteres:

Código: Seleccionar todo

&#9419; para variable
&#9400; para color
&#9410; para memoria
&#9407; para japonés
&#9408; para keyword
&#9406; para icon
En realidad uso la abreviatura de la palabra inglesa, cosa de la costumbre, y en este caso coinciden todas con la española excepto el keyword/clave.

Responder