summaryrefslogtreecommitdiff
path: root/src/powder.c
diff options
context:
space:
mode:
authorSimon <simon@hardwired.org.uk>2011-03-22 17:14:45 (GMT)
committer Simon <simon@hardwired.org.uk>2011-03-22 17:14:45 (GMT)
commit7d56b3358969164deccb7cc837aa5dd3b59ea4f3 (patch)
tree691ff0591ba547f99269850ac19815483f6b2cdc /src/powder.c
parentcf4572ec5fa53b0744af989f835de05023928c8d (diff)
parentca1cd0da065a1774dbeeba161139f580ab7f711a (diff)
downloadpowder-7d56b3358969164deccb7cc837aa5dd3b59ea4f3.zip
powder-7d56b3358969164deccb7cc837aa5dd3b59ea4f3.tar.gz
Fix some WIND bugs
Diffstat (limited to 'src/powder.c')
-rw-r--r--src/powder.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/powder.c b/src/powder.c
index 523b990..af59585 100644
--- a/src/powder.c
+++ b/src/powder.c
@@ -1122,7 +1122,7 @@ int nearest_part(int ci, int t)
void update_particles_i(pixel *vid, int start, int inc)
{
- int i, j, x, y, t, nx, ny, r, surround_space, s, lt, rt, nt, nnx, nny, q, golnum, goldelete, z, neighbors;
+ int i, j, x, y, t, nx, ny, r, surround_space, s, lt, rt, nt, nnx, nny, q, golnum, goldelete, z, neighbors, createdsomething;
float mv, dx, dy, ix, iy, lx, ly, nrx, nry, dp, ctemph, ctempl;
int fin_x, fin_y, clear_x, clear_y;
float fin_xf, fin_yf, clear_xf, clear_yf;
@@ -1329,14 +1329,14 @@ void update_particles_i(pixel *vid, int start, int inc)
if(neighbors==0 || !(ptypes[r&0xFF].properties&PROP_LIFE || !(r&0xFF)) || (r>>8)>=NPART)
continue;
for ( golnum = 1; golnum<=NGOL; golnum++)
- for ( goldelete = 0; goldelete<9; goldelete++)
{
- if (neighbors==goldelete&&gol[nx][ny]==0&&grule[golnum][goldelete]>=2&&gol2[nx][ny][golnum]>=(goldelete%2)+goldelete/2)
+ goldelete = neighbors;
+ if (gol[nx][ny]==0&&grule[golnum][goldelete]>=2&&gol2[nx][ny][golnum]>=(goldelete%2)+goldelete/2)
{
if (create_part(-1,nx,ny,goltype[golnum-1]))
createdsomething = 1;
}
- else if (neighbors-1==goldelete&&gol[nx][ny]==golnum&&(grule[golnum][goldelete]==0||grule[golnum][goldelete]==2))//subtract 1 because it counted itself
+ else if (gol[nx][ny]==golnum&&(grule[golnum][goldelete-1]==0||grule[golnum][goldelete-1]==2))//subtract 1 because it counted itself
{
if(parts[r>>8].tmp==grule[golnum][9]-1)
parts[r>>8].tmp --;