Bueno, he seguido trasteando, luego de pelearme con el juego y la PS4 he logrado superar la "kill screen" y (aparentemente) repliqué exitosamente el hack de Kaplas en la PS4 (imagen tomada con los archivos sin modificar de PC y la fuente original porque como dije re-hacerlos toma mucho xd):
https://u.cubeupload.com/mono21400/1917 ... 170570.pngNo sé si baste para poder completar el juego, pero el problema más grande al menos estaría superado
alike escribió:Por fin eres a quien he estado buscando
Te explico el problema de caracteres que tiene Yakuza 0 es culpa de Kaplas ya que cambio la codificacion UTF-8 por la ISO-xxxx lo que causa que el juego crashee o ponga caracteres extraños cuando aparecen caracteres NO ASCII
La forma de arreglar esto es editar la plugin de Yakuza 0 del TraslateFrameWork 2 para que los tildes y la ñ se codifiquen como debe ser.
En resumen internamente en los .msg asi deben ser los caracteres en hexadecimal (ocupan 2 bytes a diferencia de los caracteres ASCII)
ñ=C3 B1
ü=C3 BC
y asi podria seguir con todos los caracteres no ASCII que usamos en el idioma y eso incluye a los "¿" y "¡" que tambien usan la codificacion de 2 bytes.
Llevo un año intentando portear la traduccion de Yakuza 0 a PS4 pero no he podido por lo que te estoy contando, yo se como poner en el codigo para que cambie la codificacion de los caracteres NO ASCII que usa nuestro idioma pero el problema es que cuando abro el TraslateFrameWork2 no me deja compilar aun no habiendo tocado nada, le pregunte a Kaplas y no supo ayudarme por lo que me gustaria que intentaras si puedes compilar el codigo fuente:
https://github.com/Kaplas80/TranslationFramework2Si logras hacer que te compile te pasaria el codigo que tienes que poner para cambiar la codificacion y las instrucciones asi podriamos de una vez por todas portear el Yakuza 0 a PS4
Ya veo, sí recuerdo leer del mismo Kaplas cuando estaba empezando la traducción en DLAN que forzó el juego a leer los caracteres en ISO-8859-1 (lo cuál siempre me pareció raro cuando el juego felizmente acepta UTF-8 pero bueno), veo que tu forma de arreglarlo sería re-empaquetar la traducción con los caracteres cambiados a UTF-8 y para eso requieres de modificar TranslationFramework2 para que no haga la conversión, no? La verdad es que intenté compilar TF2 y falló a la primera así que me fui por la opción de doblegar el juego (copiar el hack que Kaplas le hizo al ejecutable en PC, vaya).
Supongo que eso nos deja con 2 caminos:
- Este donde he convencido al juego para que funcione, quedando solo arreglar la fuente y el ancho de caracteres (mismos pasos que Kaplas hizo en su momento) (además de comprobar que no hay más "esqueletos en el clóset")
- El de cambiar TF2 para que no haga la conversión, habría que cambiar el programa, re-empaquetar todo y ver que falta después.
Veré si puedo compilar TF2 de todos modos, quedo al tanto a ver sus opiniones.
=================================================================
Edito: Bueno he logrado compilar TranslationFramework2, supongo que la línea mágica es
private readonly System.Text.Encoding isoEncoding = GetEncoding("ISO-8859-1", EncoderFallback.ExceptionFallback, DecoderFallback.ReplacementFallback);
dentro de TFGame.Yakuza0 encoding.cs y basta con dejar ambas como UTF-8?
También decir que he jugado la intro con mi hack y noté que guardar no funciona (aparentemente el sistema de guardado espera strings en UTF-8) así que supongo que será mejor seguir con esta ruta, me da un poco de flojera tener que implementar un conversor solo para no tener que editar los archivos de PC xd igual me divertí haciéndolo