1 /*-------------------------------------------------------
3 --------------------------------------------------------
4 Copyright (c) 2002, Kronoman
5 En memoria de mi querido padre
7 --------------------------------------------------------
8 Engine de humo (para edificios en llamas)
9 usando una lista enlazada muy sencilla
10 --------------------------------------------------------*/
17 extern BITMAP
*humo_spr
;
19 /* estructura de datos que contiene el humo */
21 fixed x
, y
; /* posicion */
22 fixed dx
, dy
; /* direccion */
23 int vida
; /* vida que le queda a la particula */
25 fixed r
, ri
; /* radio, incremental de tama~o de radio */
30 /* estructura de datos para _emisores_ de humo */
31 typedef struct EMISOR_HUMO
{
32 fixed x
, y
; /* posicion */
33 int vida
; // vida (se 'apaga' a medida que vida se aproxima a 0)
35 struct EMISOR_HUMO
*next
;
42 EMISOR_HUMO
*agrega_emisor_humo(fixed x
, fixed y
, int vida
);
43 void mover_emisor_humo(int x
, int y
, int w
, int h
);
44 void liberar_emisores_humo();
47 HUMO
*agrega_humo( fixed x
, fixed y
,
50 int col
, fixed r
, fixed ri
);
52 void mover_humo(int x
, int y
, int w
, int h
);
53 void dibujar_humo(BITMAP
*bmp
, int x
, int y
);