summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/graphics.c14
-rw-r--r--src/powder.c16
2 files changed, 22 insertions, 8 deletions
diff --git a/src/graphics.c b/src/graphics.c
index 9ac815b..2eb1c7a 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -1349,6 +1349,20 @@ void draw_parts(pixel *vid)
}
}
+ else if(t==PT_CRAC)
+ {
+ cr = PIXR(ptypes[t].pcolors) - parts[i].life*15;
+ cg = PIXG(ptypes[t].pcolors) - parts[i].life*15;
+ cb = PIXB(ptypes[t].pcolors) - parts[i].life*15;
+ if(cr<=50)
+ cr = 50;
+ if(cg<=50)
+ cg = 50;
+ if(cb<=20)
+ cb = 20;
+ blendpixel(vid, nx, ny, cr, cg, cb, 255);
+
+ }
else if(t==PT_ACID)
{
if(parts[i].life>255) parts[i].life = 255;
diff --git a/src/powder.c b/src/powder.c
index 9a166ca..bb891c4 100644
--- a/src/powder.c
+++ b/src/powder.c
@@ -1892,7 +1892,7 @@ void update_particles_i(pixel *vid, int start, int inc)
r = pmap[y+ny][x+nx];
if(parts[r>>8].type==PT_WATR&&5>=rand()%100)
{
- parts[i].tmp++;
+ parts[i].life++;
parts[r>>8].type=PT_NONE;
}
}
@@ -1904,22 +1904,22 @@ void update_particles_i(pixel *vid, int start, int inc)
x+nx<XRES && y+ny<YRES && (nx || ny))
{
r = pmap[y+ny][x+nx];
- if(((r>>8)>=NPART || !r )&&parts[i].tmp>=1)//if nothing then create water
+ if(((r>>8)>=NPART || !r )&&parts[i].life>=1)//if nothing then create water
{
create_part(-1,x+nx,y+ny,PT_WATR);
- parts[i].tmp --;
+ parts[i].life --;
}
}
- for(nx=-1; nx<2; nx++)
- for(ny=-1; ny<2; ny++)
+ nx = rand()%5-2;
+ ny = rand()%5-2;
if(x+nx>=0 && y+ny>0 &&
x+nx<XRES && y+ny<YRES && (nx || ny))
{
r = pmap[y+ny][x+nx];
- if(parts[r>>8].type==t&&(parts[i].tmp>parts[r>>8].tmp)&&5>=rand()%50&&parts[i].tmp>0)//diffusion
+ if(parts[r>>8].type==t&&(parts[i].life>parts[r>>8].life)&&parts[i].life>0)//diffusion
{
- parts[r>>8].tmp ++;
- parts[i].tmp --;
+ parts[r>>8].life ++;
+ parts[i].life --;
}
}
}