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 been fixed.
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 behaviour with.
Ticket imported from: #624477. Ticket imported from: patches/200.