Use an absolute directory under /usr/share/games/ for game data
[kraptor.git] / src / sombras.c
blobebe7ec102bbebb45eb79f50b922bf060c9df51c4
1 // --------------------------------------------------------
2 // sombras.c
3 // --------------------------------------------------------
4 // Copyright (c) Kronoman
5 // En memoria de mi querido padre
6 // --------------------------------------------------------
7 // Genera las sombras del juego y dibuja sombras en pantalla tambien.
8 // Bastante simple. :^P
9 // Lo afecta el nivel de detalle.
10 // --------------------------------------------------------
11 #ifndef SOMBRAS_C
12 #define SOMBRAS_C
14 #include "allegro.h"
15 #include "sombras.h"
17 #include "global.h"
19 /* Genera una sombra del origen en destino
20 origen y destino son dos bitmaps, PREVIAMENTE alocados
21 destino sera borrado a negro 0, y luego, se dibuja la sombra con gris de 32 RGB
22 TENER LA PALETA CARGADA, O LOS COLORES VAN A SALIR MAL
23 LA SOMBRA ES ESCALADA AL TAMA~O DE DESTINO!
25 void hacer_sombra(BITMAP *origen, BITMAP *destino)
27 int x, y, c;
28 BITMAP *tmp;
30 tmp = create_bitmap(origen->w, origen->h);
31 if (tmp == NULL) return; /* fallo! */
33 clear_bitmap(destino);
34 clear_bitmap(tmp);
36 c = makecol(32,32,32); /* color de sombra */
38 solid_mode(); /* dibujar solido... */
40 for (x=0; x < origen->w; x++)
41 for (y=0; y < origen->h; y++)
42 if (getpixel(origen, x, y) > 0 ) putpixel(tmp, x, y, c);
44 stretch_blit(tmp, destino, 0, 0, tmp->w, tmp->h, 0, 0, destino->w, destino->h);
46 destroy_bitmap(tmp);
50 /* Coloca la sombra de un jugador/enemigo
52 NOTA: codigo original era
53 alterando la posicion de la sombra de acuerdo a la posicion del enemigo
54 en una pantalla de 600x480
56 Actualmente (16/12/03) la sombra se dibuja hacia la izquierda abajo, para
57 concordar con el foco de luz que le da sombra a los edificios
59 void colocar_sombra(BITMAP *bmp, BITMAP *sombra, int px, int py)
61 /* if (nivel_detalle > 5) draw_trans_sprite(bmp, sombra, px+(300-px)/8, py+(400-py)/10); */
62 if (nivel_detalle > 5) draw_trans_sprite(bmp, sombra, px-(sombra->w*0.15)-10, py+(sombra->h*0.15)+10);
65 #endif