diff options
| author | Simon <simon@hardwired.org.uk> | 2011-01-08 17:40:30 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2011-01-08 17:40:30 (GMT) |
| commit | cd08a7102cf29180ac38969aa71fe9a7c4d67168 (patch) | |
| tree | f0497be0c5aac71df20fc0c180c039a76138a734 /src | |
| parent | b83b2f1d270662ab28e4ea65d63f023f922bcc8f (diff) | |
| parent | 52573e94f9dcde2cc2a43061b5bcb77c724bb3c5 (diff) | |
| download | powder-cd08a7102cf29180ac38969aa71fe9a7c4d67168.zip powder-cd08a7102cf29180ac38969aa71fe9a7c4d67168.tar.gz | |
Changes from cracker
Diffstat (limited to 'src')
| -rw-r--r-- | src/powder.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/powder.c b/src/powder.c index 196f76d..26edb0c 100644 --- a/src/powder.c +++ b/src/powder.c @@ -2147,7 +2147,7 @@ void update_particles_i(pixel *vid, int start, int inc) } else if(parts[r>>8].type==PT_FILT){ colored = parts[r>>8].ctype; - }else if(parts[r>>8].type!=PT_INWR && parts[r>>8].type!=PT_ARAY && parts[r>>8].type!=PT_WIFI) { + }else if(parts[r>>8].type!=PT_INWR && parts[r>>8].type!=PT_ARAY && parts[r>>8].type!=PT_WIFI && !(parts[r>>8].type==PT_SWCH && parts[r>>8].life>=10)) { if(nyy!=0 || nxx!=0){ create_part(-1, x+nxi+nxx, y+nyi+nyy, PT_SPRK); } @@ -2161,7 +2161,7 @@ void update_particles_i(pixel *vid, int start, int inc) if(parts[r>>8].type==PT_BRAY){ parts[r>>8].life = 1; docontinue = 1; - } else if(parts[r>>8].type==PT_INWR || parts[r>>8].type==PT_ARAY || parts[r>>8].type==PT_WIFI) { + } else if(parts[r>>8].type==PT_INWR || parts[r>>8].type==PT_ARAY || parts[r>>8].type==PT_WIFI || parts[r>>8].type==PT_FILT || (parts[r>>8].type==PT_SWCH && parts[r>>8].life>=10)) { docontinue = 1; } else { docontinue = 0; @@ -3830,6 +3830,7 @@ void update_particles_i(pixel *vid, int start, int inc) if((r>>8)>=NPART || !r) continue; rt = parts[r>>8].type; + if(parts[r>>8].type == PT_SWCH&&parts_avg(i,r>>8,PT_INSL)!=PT_INSL) { if(parts[i].life==10&&parts[r>>8].life<10&&parts[r>>8].life>0) @@ -3847,6 +3848,14 @@ void update_particles_i(pixel *vid, int start, int inc) parts[r>>8].life = 9; } } + if(parts[i].life==10 && (!(pmap[y-1][x-1]&0xFF) && ((pmap[y-1][x]&0xFF)==PT_BRAY&&parts[pmap[y-1][x]>>8].tmp==2) && !(pmap[y-1][x+1]&0xFF) && ((pmap[y][x+1]&0xFF)==PT_BRAY&&parts[pmap[y][x+1]>>8].tmp==2))) + { + parts[i].life = 9; + } + else if(parts[i].life<=5 && (!(pmap[y-1][x-1]&0xFF) && (((pmap[y-1][x]&0xFF)==PT_BRAY&&parts[pmap[y-1][x]>>8].tmp==2) || ((pmap[y+1][x]&0xFF)==PT_BRAY&&parts[pmap[y+1][x]>>8].tmp==2)) && !(pmap[y-1][x+1]&0xFF) && (((pmap[y][x+1]&0xFF)==PT_BRAY&&parts[pmap[y][x+1]>>8].tmp==2) || ((pmap[y][x-1]&0xFF)==PT_BRAY&&parts[pmap[y][x-1]>>8].tmp==2)))) + { + parts[i].life = 14; + } } if(t==PT_SWCH) if((parts[i].life>0&&parts[i].life<10)|| parts[i].life > 10) |
