1 /*-------------------------------------------------------
3 --------------------------------------------------------
4 Copyright (c) 2002, Kronoman
5 En memoria de mi querido padre
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 --------------------------------------------------------*/
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
;
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];
41 extern EXPLOSION
*ptr_explo_fondo
;
42 extern EXPLOSION
*ptr_explo_arriba
;
46 void agrega_explosion( EXPLOSION
**prt_1era
,
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
);