Expecificación formato FNT 32 bits

Started by izubiaurre, February 03, 2009, 06:54:17 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Drumpi

No se si será demasiado tarde, pero ya he descifrado el contenido del formato FNT de Fenix.
Hay muchos más cambios de los que parecen a simple vista. Si esperais, el proximo día os traigo un documento completo con lo que yo he visto.
Puedo adelantar que el campo magic varía, empezando por "fnx" en lugar de "fnt" y que el octavo byte ya no indica la version, sino la profundidad de la fuente (1, 8, 16, 32).
Los descriptores de los caracteres pasan de tener 4 campos int a 7, pero como no se el orden, esperad y os lo digo seguro más tarde. Se ha añadido un campo llamado xoffset (similar al yoffset antiguo pero para el eje x, y otros dos campos que parecen expresar el ancho y alto definitivos de la fuente, sumando, por ejemplo, el ancho del mapa y el offset, aunque según comenta splinter, son las medidas que se toman para dibujar el siguiente caracter.
Y el campo que indicaban los grupos de caracteres añadidos (numeros, letras, etc...) tambien tiene un significado distinto: el charset utilizado.
-CHARSET_CP850=1
-CHARSET_ISO8859=0
Y luego ya vienen los datos de los mapas.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

el orden lo tenes aca

http://forum.bennugd.org/index.php?topic=464.msg5766#msg5766

*offset es del caracter actual... *advance es el avance al siguiente... y luego a este advance se le aplica el offset del proximo y ahi va ubicado el primer pixel del caracter...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Bueno, pues aqui subo la especificación completa del formato FNX, para el que quiera conocerla. Puede que alguna descripcion no sea muy acertada, pero os hareis una idea. Fenixwiki modification powa :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

darío

Gracias drumpi (karmaUp), realmente no tenía ni idea de que Fenix usaba un formato de fuentes distinto al de Div hasta que leí este post...

Una pregunta, entonces lo lógico sería que las fuentes de Bennu lleven la extensión "fnx", no?

Otra cosa más: en la especificación del FNX no hay ningún bit que indique la versión del formato... ¿es así?
My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats

Drumpi

Bennu usa las mismas fuentes que Fenix, sólo que ahora añade el modo 32bits de color, que se explica cambiando el respectivo campo y tomando los datos de 4 en 4 bytes, en lugar de 2 en 2 como en 16bits

No, no hay campo que especifique la version, ha sido sustituida por el bpp. De todas formas, en DIV existía ese campo y nunca pasó de valer 0 ¿por qué iba a ser necesario? :P
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Windgate

Siento sacar este hilo de nuevo, pero creo que los que habéis escrito aquí podréis asesorarme con esto:

¿Actualmente es imposible con una fuente .fnt escribir caracteres con tilde?

¿Qué tipo de formato de fuente debo usar para que write_var muestre correctamente vocales con tilde guardadas en una string?

Estoy teniendo un problema porque estoy haciendo un juego con "historia" y no consigo que ninguna tilde salga bien, la verdad es que queda muy raro y le he puesto mucho mimo como para quedarme sin poder usar tilde :-[

Cosorro, cosorro...!!! ;)
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

osk

Refloto el tema para refrescar las preguntas de Windgate, y también para preguntar yo si habría alguna posibilidad, por pequeña que fuera, de actualizar el FNTEdit al igual que se ha hecho con el FPGEdit para que soporte fuente de 32 bits.
Gracias.

splinter_work

seria interesante tambien que den soporte a fonts de 1bit...

yo tuve que hacer un conversor muy basico, de font de 8 a 1, pero solo si existe pixel es 1, si no existe es 0... demasiado basico.

DCelso

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Windgate

Prg no sabía algo de ese tema de fuentes en 32 bits...?

La verdad pensaba que alguien ya había hecho algo en ese sentido, cierto es que habiendo gráficos en 32 bits las fuentes en 32 bits serían otro puntazo a favor de Bennu.

Ahora mismo estoy creando fuentes de gran tamaño para mostrar los nombres de mis juegos en la pantalla de presentación, pero las transparencias, la suavidad de bordes, etc. en una fuente en 32 bits quedarían mucho mejor.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

DCelso

Viendo el código fuente de fntedit, no le veo ventajas para que cree fuentes de 32 bits, solo usa 4 colores para generar el fnt, así que lo veo bastante tonto hacerlo en 32 bits ya que ocupa bastante más que en 8 bits y no aporta nada.
Otra cosa sería si se pudieran editar las imágenes de cada una de las letras o algo así.

Puede que dar soporte a 1 bit sí que sea útil, ocuparían menos las letras, lo analizaré a ver si cuesta poco insertarlo.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

splinter_work

la utilidad de fonts de 32 bits... es que podrias hacer las sombras con alpha, o incluso la letra o lo que sea, y elegir el nivel de la misma... con lo que la sombra con alpha quedaria excelente... incluso podria hacerse algun efecto blur a la misma...

la ventaja de usar las fonts de 1bpp es que se les puede aplicar color con SET_TEXT_COLOR... las fonts con mas bpp hacen caso omiso a este comando.

DCelso

:D, visto así, miraré que tal sería.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

windgate, osk, no se si ya lo sabeis pero, en lo referente a hacer fuentes con tildes y eñes puedo decir que actualmente fntedit lo permite, solo tienes que activar la casilla del grupo contenido llamada "Extendido" y generar la fuente. Esto añade los 128 nuevos caracteres que inserta el ascii extendido a la tabla ascii y entre ellos está nuestra querida ñ y las vocales acentuadas.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

Paciencia, paciencia. En el subforo de proyectos tengo algo para trabajar con fuentes:
http://forum.bennugd.org/index.php?topic=464.0
En principio sólo era un conversor de profundidad de color, pero estoy viendo que se podrían hacer más cosas y convertirlo en editor.
La pega es que estaba programándolo usando funciones de pintado pixel a pixel (porque internamente trata las letras como mapas, lo que iba a permitir usar cualquier tipo de gráfico a cada caracter) y generando los ficheros de fuentes byte a byte (sin usar las funciones propias de bennu), lo que me da una serie de fallos que no he tenido tiempo de arreglar.
Posiblemente acabe por usar las funciones que comenta splinter en la primera página del hilo (de las que no tenía documentación cuando lo empecé), pero de todas formas, ahí está el código fuente, para el que quiera modificarlo (o seguirlo, ya sabeis cómo soy, tengo la cabeza en cuarenta sitios a la vez ^^U)

Funciona como cualquier programa de linea de comandos (la GUI para cuando funcione) y, que yo haya probado, la conversión de 8 a 16 bits funciona perfectamente (32 bits no recuerdo si llegué a añadirlo).

Además, creo que también había algo preparado en cierto pack
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)