summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCracker64 <cracker642@gmail.com>2011-02-23 18:33:36 (GMT)
committer Cracker64 <cracker642@gmail.com>2011-02-23 18:33:36 (GMT)
commitcf80586ddc0e49e8bde1326af69d22016e9aede3 (patch)
tree400bfa1885fab16a24b1e4533b368dcf66f252be /src
parentbdcc6e3fbaf4af4604c711652646552c34144b11 (diff)
downloadpowder-cf80586ddc0e49e8bde1326af69d22016e9aede3.zip
powder-cf80586ddc0e49e8bde1326af69d22016e9aede3.tar.gz
Fix GoL to not set gol2 on other things
Diffstat (limited to 'src')
-rw-r--r--src/powder.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/powder.c b/src/powder.c
index 2cb8e24..6059640 100644
--- a/src/powder.c
+++ b/src/powder.c
@@ -1320,8 +1320,12 @@ void update_particles_i(pixel *vid, int start, int inc)
for ( nnx=-1; nnx<2; nnx++)
for ( nny=-1; nny<2; nny++)//it will count itself as its own neighbor, which is needed, but will have 1 extra for delete check
{
- gol2[((nx+nnx+XRES-3*CELL)%(XRES-2*CELL))+CELL][((ny+nny+YRES-3*CELL)%(YRES-2*CELL))+CELL][golnum] ++;
- gol2[((nx+nnx+XRES-3*CELL)%(XRES-2*CELL))+CELL][((ny+nny+YRES-3*CELL)%(YRES-2*CELL))+CELL][0] ++;
+ rt = pmap[((ny+nny+YRES-3*CELL)%(YRES-2*CELL))+CELL][((nx+nnx+XRES-3*CELL)%(XRES-2*CELL))+CELL];
+ if (!rt || ptypes[rt&0xFF].properties&PROP_LIFE)
+ {
+ gol2[((nx+nnx+XRES-3*CELL)%(XRES-2*CELL))+CELL][((ny+nny+YRES-3*CELL)%(YRES-2*CELL))+CELL][golnum] ++;
+ gol2[((nx+nnx+XRES-3*CELL)%(XRES-2*CELL))+CELL][((ny+nny+YRES-3*CELL)%(YRES-2*CELL))+CELL][0] ++;
+ }
}
} else {
parts[r>>8].tmp --;