Avances, Diario de...

Started by SplinterGU, April 17, 2008, 03:00:51 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

#1230
bien, nuevas funciones, new_fnt o fnt_new.

sintaxis:

FNT_NEW (CHARSET, DEPTH)
FNT_NEW (FILE, GRAPH, CHARSET, WITDH, HEIGHT, FIRST, LAST, FLAGS)

donde CHARSET puede ser:

CHARSET_ISO8859
CHARSET_CP850

donde flags puede ser

NFB_VARIABLEWIDTH
NFB_FIXEDWIDTH

la mas interesante es la ultima, que nos permite a partir de un bitmap crear una fuente en memoria.

un codigo como el siguiente:


import "mod_video";
import "mod_wm";
import "mod_text";
import "mod_map";
import "mod_key";

private
   a,b,c;
   g;
   font, font2;
begin

   set_mode(640,480);

   g = png_load("font.png");
   font = fnt_new(0,g,CHARSET_ISO8859,16,16,0,255,0);

   write_int(font,0,0,0,&a);
   write_int(font,0,20,0,&b);
   write_int(font,0,40,0,&c);

   write(font,0,60,0,"hello world!");

   write_int(0,320,0,0,&a);
   write_int(0,320,20,0,&b);
   write_int(0,320,40,0,&c);

   write(0,320,60,0,"hello world!");

   font2 = fnt_new(0,g,CHARSET_ISO8859,16,16,0,255,1);

   write_int(font2,0,100,0,&a);
   write_int(font2,0,120,0,&b);
   write_int(font2,0,140,0,&c);

   write(font2,0,160,0,"hello world!");

   while( !key( _ESC ) && !exit_status )
       a++;
       b--;
       c*=2;
       if ( c == 0 ) c = 1; end
       frame;
   end

end


y un bmp como el siguiente:



produce una salida como la siguiente:



tambien se soportan bitmaps verticales de 1 sola fila o de 1 sola columna de fonts.

espero sea de su agrado.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Noivern

buenísimo, te vas a tapar en karmas xD

Fede

¡Eres mi semiDiooooooooos!  ;D

¡KARMA!
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

josebita


blostec

Impresionante, muchísimas gracias Juan. Karma up!

FreeYourMind

Fantastico!!! Yo tenia un sistema interno para escribir fuentes a traves de imagenes guardadas en el fpg (fuentes de imagenes), con esto ya veo que no lo voy a necesitar :)
Karma!

SplinterGU

me alegro que les haya gustado...

ahora estoy trabajando en un cambio y mejora muy importante... y luego de esto me pongo con el port de dingoo... antes de continuar con el plan de trabajo...

si yo no hago publico el plan de trabajo es porque me gusta sorprenderlos...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

blostec

Y a nosotros que nos sorprendas  :D

SplinterGU

fix al sistema, para que ahora permita poner accesos a arrays de structuras sin poner [], solo se podra realizar para arrays de structuras y al primer elemento.

esto es valido

scroll.camera
scroll[0].camera

esto no es valido para acceder al address:

scroll

para acceder al mismo como un puntero, lo correcto es

&scroll
&scroll[0]
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

¡Uau! Geniales las funciones de los FNT, ahora sí que se pueden personalizar el tema de las fuentes.
¿Los flags de los charsets modifican de alguna manera el orden en el que se leen los caracteres del mapa o se ordenan en el FNT o es sólo para indicarlo en el fichero FNT de salida?

Bueno, karma++... y espero que esto no sea una inocentada :D
...y a la espera de nuevas sorpresas ;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)

SplinterGU

usa el charset, no es solo en la salida.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Fede

¿Taducción please?

Según la wiki Blitter es un chip de gráfico dedicado a la transferencia de memoria.

¿Que dices que has arreglado? ;D
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

SplinterGU

es la parte del motor encargada de dibujar en memoria (video o de un mapa)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Fede

Me olía algo de eso.

!Muchas gracias Splinter! ¡Ala! ¡Karma!

Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.