summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.c1
-rw-r--r--src/powder.c11
2 files changed, 9 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c
index 8926716..36efa88 100644
--- a/src/main.c
+++ b/src/main.c
@@ -104,6 +104,7 @@ int FPSB = 0;
int MSIGN =-1;
int NGOL = 0;
int CGOL = 0;
+int GSPEED = 1;
sign signs[MAXSIGNS];
diff --git a/src/powder.c b/src/powder.c
index 911dbf9..b4aeebb 100644
--- a/src/powder.c
+++ b/src/powder.c
@@ -824,7 +824,7 @@ void update_particles_i(pixel *vid, int start, int inc)
int starti = (start*-1);
if(sys_pause&&!framerender)
return;
- if(CGOL>=8)
+ if(CGOL>=GSPEED)
{
CGOL = 0;
create_part(-1,0,0,PT_GOL);
@@ -862,7 +862,7 @@ void update_particles_i(pixel *vid, int start, int inc)
for(nx=0;nx<XRES;nx++)
for(ny=0;ny<YRES;ny++){
r = pmap[ny][nx];
- if(gol[nx][ny]>=5){
+ if(gol[nx][ny]>=5&&(parts[r>>8].type==PT_NONE||parts[r>>8].type==PT_GOL)){
parts[r>>8].type=PT_NONE;
}
else if(gol[nx][ny]==3){
@@ -871,7 +871,7 @@ void update_particles_i(pixel *vid, int start, int inc)
else if(gol[nx][ny]==2&&parts[r>>8].type==PT_GOL){
parts[r>>8].type=PT_NONE;
}
- else if(gol[nx][ny]==1){
+ else if(gol[nx][ny]==1&&(parts[r>>8].type==PT_NONE||parts[r>>8].type==PT_GOL)){
parts[r>>8].type=PT_NONE;
}
gol[nx][ny]=0;
@@ -1843,6 +1843,11 @@ void update_particles_i(pixel *vid, int start, int inc)
else if(t==PT_MORT) {
create_part(-1, x, y-1, PT_SMKE);
}
+ else if(t==PT_GOL)
+ {
+ if(parts[i].temp>0)
+ parts[i].temp -= 50.0f;
+ }
else if(t==PT_LCRY)
{
for(nx=-1; nx<2; nx++)