no consigo funcionar load_fnt()

Started by Fuynfactory, February 08, 2017, 07:52:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Fuynfactory

equipo: AMD 4 nucleo 16GB de ram, Geforce GTX 670 2GB 3 disco duros (SSD de 512 con Win7 64, 3GB partido en dos ntfs, 1TB con ubuntu 14.04 LTS)
problema:

import "mod_text";
import "mod_map";
import "mod_key";
process main()
private
idfuente;
end
begin
idfuente=load_fnt("texto.fnt");
write(idfuente,320,240,4,"Hola");
//write(0,320,240,4,"Hola");
loop
if(key(_esc)) break; end
frame;
end
unload_fnt(idfuente);
end

no carga la fuente "texto.fnt" si descomenta    write(0,320,240,4,"Hola"); si funciona sin fuente

¿¿cual puede ser el problema??

Drumpi

¿Que estés usando una fuente con una resolución de color no compatible con la que tienes seteada en Bennu?
No sé, habría que saber qué vale idfuente al cargarla, y con qué programa y cómo has hecho esa fuente. Lo mismo está mal creada.
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)

Fuynfactory

#2
-1
con el font editor, load font .. seleccione vivian tamaño 24, con numeros uper case y lovwer case , border zise 1, shadoen abajo derecha , position 2 color verde, color border verde oliva, color shadown verde oliva,  le di generate y guardar
y esta creada en el font editor de bennupack  ...
puesta con ese nombre de archivo en el mismo directorio que el prg ....
las librerias de bennu en c:\BennuGD

¿he echo algo mal ? ..¿ necesitas algún dato mas ?..

Drumpi

Mmmm... Font editor no lo conozco, hasta ahora sólo he trabajado con FNT Editor de OasisStudios y FPG Editor de DCelso, que incluye una utilidad de fuentes.

Te diría que mirases de nuevo qué profundidad de color seleccionaste (1, 8, 16 o 32), o si no, añade set_mode a tu código y ponlo en modo de color a 32bits, a ver si sigue fallando. Si no, tendrías que pasar el fichero para poder examinarlo con un editor hexadecimal (no sé si aun tengo por ahí el código para cargar FNTs a mano y localizar el fallo exacto).
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)

Fuynfactory

#4
import "mod_text";
import "mod_map";
import "mod_key";
import "mod_video"
import "mod_wm"
process main()
private
idfuente;
end
begin
idfuente=load_fnt("texto.fnt");
set_mode(800,600,32);
set_fps(60,1);
write(idfuente,320,240,4,"Hola");
write(0,300,240,4,idfuente);
loop
if(key(_esc)) break; end
frame;
end
unload_fnt(idfuente);
end



sigue igual me da -1 dime conde esta esos editores que los voy a incar haber si soluciona el problema


actualizacion: 
generando las fuente con  FPG Editor de DCelso desde 0 va perfectamente, .. ahunque el color de la fuente de relleno no hay forma de controlar que no sea abriéndola :s

Drumpi

Entonces es un fallo del editor. Ya te digo, lo mismo se puede arreglar con un editor hexadecimal...
Tendría que buscar el FNT Edit, pero creo que estaba en el FenixPack y en el BennuPack. Si no, en divsite tiene que estar el enlace original. No lo uso desde que empecé a desarrollar en el portátil ^^U

El color de relleno se puede controlar sólo si la fuente es de 1 u 8 bits, que lo haces funciones específicas (set_text_color) o mediante paletas, si no, no puedes porque las de 16 y 32 son de colores fijos. Ten en cuenta que, a efectos prácticos, los FNT son FPGs, y los textos son mapas. Hay funciones específicas para los textos de 1bit porque se tratan de manera especial (como las primitivas gráficas), pero poco más.
También puedes usar write_in_map y trabajar sobre el mapa que te genera como cualquier otro graph (si lo generas como mapa de 8bits, puedes modificar el color de la paleta que corresponda al color de relleno con total libertad).
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)