LOOM: Fix for bug #609716
|Reported by:||eriktorbjorn||Owned by:||SF/ender|
This fixes bug #609716 ("LOOMCD: Glitch when healing
Rusty") for me. Actually, I can only reproduce half of
the bug, so I'm assuming the other half has already
The problem with Rusty being partially obscured when
he's been healed comes from him being moved around with
ignoreBoxes != 0, which puts him in walkbox 0, which
has the wrong mask for this case. Rusty should be
walking in front of the tombstone, not behind it.
What this patch does is to change the masking behaviour
so that if the actor claims to be in walkbox 0 we check
to see which walkbox it really is in (which may still
be walkbox 0), and use the mask for that one instead.
Or, if it's not inside any walkbox at the moment, don't
mask at all. (This should only affect normal masking,
not charset masking, though with Loom it's hard to tell.)
At first I thought it'd be enough to just check if
ignoreBoxes was set, but checking if walkbox is 0 also
keeps Bobbin's feet from being obscured when Rusty's
ghost shows him what's happened to The Forge.
The bug report has a convenient savegame to test the
Ticket imported from: #624477. Ticket imported from: patches/200.