fix bug where Ctrl+X don't delete stacked particles
This commit is contained in:
parent
b4761e47dd
commit
12261e263d
@ -330,6 +330,12 @@ void Simulation::Restore(const Snapshot & snap)
|
|||||||
|
|
||||||
void Simulation::clear_area(int area_x, int area_y, int area_w, int area_h)
|
void Simulation::clear_area(int area_x, int area_y, int area_w, int area_h)
|
||||||
{
|
{
|
||||||
|
int i = 0;
|
||||||
|
for (i = 0; i <= parts_lastActiveIndex; i++) {
|
||||||
|
if (parts[i].type)
|
||||||
|
if (parts[i].x >= area_x && parts[i].x <= area_x + area_w && parts[i].y >= area_y && parts[i].y <= area_y + area_h)
|
||||||
|
kill_part(i);
|
||||||
|
}
|
||||||
int cx = 0;
|
int cx = 0;
|
||||||
int cy = 0;
|
int cy = 0;
|
||||||
for (cy=0; cy<=area_h; cy++)
|
for (cy=0; cy<=area_h; cy++)
|
||||||
@ -340,7 +346,6 @@ void Simulation::clear_area(int area_x, int area_y, int area_w, int area_h)
|
|||||||
gravWallChanged = true;
|
gravWallChanged = true;
|
||||||
bmap[(cy+area_y)/CELL][(cx+area_x)/CELL] = 0;
|
bmap[(cy+area_y)/CELL][(cx+area_x)/CELL] = 0;
|
||||||
emap[(cy+area_y)/CELL][(cx+area_x)/CELL] = 0;
|
emap[(cy+area_y)/CELL][(cx+area_x)/CELL] = 0;
|
||||||
delete_part(cx+area_x, cy+area_y);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for(int i = signs.size()-1; i >= 0; i--)
|
for(int i = signs.size()-1; i >= 0; i--)
|
||||||
|
Loading…
Reference in New Issue
Block a user