fixed SWCH bug

This commit is contained in:
JoJoBond 2010-11-05 22:40:02 +01:00
parent 10de3242d8
commit e2d4431b46
2 changed files with 16 additions and 2 deletions

View File

@ -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;

View File

@ -2134,6 +2134,19 @@ void update_particles_i(pixel *vid, int start, int inc)
goto killed;
}
}
}
//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;