LOOM: Distaff not properly erased (regression)
|Reported by:||eriktorbjorn||Owned by:||eriktorbjorn|
This bug has been listed on the ScummVM regressions
page for some time now, but I figured it'd be a good
idea to have it in the tracker as well since we're
As the subject line says, the distaff is not properly
erased. There's a screenshot of this at
Since it happens so early in the game, I haven't
bothered to provide a savegame.
I believe this bug was introduced when Fingolfin fixed
a graphics glitch with the MonkeyVGA scroll arrows by
removing a "right++;" from restoreBG(). But since it
calculates the width as right - left, that probably
makes it one pixel too narrow. Another thing that looks
suspicious in this function is that it checks if right
> _realWidth. Surely that should be _realWidth - 1?
The same reasoning also applies to the height
calculation and check. Note however that whenever I've
tried to "fix" this, I've ended up introducing new
Maybe we should justrevert the bugfix and work around
the problem like we do for Indy 3 and Zak256 in
CharsetRendererOld256::getCharWidth(). At least I
assume that FIXME code is for a similar bug.
Ticket imported from: #706178. Ticket imported from: bugs/720.