diff options
| author | Simon <simon@hardwired.org.uk> | 2010-12-06 19:51:49 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2010-12-06 19:51:49 (GMT) |
| commit | e629908945576935b794b6c6219451bef8dc2132 (patch) | |
| tree | 99667da2839aa6462ffb1ca7d331bd5d89bcb71e /src | |
| parent | ae828393ce38b4a15ed9f9b47d615eb5505d5f47 (diff) | |
| download | powder-e629908945576935b794b6c6219451bef8dc2132.zip powder-e629908945576935b794b6c6219451bef8dc2132.tar.gz | |
Potential Fix for PSCN an A-RAY
Diffstat (limited to 'src')
| -rw-r--r-- | src/powder.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/powder.c b/src/powder.c index 550e0da..275f923 100644 --- a/src/powder.c +++ b/src/powder.c @@ -1841,23 +1841,25 @@ void update_particles_i(pixel *vid, int start, int inc) parts[nr].tmp = 2; parts[nr].life = 2; } - } else if(parts[r>>8].type==PT_BRAY&&parts[r>>8].tmp==0&&!destroy){ - if(nyy!=0 || nxx!=0){ - parts[r>>8].type = PT_BRAY; - parts[r>>8].life = 1020; - parts[r>>8].tmp = 1; + } else if(!((r>>8)>=NPART || !r)) { + if(parts[r>>8].type==PT_BRAY&&parts[r>>8].tmp==0&&!destroy){ + if(nyy!=0 || nxx!=0){ + parts[r>>8].type = PT_BRAY; + parts[r>>8].life = 1020; + parts[r>>8].tmp = 1; + } + docontinue = 0; + } else if(parts[r>>8].type==PT_BRAY&&parts[r>>8].tmp==1){ + parts[r>>8].life = destroy?1:1020; + docontinue = 1; + } else if(!destroy) { + if(nyy!=0 || nxx!=0){ + create_part(-1, x+nxi+nxx, y+nyi+nyy, PT_SPRK); + } + docontinue = 0; + } else { + docontinue = 0; } - docontinue = 0; - } else if(parts[r>>8].type==PT_BRAY&&parts[r>>8].tmp==1){ - parts[r>>8].life = destroy?1:1020; - docontinue = 1; - } else if(!destroy) { - if(nyy!=0 || nxx!=0){ - create_part(-1, x+nxi+nxx, y+nyi+nyy, PT_SPRK); - } - docontinue = 0; - } else { - docontinue = 0; } } } |
