¿Y de dónde sale ese valor de 210 caracteres? En "
Shining Wisdom" el máximo que se ve es de 254 caracteres, que lo tienen todos los ficheros menos uno. En "
Shining The Holy Ark" el máximo es de 412 caracteres. Y en "
Shining Force 3" el máximo es de 252. Todos ellos vistos en la versión original en inglés, así que el límite del programa es una chapuza que se han sacado de la manga. Yo creo que el límite está a la hora de codificar ya que la longitud de cada mensaje codificado se almacena en un byte, por lo que el máximo son 255 bytes, que pueden ser muchísimos más decodificados, dependiendo de la compresión.
Acabo de sacar los textos de la traducción de tu X5ASPI_1.BIN, que ocupa más de 54KB, los he comprimido usando un sólo árbol de nodos y me salen menos de 30KB. Si a eso le añado la fuente y los punteros, se me queda en menos de 40KB. Y si lo hiciera por el sistema de múltiples árboles me ahorraría algo más, pero no me apetece hacer modificaciones en lo que tengo hecho. Resumiendo, he ahorrado más de 14KB en el primer fichero, que supone un ahorro de casi el 25%.
Otra cosa que he visto es que duplicas los caracteres añadidos en la fuente. Están justo después de los ASCII y luego los has puesto en el lugar que corresponden en el codepage 1252, que es como los usamos normalmente. Por eso me salen líneas "raras" en cada fichero, unas veces con los carácteres correctos y otras que no los tienen. En X5ASPI_1.BIN, por no cambiar de fichero de pruebas, me sale:
[000][Selecciona archivo{06}]
[001][Selecciona una opci‰n{06}]
[002][’Interna o cartucho?{06}]
[003][’Deseas borrar el archivo?{06}]
...
[84E][Las puertas del castillo{03}están bien cerradas...{1E}]
[84F]["Cómo curar tus noches de soledad"{03}Espera a oir un ruido, entonces{03}echa un vistazo. Si no te gusta lo{03}que ves, puedes esperar otra vez.{02}]
[850][¡Tus fantasías se hacen reales en{03}el distrito de entretenimiento de{03}Destonia! ¡La vida nocturna no{03}existe en Aspia! El servicio, sin{03}embargo, depende de lo que haya{03}en tu billetera.{02}]
[851][]
[852][]
[853][]
...
[8FD][]
[8FE][]
[8FF][]
Las líneas del final, vacías, son las que añade el programa de más.
Se ve que en los últimos mensajes los acentos salen bien, pero en los primeros se usan otros códigos. En el juego sale bien debido a esa duplicidad de las tiles. No tiene mayor importancia, pero me ha llamado la atención. Imagino que primero añadirías los tiles en las primeras posiciones de la fuente y luego te darías cuenta de que es más sencillo poner cada tile en su lugar del codepage 1252.
Si tengo tiempo (y ganas) intento hacer algo para meter los textos de forma más decente, sin la utilidad ésa, cogiendo el fichero de texto directamente.