Opened 12 years ago

Closed 9 years ago

Last modified 9 years ago

#3704 closed defect (fixed)

AGI: Fan(Kings Quest 2 1/4) - Sprite not erased

Reported by: raziel- Owned by: sev-
Priority: normal Component: Engine: AGI
Keywords: Cc:
Game: AGI Fanmade

Description

ScummVM 0.12.0svn (Apr 18 2008 07:29:15)
Features compiled in: Vorbis FLAC MP3 zLib MPEG2

After the death through falling from the "path" the
"dead" sprite is drawn over the last instance of the
"falling sprite as shown in the screenshot.

Might be happening in the original aswell, can't test
because neither AGIv2 nor the provided exe will run
(the game) under DOSBox for me

AGI Fangame (Kings Quest 2 - Breast Intentions (v2.0)/DOS/English)

AmigaOS4
gcc version 4.0.2 (AmigaOS build 20051012)

Ticket imported from: #1945716. Ticket imported from: bugs/3704.

Attachments (2)

AGI_KQ2_Breast_Double_Sprite.png (30.5 KB ) - added by raziel- 12 years ago.
hmm
agi-fanmade-10.001 (1.0 KB ) - added by raziel- 12 years ago.
Just walk "up"

Download all attachments as: .zip

Change History (6)

by raziel-, 12 years ago

hmm

by raziel-, 12 years ago

Attachment: agi-fanmade-10.001 added

Just walk "up"

comment:1 by raziel-, 12 years ago

File Added: agi-fanmade-10.001

comment:2 by bluegr, 12 years ago

This is the exact same problem with the one in bug "#1658643: AGI: SQ1 (2.2 DOS ENG) Graphic error, ego leaves behind copy", which has been corrected for that bug in AgiEngine::setView().

The problem here is that there is already a view in the same view slot as the one specified in setView(), which is still drawn. I believe that the original did full screen updates in such cases, so it the bug is not shown, as the new frame including the new view completely overwrites the old one (though I could be wrong about this).

My solution to fix this situation was to check if there is a sprite in the specified view array index which is drawn on screen. If this is true, then the sprite is erased and the new one is then drawn normally. Unfortunately, this approach caused the new sprite to disappear when a text box was shown on screen, as described in bug "#1715284: Roger sometimes disappears", therefore it is currently only applied to the situation described in bug #1658643. We should check how other AGI interpreters handle this case (e.g. NAGI) or check how the original does it, as the approach I took for the other bug is not based on dissassembly, so applying the same workaround for this bug means that it will likely pop up again in the future

comment:3 by sev-, 9 years ago

Fixed in svn by adding a workaround. Actually the reason is independent. It was caused by limitation of our rendering system which differs from original.

comment:4 by sev-, 9 years ago

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