Romxhacking Romxhacking
- Nasío pa'jakear -
 
 F.A.Q.F.A.Q.   BuscarBuscar   Lista de MiembrosLista de Miembros   Grupos de UsuariosGrupos de Usuarios   RegístreseRegístrese 
 PerfilPerfil   Identifíquese para revisar sus mensajesIdentifíquese para revisar sus mensajes   ConectarseConectarse 


Menú principal
Portal
Foros
F.A.Q.
Buscar
Lista de miembros
Grupos de usuarios
Perfil

Usuario
Nombre de Usuario:

Contraseña:

 Recordarme



He olvidado mi contraseña

¿Aún no tiene su cuenta?
Puede registrarse Aquí, es GRATIS.


Anuncio del administrador
No pretendemos solucionar todos los problemas ni ser referencia de nada, simplemente nos reunimos aquí para charlar de nuestras cosas.
NO SE RESPONDERÁ A NADA POR PRIVADO, QUE EL FORO ESTÁ PARA ALGO

Archivos de la fuente (999)

 
Publicar Nuevo Tema   Responder al Tema    Romxhacking -> Dudas y Preguntas
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
Kuras



Sexo: Sexo:Hombre
Registrado: 25 Feb 2011
Mensajes: 20
Estado: Offline
MensajePublicado: Fri Aug 05, 2011 3:43 pm    Título del mensaje: Archivos de la fuente (999) Responder citando

Pues aquí estoy otra vez, con más dudas, a ver si me echan un cable.
Veréis, he estado trasteando con la fuente del juego, para ver como podía ampliarla, y he sacado varias cosas en claro. Pero hay algunas que se me resisten porque no encuentro su lógica.
Por ejemplo, en esta imagen:

Los cuatro primeros bytes que aparecen tras el identificador te llevan a la tabla de punteros, y a partir de la posición 0x10, empiezan los caracteres. Pero, el problema está en que si voy a la dirección que indican los cuatro bytes siguientes a los que indican la posición de la tabla de punteros, me encuentro con una serie de bytes que no se que función tienen, pero que si modifico la longitud del archivo me dicen que nanai, que no van a mostrar la fuente.
Os dejo los archivos de la versión inglesa, a ver si con suerte alguien descubre para que sirven: http://www.mediafire.com/?p9l3y5hb9pepqyb
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5428
Estado: Offline
MensajePublicado: Fri Aug 05, 2011 4:21 pm    Título del mensaje: Responder citando

Son caracteres ASCII de 1bpp, en sus versiones negrita (B), itálica (I), normal (N) y el S no sé. La fuente es un gráfico de 16 bits de ancho, invertidos horizontalmente y hay una serie de datos que tal vez indiquen la anchura/altura de cada carácter. También parece que los datos hay que leerlos de 16 bits en 16 bits, o sea, de 2 en 2 bytes, siendo el primer byte que leemos el menos significativo.

Ahora no tengo por aquí mi maletín de romjáquer, así que no puedo ver si soy capaz de sacar los gráficos, pero básicamente es lo que he comentado.

~~~ AÑADIDO ~~~
Pasando los datos a binario y poniendo 16 bits por fila me sale:
- 2 bytes con el código del carácter
- 3 bytes con ni_idea
- 1 byte con el número de pixeles de ancho a ocupar (*)
- 1 byte con la altura del carácter
- 1 byte con la anchura del carácter
- el carácter, reflejado (invertido) horizonalmente

(*) A ojo, basándome en cómo se graban las fuentes en otros formatos

Los ASCII son los normales, seguidos de unos pocos símbolos (flechas, triángulos, etc.) y después unos iconos.

~~~ MÁS AÑADIDO ~~~
Acabo de darme cuenta que no he puesto lo de los punteros. Se refieren a datos de 16 b¡ts, no de 8 como es lo normal, así que deberás multiplicar por 2 el valor para encontrar el offset real a los datos, sin olvidar añadir los 0x10 bytes de la cabecera. Se ve enseguida porque el primer byte al que apuntan es el código del carácter, que es lo que me ha servido para encontrar su estructura. El valor 0xAAAA parece que se usa como relleno en los punteros.
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
gadesx
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Edad: 28
Mensajes: 1976
Ubicación: El puche
Estado: Offline
MensajePublicado: Fri Aug 05, 2011 7:40 pm    Título del mensaje: Responder citando

S puede ser subrayado?
_________________
Mi blog y mi droga: http://gadesxscene.blogspot.com/
Volver arriba
Ver perfil del usuario Enviar mensaje privado [ Oculto ] Visitar sitio web del autor MSN Messenger
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5428
Estado: Offline
MensajePublicado: Sat Aug 06, 2011 9:12 am    Título del mensaje: Responder citando

Los N y S parece que se son fuentes normales, pero de distinta altura.

Los 3 bytes finales de la cabecera de cada carácter son:
- altura del carácter
- anchura del carácter
- altura del tile (al menos en los ASCII)

Los 3 valores anteriores, los 'unk', podrían ser pixeles a saltar o algo de eso, pero para verificarlo necesito imágenes de cómo quedan los textos. Lo ideal sería ver cómo queda el texto y comprobar las separaciones entre los caracteres !"#$%&'(.... El valor en 'unk3' tiene toda la pinta de ser un número negativo. Así, a ojo, 'unk1' podría ser el número de pixeles horizontales a saltar antes de mostrar el carácter, y 'unk2' el número de pixeles verticales a saltar.

La última línea del fichero (16 bytes) no tengo ni idea de lo que es. Parecen ser 5 bytes y el resto el típico relleno con 0xAA.

He pasado de programas gráficos, que es un coñazo tratar con los bytes de cabecera para no incluirlos en la imagen, así que he tratado al fichero como simples datos binarios y los represento con caracteres. El primer fichero me sale así:
Código:
fichero.: kanji_b.dat

cabecera: 30524953
offset..:      FFC
longitud:     1140 (sin contar los 0x10 de esta cabecera)
cero....:        0

total...:       94
dato1...:        1
dato0...:        0
inicio..:       10 (o la longitud de esta cabecera o el offset al inicio de los datos)

char=0020  unk1=00  unk2=01  unk3=F8  y=0A  x=04  filas=0A
----············
----············
----············
----············
----············
----············
----············
----············
----············
----············

char=0021  unk1=00  unk2=03  unk3=FC  y=0A  x=03  filas=0C
**-·············
**-·············
**-·············
**-·············
**-·············
**-·············
---·············
**-·············
**-·············
---·············

char=0022  unk1=00  unk2=02  unk3=FC  y=05  x=06  filas=06
**-**-··········
**-**-··········
**-**-··········
**-**-··········
------··········

char=0023  unk1=00  unk2=03  unk3=FC  y=0A  x=06  filas=0C
-*-**-··········
-*-**-··········
*****-··········
-*-**-··········
-*-**-··········
-*-**-··········
*****-··········
-*-**-··········
-*-**-··········
------··········

char=0024  unk1=00  unk2=03  unk3=FC  y=0A  x=06  filas=0C
---*--··········
-****-··········
**-*--··········
****--··········
-***--··········
-****-··········
-*-**-··········
****--··········
-*----··········
------··········


... (aquí un montón más) ...


char=84BC  unk1=01  unk2=01  unk3=00  y=0C  x=0E  filas=0E
-**********---··
*----------*--··
*--*******-*--··
*-*------*-*--··
*-*------*-*--··
*-*------*-*--··
*-*------*-*--··
*-*------*-*--··
*-*----*-*-*--··
*-*****-**-*--··
*----------*--··
-**********---··

char=84BD  unk1=01  unk2=01  unk3=00  y=0C  x=0E  filas=08
-**********---··
*----------*--··
*----------*--··
*--**--**--*--··
*-*--**--*-*--··
*-*------*-*--··
*-*------*-*--··
*--*----*--*--··
*---*--*---*--··
*----**----*--··
*----------*--··
-**********---··

char=84BE  unk1=01  unk2=01  unk3=00  y=0C  x=0E  filas=0E
-**********---··
*----------*--··
*---****---*--··
*---*-**---*--··
*--*-**-*--*--··
*--*----*--*--··
*-*----*-*-*--··
*-*-****-*-*--··
*--*----*--*--··
*---****---*--··
*----------*--··
-**********---··
Muestro con '*' y '-' los valores imprimibles del carácter (punto activo o inactivo), siendo '·' el espacio sobrante.

Todos los ficheros están en http://www.megaupload.com/?d=ETCN11DD
Lo mismo pero mejor: http://www.megaupload.com/?d=O4EMOBF3 (el fichero N tiene un bug con los datos de la 'z' minúscula, así que lo he arreglado y he puesto algo mejor la visualización)

Ahora lo único que falta es que Kuras se explique bien y que diga qué es lo que necesita, qué es lo que ha hecho, qué es lo que no sale, etc.
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Kuras



Sexo: Sexo:Hombre
Registrado: 25 Feb 2011
Mensajes: 20
Estado: Offline
MensajePublicado: Tue Aug 09, 2011 3:10 pm    Título del mensaje: Responder citando

Pues el tema está en que quiero ampliar la fuente para meter los caracteres que faltan de nuestro alfabeto, y como soy un vago de cojones y no quiero usar la fuente japonesa por varios motivos (uno de ellos es que hay códigos que están en la fuente inglesa que la fuente japonesa se los come, literalmente), pues quería saber como funcionaba la fuente para modificarla a mi antojo.
Lo de las imágenes para los "unknown" ya las colgaré, que ahora mismo ando justo de tiempo. Y lo de los 5 bytes finales me trae de cabeza, porque en los ficheros japoneses son 6, y siempre están los "0404" al principio -.-"
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5428
Estado: Offline
MensajePublicado: Tue Aug 09, 2011 3:59 pm    Título del mensaje: Responder citando

Pues no debería ser difícil meter caracteres. Están ordenados, así que el que quieras meter lo pones en su posición, copiando más o menos los bytes esos raros de su carácter más parecido (para la 'á' los del 'a', par ala 'ñ' los del 'n', etc) y teniendo en cuenta que lo que cambiará será la altura, por lo que habrá que actualizar el byte correspondiente. Después de esos bytes irán los que definen el carácter, que si has visto como lo he hecho no deberías tener problema, basta con diseñarlos "a mano" y luego pasarlos a hexadecimal. Luego hay que actualizar los 2 punteros del inicio, el que dice donde están los punteros a los caracteres y la longitud. Después hay que actualizar todos los punteros de los caracteres, pues si has metido uno entre medias te tocará meter el nuevo y actualizar todos los siguientes.

Puede haber problemas porque los códigos se corresponden a los caracteres S-JIS, codepage 932, que se pueden ver en http://msdn.microsoft.com/en-us/goglobal/cc305152
Si el juego está bien hecho, no deberá permitirte códigos del 0x80 al 0x8F ni del 0xE0 al 0xFF, pues no existen en SJIS, y todos los que empiecen por un byte superior a 0x80 deberán ser de 2 bytes.

También puede ocurrir que puedas meter caracteres al final, después del último. Esto sería lo ideal, pues sólo tendrías que meter los nuevos datos del carácter, actualizar los 2 punteros iniciales y añadir al final el puntero al nuevo carácter.

Aquí están todas las fuentes, incluso las del juego japonés (las que empiezan por "j_"): http://www.megaupload.com/?d=NEJ1C99K
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Romxhacking -> Dudas y Preguntas Todas las horas están en GMT + 1 Hora
Página 1 de 1

 
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

Temas Relacionados
 Temas   Respuestas   Autor   Lecturas   Último Mensaje 
No hay mensajes nuevos Alguien tiene este parche de PS2? a desaparecido de la red.. 8 Davoker 2242 Sun Oct 04, 2015 4:49 pm
Davoker Ver último mensaje
No hay mensajes nuevos A alguien le funciona el servidor MEGA? 5 Davoker 2042 Sat Jun 21, 2014 9:30 pm
Davoker Ver último mensaje
No hay mensajes nuevos Alguien con PSP y que tenga el monster hunter unite original 1 Davoker 1293 Thu Apr 03, 2014 3:52 pm
Davoker Ver último mensaje
No hay mensajes nuevos Alguien que tenga WII que use Uloader para los WiiWare y VC 21 Davoker 6639 Thu Dec 26, 2013 4:29 pm
Davoker Ver último mensaje
No hay mensajes nuevos Alguien tiene esta tablet? solo queda preguntar en foros xD 14 Davoker 4902 Thu Nov 07, 2013 12:20 pm
Davoker Ver último mensaje
 


Crear foro gratis - Powered by phpBB © 2001, 2005 phpBB Group
subRebel style by ktauber