Imported contents: kraptor_final_apr_03_2004.tar.gz
[kraptor.git] / include / explos.h
blob58570cc4e68dd62ca0635a2e6520d45ee5e4c5c7
1 /*-------------------------------------------------------
2 explos.h
3 --------------------------------------------------------
4 Copyright (c) 2002, Kronoman
5 En memoria de mi querido padre
6 Agosto - 2002
7 --------------------------------------------------------
8 Engine de explosiones usando una lista enlazada
9 muy sencilla, sirve para muchas capas de explosiones
10 mediante el uso de punteros.
11 --------------------------------------------------------*/
13 #ifndef EXPLOS_H
14 #define EXPLOS_H
16 #include "allegro.h"
19 /* estructura de datos */
20 typedef struct EXPLOSION {
21 fixed x, y; /* posicion */
22 fixed dx, dy; /* direccion */
23 int vida; /* vida que le queda */
24 fixed r, dr; /* radio y decremento de radio por ciclo */
25 BITMAP *spr; /* sprite que lo representa */
26 int rot; /* rotacion del bitmap */
28 /* puntero al siguiente */
29 struct EXPLOSION *next;
30 } EXPLOSION;
34 extern int cant_explosion_debug; /* Innecesaria, para testear performance solamente */
36 /* Cache de imagenes y sonidos, para el combo de explosion */
37 extern BITMAP *explo_cache_bmp[3];
38 extern SAMPLE *explo_cache_snd[3];
40 /* punteros */
41 extern EXPLOSION *ptr_explo_fondo;
42 extern EXPLOSION *ptr_explo_arriba;
45 /* prototipos */
46 void agrega_explosion( EXPLOSION **prt_1era,
47 fixed x, fixed y,
48 fixed dx, fixed dy,
49 int vida,
50 fixed r, fixed dr,
51 int rot,
52 BITMAP *spr );
53 void mover_explosiones(EXPLOSION **prt_1era);
54 void dibujar_explosion(EXPLOSION *prt_1era, BITMAP *bmp, int x, int y);
55 void liberar_lista_explosion(EXPLOSION **prt_1era);
56 #endif