[Bennu Module] mod_fire

Started by FreeYourMind, March 12, 2010, 11:28:47 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

Bueno, habrá que compilarla para Windows tambien, si no os importa lo haré mañana.
DCElso no te adelantes  ;D, sigue con el Camufla Girl game  ;D

DCelso

oh ¿yo que?
explícamelo, please.
Monstruos Diabólicos

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

SplinterGU

la que subi no es solo para linux y no esta compilada... solo esta el proyecto... tenes que ponerlo en linux o windows, hacer el configure correspondiente y make...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Aqui teneis la última dll compilada para windows, el ejemplo modificado por Splinter y una imagen  :P

PROGRAM Fire;

GLOBAL
   a ;
   struct MyPal [ 255 ]
       byte r, g, b ;
   end
   m1, m2 ;
BEGIN
   full_screen = false ;

   set_fps( 0, 0 ) ;
   Set_mode( 640, 480, 8 ) ;

   m1 = load_pcx( "coolmap.pcx" ) ;
   m2 = load_pcx( "fuelmap.pcx" ) ;

   write( 0, 10, 10, 0, "FPS: " ) ;
   write_int( 0, 50, 10, 0, & fps ) ;
   write( 0, 0, 460, 0, "Pulsa B para cambiar la paleta" ) ;

   // Paleta fuego rojo
   for( a = 0 ; a < 86 ; a++)
       mypal [ a ] .r = a * 3 ;
       mypal [ a ] .g = 0 ;
       mypal [ a ] .b = 0 ;
   end
   for( a = 0 ; a < 86 ; a++)
       mypal [ a + 85 ] .r = 255 ;
       mypal [ a + 85 ] .g = a * 3 ;
       mypal [ a + 85 ] .b = 0 ;
   end
   for( a = 0 ; a < 86 ; a++)
       mypal [ a + 170 ] .r = 255 ;
       mypal [ a + 170 ] .g = 255 ;
       mypal [ a + 170 ] .b = a * 3 ;
   end
   set_colors( 0, 256, & MyPal ) ;

   fire1();
   fire2();
   fire3();

   REPEAT

       if( key( _b ) )
           // Paleta fuego azul
           for( a = 0 ; a < 86 ; a++)
               mypal [ a ] .b = a * 3 ;
               mypal [ a ] .g = 0 ;
               mypal [ a ] .r = 0 ;
           end
           for( a = 0 ; a < 86 ; a++)
               mypal [ a + 85 ] .b = 255 ;
               mypal [ a + 85 ] .g = a * 3 ;
               mypal [ a + 85 ] .r = 0 ;
           end
           for( a = 0 ; a < 86 ; a++)
               mypal [ a + 170 ] .b = 255 ;
               mypal [ a + 170 ] .g = 255 ;
               mypal [ a + 170 ] .r = a * 3 ;
           end
           set_colors( 0, 256, & MyPal ) ;
       end

       FRAME ;

   UNTIL key( _esc ) ;

END

process fire1( )
private
   fireid;
begin
   fireid = new_fire( 128, 256 ) ;
   pos_fire( fireid, 100, 100 ) ;
   fueltype_fire( fireid, 1 ) ;
   fuelmap_fire( fireid, 0, m2 ) ;
   start_fire( fireid, 1 ) ;
   graph = graph_fire( fireid ) ;

   x = 128 + 32 ;
   y = 240 ;

   write( 0, x, y, 4, "Fuego normal" ) ;

   REPEAT
       update_fire( fireid ) ;
       FRAME ;
   UNTIL key( _esc ) ;

   delete_fire( fireid ) ;
end

process fire2( )
private
   fireid;
begin
   fireid = new_fire( 128, 256 ) ;
   pos_fire( fireid, 0, 0 ) ;
   flag_fire( fireid, 2 ) ;
   cooling_fire( fireid, 0 ) ;
   fueling_fire( fireid, 30, 10, 30, -15, 20 ) ;
   start_fire( fireid, 1 ) ;
   graph = graph_fire( fireid ) ;

   x = 128 + 32 + 128 + 32 ;
   y = 240 ;

   write( 0, x, y, 4, "Fuego con fuelmap" ) ;

   REPEAT
       update_fire( fireid ) ;
       FRAME ;
   UNTIL key( _esc ) ;

   delete_fire( fireid ) ;
end

process fire3( )
private
   fireid;
begin
   fireid = new_fire( 128, 256 ) ;
   pos_fire( fireid, 350, 0 ) ;
   cooltype_fire( fireid, 1 ) ;
   coolmap_fire( fireid, 0, m1 ) ;
   fueling_fire( fireid, 0, 2, 1, -32, 32 ) ;
   start_fire( fireid, 1 ) ;
   graph = graph_fire( fireid ) ;

   x = 128 + 32 + 128 + 32 + 128 + 32 ;
   y = 240 ;

   write( 0, x, y, 4, "Fuego con coolmap" ) ;

   REPEAT
       update_fire( fireid ) ;
       FRAME ;
   UNTIL key( _esc ) ;

   delete_fire( fireid ) ;
end



SplinterGU

usaste el fuente que puse yo? porque tiene correcciones...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Si. he llamado version 1.1 a la compilación/entorno por las correciones, por si en el futuro hago alguna nueva version.
De todos modos la anterior tambien funcionaria correctamente con el nuevo ejemplo.

SplinterGU

si, funciona la anterior... pero igual tiene cosas corregidas.

gracias... un karma para ti por la compilacion...

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

Windgate

Se ven muy bien los distintos fuegos, pero me mata la dificultad de tener que rellenar a mano las paletas... Si alguien sube el ejemplo MÁS FÁCIL DEL MUNDO para que salga un fuego y ya está, el que sea, se lo agradeceré mucho, todavía no lo he probado por esa razón, veo mucho código ahí y estos días ando jodidamente liado :-\
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

esta lib es ideal para hacer a fenix :D.
Monstruos Diabólicos

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

FreeYourMind

Windgate, hay ejemplos viejunos de los tiempos de DIV, que hacen lo mismo por prg, sin necesidad de dll's, con put_pixel, esto es una alternativa en forma de dll, si yo necesito crear fuego lo haré por código ya que a partida juego con la compatibilidad entre plataformas sin dependencias externas.

SplinterGU

Quote from: DCelso on April 07, 2010, 01:48:08 PM
esta lib es ideal para hacer a fenix :D.

DCelso, esta lib es de fenix.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Lo que dice es que es ideal para recrear la ave de fuego, una tal Fenix, no se si conoces  ;D

SplinterGU

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

FreeYourMind

Hola.
Ya teneis mi segundo port para Caanoo de los modulos no oficiales de BennuGD.
Hoy le ha tocado a este mod_fire, incluye el ejemplo prg, adaptado a la resolución de la consola.  :D



Descarga:
http://dl.openhandhelds.org/cgi-bin/caanoo.cgi?0,0,0,0,19,588