Opened 15 years ago

Closed 15 years ago

#3203 closed defect (fixed)

FREDDI1: Tiny graphics glitch when reading message

Reported by: eriktorbjorn Owned by: Kirben
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Freddi Fish 1


Latest ScummVM snapshot Swedish Freddi Fish 1

When Freddi and Luther read the message in a bottle, there's a tiny graphics glitch at the moment where Luther says he's going to be rich. See screenshot at

The glitch is the black pixels left in Freddi's eyes, and possibly at the right side of her mouth as well. Since this happens at the very beginning of the game, I'm not attaching a savegame.

This is probably the relevant part of script-45 (I had to use the undocumented -9 option to descumm it):

[086E] (5D) if (localvar0) { [0874] (C9) kernelSetFunctions.queueAuxBlock([VAR_EGO]) [087C] (C9) kernelSetFunctions.queueAuxBlock([localvar2]) [0884] (61) drawObject.setState(952,1) [088B] (9D) actorOps.setCurActor(VAR_EGO) [0890] (9D) actorOps.setAnimVar(0,0) [0896] (9D) actorOps.setCurActor(VAR_EGO) [089B] (9D) actorOps.setTalkPos(-220,50) [08A2] (9D) actorOps.setTalkColor(216) [08A6] (9D) actorOps.setTalkieSlot(1,"@T4618797,26778@I'm going to be rich when I find that treasure!") [08EE] (82) animateActor(VAR_EGO,9) [08F4] (82) animateActor(localvar2,7) [08FA] (82) animateActor(localvar3,10) [0900] (5C) until (getAnimateVariable(VAR_EGO,0)) { [0909] (6C) breakHere() [090A] (**) } [090D] (**) }

Which leads me to think that maybe there's an off-by-one error when ScummEngine_v71he::preProcessAuxQueue() restores the background. If I add 1 to the right and bottom of the rectangle, the glitch goes away. Of course, I'm not saying that this is necessarily the right way of fixing it.

Ticket imported from: #1726115. Ticket imported from: bugs/3203.

Change History (2)

comment:1 by eriktorbjorn, 15 years ago

Component: Engine: SCUMM
Game: Freddi Fish 1

comment:2 by Kirben, 15 years ago

Owner: set to Kirben
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.