diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2011-10-09 12:55:16 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-10-09 12:55:16 (GMT) |
| commit | ee47b2dd6817e44a3cd388403a574a4b9bf61482 (patch) | |
| tree | 16dfa355015fff13c9013c4c3230f5294a81af13 /src | |
| parent | cb30cbcce7709899829ec4a5b07e8ea9b7c8a30e (diff) | |
| download | powder-ee47b2dd6817e44a3cd388403a574a4b9bf61482.zip powder-ee47b2dd6817e44a3cd388403a574a4b9bf61482.tar.gz | |
Pretty effect when drawing powders, activate with 'n'
Diffstat (limited to 'src')
| -rw-r--r-- | src/graphics.c | 5 | ||||
| -rw-r--r-- | src/main.c | 10 | ||||
| -rw-r--r-- | src/powder.c | 14 |
3 files changed, 29 insertions, 0 deletions
diff --git a/src/graphics.c b/src/graphics.c index eec5946..c038f10 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -25,6 +25,11 @@ unsigned cmode = CM_FIRE; SDL_Surface *sdl_scrn; int sdl_scale = 1; +int sandcolour_r = 0; +int sandcolour_g = 0; +int sandcolour_b = 0; +int sandcolour_frame = 0; + unsigned char fire_r[YRES/CELL][XRES/CELL]; unsigned char fire_g[YRES/CELL][XRES/CELL]; unsigned char fire_b[YRES/CELL][XRES/CELL]; @@ -179,6 +179,7 @@ int decorations_enable = 1; int hud_enable = 1; int active_menu = 0; int framerender = 0; +int pretty_powder = 0; int amd = 1; int FPSB = 0; int MSIGN =-1; @@ -1801,6 +1802,13 @@ int main(int argc, char *argv[]) bsy = 1180; if (bsy<0) bsy = 0; + + //Pretty powders, colour cycle + //sandcolour_r = 0; + //sandcolour_g = 0; + sandcolour_b = sandcolour_r = sandcolour_g = (int)(20.0f*sin((float)sandcolour_frame*(M_PI/180.0f))); + sandcolour_frame++; + sandcolour_frame%=360; if(ngrav_enable && drawgrav_enable) draw_grav(vid_buf); @@ -2362,6 +2370,8 @@ int main(int argc, char *argv[]) aheat_enable = !aheat_enable; if (sdl_key=='h') hud_enable = !hud_enable; + if (sdl_key=='n') + pretty_powder = !pretty_powder; if (sdl_key=='p') dump_frame(vid_buf, XRES, YRES, XRES+BARSIZE); if (sdl_key=='v'&&(sdl_mod & (KMOD_LCTRL|KMOD_RCTRL))) diff --git a/src/powder.c b/src/powder.c index e8b875b..077a242 100644 --- a/src/powder.c +++ b/src/powder.c @@ -987,6 +987,20 @@ inline int create_part(int p, int x, int y, int tv)//the function for creating a photons[y][x] = t|(i<<8); if (t!=PT_STKM&&t!=PT_STKM2 && t!=PT_PHOT && t!=PT_NEUT) pmap[y][x] = t|(i<<8); + + //Fancy dust effects for powder types + if((ptypes[t].properties & TYPE_PART) && pretty_powder) + { + int colr, colg, colb, randa; + randa = (rand()%30)-15; + colr = (PIXR(ptypes[t].pcolors)+sandcolour_r+(rand()%20)-10+randa); + colg = (PIXG(ptypes[t].pcolors)+sandcolour_g+(rand()%20)-10+randa); + colb = (PIXB(ptypes[t].pcolors)+sandcolour_b+(rand()%20)-10+randa); + colr = colr>255 ? 255 : (colr<0 ? 0 : colr); + colg = colg>255 ? 255 : (colg<0 ? 0 : colg); + colb = colb>255 ? 255 : (colb<0 ? 0 : colb); + parts[i].dcolour = 0xFF000000 | (colr<<16) | (colg<<8) | colb; + } return i; } |
