This commit is contained in:
Simon Robertshaw 2011-05-14 13:02:36 +01:00
parent 3196690b03
commit 550d270af2

View File

@ -1472,10 +1472,13 @@ void update_particles_i(pixel *vid, int start, int inc)
if (nx||ny) { if (nx||ny) {
surround[j] = r = pmap[y+ny][x+nx]; surround[j] = r = pmap[y+ny][x+nx];
j++; j++;
if (!(r&0xFF)) if (!bmap[(y+ny)/CELL][(x+nx)/CELL] || bmap[(y+ny)/CELL][(x+nx)/CELL]==WL_STREAM)
surround_space = 1;//there is empty space {
if ((r&0xFF)!=t) if (!(r&0xFF))
nt = 1;//there is nothing or a different particle surround_space = 1;//there is empty space
if ((r&0xFF)!=t)
nt = 1;//there is nothing or a different particle
}
} }
} }
@ -1980,7 +1983,9 @@ killed:
goto movedone; goto movedone;
} }
} }
if (ptypes[t].falldown>1 && (parts[i].vy>fabsf(parts[i].vx) || gravityMode==2)) else s = 0;
// s==0 means particle has not yet moved, allow liquids code to run
if (s==0 && ptypes[t].falldown>1 && (parts[i].vy>fabs(parts[i].vx) || gravityMode==2))
{ {
// TODO: rewrite to operate better with radial gravity // TODO: rewrite to operate better with radial gravity
s = 0; s = 0;