1 // --------------------------------------------------------
3 // --------------------------------------------------------
4 // Copyright (c) Kronoman
5 // En memoria de mi querido padre
6 // --------------------------------------------------------
7 // Este modulo contiene todo lo relacionado con las bombas
9 // --------------------------------------------------------
21 /* globales exportadas, setearlas al lanzar una bomba, ver jugador.c */
22 int bomba_esta_activa
= FALSE
; // esta la bomba funcionando en este momento?
23 int bomba_detonacion
= 0; // tiempo de detonacion (30 = 1 segundo explotando)
24 SAMPLE
*bomba_sonido
= NULL
; // sonido de detonacion
30 if (!bomba_esta_activa
) return;
32 // sonido de explosiones al azar...
34 tocar_sonido_paneado(rand()%ANCHO_FB
,
35 explo_cache_snd
[rand()%3],
40 if (bomba_detonacion
<= 0)
42 /* sonido estruendoso de explosion */
44 for (i
= 0; i
< rand()%3+1; i
++)
45 tocar_sonido_paneado(rand()%ANCHO_FB
,
46 explo_cache_snd
[rand()%3],
50 bomba_esta_activa
= FALSE
;
55 /* dibuja la explosion de la bomba, actualmente, todo blanco... horrible! */
56 void dibujar_bomba(BITMAP
*bmp
)
58 if (!bomba_esta_activa
) return;
60 clear_to_color(bmp
, makecol(255,255,255) );
64 /* produce una detonacion total del piso del juego,
65 pasarle en x el 'scroll_mapa' */
66 void detonar_totalmente_el_piso(int y
)
69 /* DEBUG: esto detona con retroactividad, es decir todo el mapa hacia atras! */
70 for (y1
= y
/ H_GR
; y1
< GRILLA_H
; y1
++)
71 for (x1
= 0; x1
< GRILLA_W
; x1
++)
72 explotar_fondo(x1
, y1
, rand()%100+100);