Merge 'refs/pull/517/head' into master

This commit is contained in:
Kp 2020-07-02 03:07:17 +00:00
commit 1ce5054fc0

View file

@ -1380,25 +1380,31 @@ unsigned do_exploding_wall_frame(wall &w1)
auto &Walls = LevelUniqueWallSubsystemState.Walls;
auto &vmwallptr = Walls.vmptr;
auto &w2 = *vmwallptr(csegp->shared_segment::sides[cside].wall_num);
assert(&w1 != &w2);
assert((w1.flags & WALL_EXPLODING) || (w2.flags & WALL_EXPLODING));
w1.flags |= WALL_BLASTED;
w2.flags |= WALL_BLASTED;
if (w1_explode_time_elapsed >= EXPL_WALL_TIME)
auto cwall_num = csegp->shared_segment::sides[cside].wall_num;
if (cwall_num != wall_none)
{
if (w1.flags & WALL_EXPLODING)
{
w1.flags &= ~WALL_EXPLODING;
++ walls_updated;
}
if (w2.flags & WALL_EXPLODING)
auto &w2 = *vmwallptr(cwall_num);
assert(&w1 != &w2);
w2.flags |= WALL_BLASTED;
assert((w1.flags & WALL_EXPLODING) || (w2.flags & WALL_EXPLODING));
if (w1_explode_time_elapsed >= EXPL_WALL_TIME && w2.flags & WALL_EXPLODING)
{
w2.flags &= ~WALL_EXPLODING;
++ walls_updated;
}
Num_exploding_walls -= walls_updated;
}
else
assert(w1.flags & WALL_EXPLODING);
w1.flags |= WALL_BLASTED;
if (w1_explode_time_elapsed >= EXPL_WALL_TIME && w1.flags & WALL_EXPLODING)
{
w1.flags &= ~WALL_EXPLODING;
++ walls_updated;
}
Num_exploding_walls -= walls_updated;
}
const fix newfrac = fixdiv(w1_explode_time_elapsed, EXPL_WALL_TIME);