diff options
| author | Simon <simon@hardwired.org.uk> | 2010-12-24 12:51:39 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2010-12-24 12:51:39 (GMT) |
| commit | db364c549f70668c632bfdc55aaf441142ef646e (patch) | |
| tree | d6952629064b222d0b672d3f7d19d750eafafadd /src/graphics.c | |
| parent | 267e6a4511a4f99b9a894c1eb08b8c5a77c4e685 (diff) | |
| download | powder-db364c549f70668c632bfdc55aaf441142ef646e.zip powder-db364c549f70668c632bfdc55aaf441142ef646e.tar.gz | |
You know, stuff.
Diffstat (limited to 'src/graphics.c')
| -rw-r--r-- | src/graphics.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/graphics.c b/src/graphics.c index 3eb7e18..7a79651 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -2425,6 +2425,55 @@ void draw_parts(pixel *vid) blendpixel(vid, nx-1, ny-1, cr, cg, cb, 32); } } + else if(t==PT_BOMB){ + if(parts[i].tmp==0){ + cr = PIXR(ptypes[t].pcolors); + cg = PIXG(ptypes[t].pcolors); + cb = PIXB(ptypes[t].pcolors); + if(cmode != CM_NOTHING && cmode != CM_CRACK){ + int newx = 0; + float gradv = 100; + blendpixel(vid, nx+1, ny, cr, cg, cb, 223); + blendpixel(vid, nx-1, ny, cr, cg, cb, 223); + blendpixel(vid, nx, ny+1, cr, cg, cb, 223); + blendpixel(vid, nx, ny-1, cr, cg, cb, 223); + + blendpixel(vid, nx+1, ny-1, cr, cg, cb, 112); + blendpixel(vid, nx-1, ny-1, cr, cg, cb, 112); + blendpixel(vid, nx+1, ny+1, cr, cg, cb, 112); + blendpixel(vid, nx-1, ny+1, cr, cg, cb, 112); + for(newx = 0; gradv>0.5; newx++){ + addpixel(vid, nx+newx, ny, cr, cg, cb, gradv); + addpixel(vid, nx-newx, ny, cr, cg, cb, gradv); + + addpixel(vid, nx, ny+newx, cr, cg, cb, gradv); + addpixel(vid, nx, ny-newx, cr, cg, cb, gradv); + gradv = gradv/1.1f; + } + } + } + else if(parts[i].tmp==1){ + cr = PIXR(ptypes[t].pcolors); + cg = PIXG(ptypes[t].pcolors); + cb = PIXB(ptypes[t].pcolors); + if(cmode != CM_NOTHING && cmode != CM_CRACK){ + int newx = 0; + float gradv = 4*parts[i].life; + for(newx = 0; gradv>0.5; newx++){ + addpixel(vid, nx+newx, ny, cr, cg, cb, gradv); + addpixel(vid, nx-newx, ny, cr, cg, cb, gradv); + + addpixel(vid, nx, ny+newx, cr, cg, cb, gradv); + addpixel(vid, nx, ny-newx, cr, cg, cb, gradv); + gradv = gradv/1.5f; + } + } + } + else { + blendpixel(vid, nx, ny, 255, 255, 255, 255); + } + + } else if(t==PT_FIRE && parts[i].life) { float ttemp = (float)((int)(parts[i].life/2)); |
