diff options
| author | JoJoBond <jojobond@hotmail.com> | 2010-11-05 21:40:02 (GMT) |
|---|---|---|
| committer | JoJoBond <jojobond@hotmail.com> | 2010-11-05 21:40:02 (GMT) |
| commit | e2d4431b46230d9235001fde8ddcad8056f26594 (patch) | |
| tree | 596438870c4ccc85ce6f9f9fa6377ac3d677222c /src | |
| parent | 10de3242d803ce354fa8492cebaef345bcc0c00d (diff) | |
| download | powder-e2d4431b46230d9235001fde8ddcad8056f26594.zip powder-e2d4431b46230d9235001fde8ddcad8056f26594.tar.gz | |
fixed SWCH bug
Diffstat (limited to 'src')
| -rw-r--r-- | src/graphics.c | 3 | ||||
| -rw-r--r-- | src/powder.c | 15 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/graphics.c b/src/graphics.c index 83b1141..f259a89 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1568,7 +1568,8 @@ void draw_parts(pixel *vid) blendpixel(vid, nx-1, ny-1, cr, cg, cb, 32); } } - else if(t==PT_SWCH && parts[i].life == 10) + //Life can be 11 too, so don't just check for 10 + else if(t==PT_SWCH && parts[i].life >= 10) { x = nx; y = ny; diff --git a/src/powder.c b/src/powder.c index 9db1fbf..9176e42 100644 --- a/src/powder.c +++ b/src/powder.c @@ -2135,6 +2135,19 @@ void update_particles_i(pixel *vid, int start, int inc) } } } + //Check if there is a SWCH that is currently covered with SPRK + //If so check if the current SPRK is covering a NSCN + //If so turn the SPRK that covers the SWCH back into SWCH and turn it off + if(rt==PT_SPRK && parts[r>>8].ctype == PT_SWCH && t==PT_SPRK) + { + pavg = parts_avg(r>>8, i); + if(parts[i].ctype == PT_NSCN&&pavg != PT_INSL) + { + parts[r>>8].type = PT_SWCH; + parts[r>>8].ctype = PT_NONE; + parts[r>>8].life = 0; + } + } pavg = parts_avg(i, r>>8); if(rt==PT_SWCH && t==PT_SPRK) { @@ -2143,7 +2156,7 @@ void update_particles_i(pixel *vid, int start, int inc) parts[r>>8].life = 10; if(parts[i].ctype == PT_NSCN&&pavg != PT_INSL) parts[r>>8].life = 9; - if(!(parts[i].ctype == PT_PSCN||parts[i].ctype == PT_NSCN)&&parts[r>>8].life == 10&&pavg != PT_INSL) + if(!(parts[i].ctype == PT_PSCN||parts[i].ctype == PT_NSCN)&&parts[r>>8].life >= 10&&pavg != PT_INSL) //Life can be 11 too, so don't just check for 10 { parts[r>>8].type = PT_SPRK; parts[r>>8].ctype = PT_SWCH; |
