summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon <simon@hardwired.org.uk>2011-01-05 17:42:39 (GMT)
committer Simon <simon@hardwired.org.uk>2011-01-05 17:42:39 (GMT)
commit5d7c0194f18d0fce25b0703b80829b0d0a719a96 (patch)
tree85cb64301a357a576bf90213fdc316beea4f1753 /src
parent0eb4089b086ad4b50f43b8b129bc80d08f258bd0 (diff)
downloadpowder-5d7c0194f18d0fce25b0703b80829b0d0a719a96.zip
powder-5d7c0194f18d0fce25b0703b80829b0d0a719a96.tar.gz
INST enabled. INST modifier for ARAY - makes it not stop
Diffstat (limited to 'src')
-rw-r--r--src/powder.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/powder.c b/src/powder.c
index a515177..cbb2ab2 100644
--- a/src/powder.c
+++ b/src/powder.c
@@ -2097,6 +2097,7 @@ void update_particles_i(pixel *vid, int start, int inc)
continue;
if((r&0xFF)==PT_SPRK){
int destroy = (parts[r>>8].ctype==PT_PSCN)?1:0;
+ int nostop = (parts[r>>8].ctype==PT_INST)?1:0;
for (docontinue = 1, nxx = 0, nyy = 0, nxi = nx*-1, nyi = ny*-1; docontinue; nyy+=nyi, nxx+=nxi) {
if(!(x+nxi+nxx<XRES && y+nyi+nyy<YRES && x+nxi+nxx >= 0 && y+nyi+nyy >= 0)){
break;
@@ -2132,7 +2133,11 @@ void update_particles_i(pixel *vid, int start, int inc)
if(nyy!=0 || nxx!=0){
create_part(-1, x+nxi+nxx, y+nyi+nyy, PT_SPRK);
}
- docontinue = 0;
+ if(!(nostop && (ptypes[parts[r>>8].ctype].properties&PROP_CONDUCTS))){
+ docontinue = 0;
+ } else {
+ docontinue = 1;
+ }
}
} else if(destroy) {
if(parts[r>>8].type==PT_BRAY){