summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPhilip <philip@philip-linuxlaptop.(none)>2010-11-10 21:33:44 (GMT)
committer Philip <philip@philip-linuxlaptop.(none)>2010-11-10 21:33:44 (GMT)
commite47c60c07a942aad222f49ac895931807c77f7cc (patch)
tree5d803917ad620c7b6568dc1b50a14285c87e5b9b /src
parentbd8a9f49313839cee94513f6c3059fdbdf824dda (diff)
downloadpowder-e47c60c07a942aad222f49ac895931807c77f7cc.zip
powder-e47c60c07a942aad222f49ac895931807c77f7cc.tar.gz
CRAC has real diffusion and gets darker with more water. you can see the water moving around.
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 --;
}
}
}