[Scummvm-tracker] [ScummVM :: Bugs] #15006: GRAPHICS: MACGUI: Screen can change between menu is activated and menu is drawn, causing glitches

ScummVM :: Bugs trac at scummvm.org
Mon Mar 4 15:10:24 UTC 2024


#15006: GRAPHICS: MACGUI: Screen can change between menu is activated and menu is
drawn, causing glitches
-------------------------+------------------------------
Reporter:  eriktorbjorn  |       Owner:  (none)
    Type:  defect        |      Status:  new
Priority:  normal        |   Component:  Video
 Version:                |  Resolution:
Keywords:                |        Game:  Indiana Jones 3
-------------------------+------------------------------
Description changed by eriktorbjorn:

Old description:

> I don't know which games this will affect, but I've managed to reproduce
> it reliably with the Macintosh version of Indiana Jones and the Last
> Crusade.
>
> When the menu is activated (by moving the mouse to the top of the
> screen), it will make a copy of the screen and flag the menu as visible.
> When the menu is closed, the screen is restored to that copy. But if the
> screen changes in the brief time between the menu is activated and it's
> first drawn, it will have saved an outdated version of the screen.
>
> Try this in Last Crusade:
>
> Walk from one room to another. There is a quick graphics transition.
> While the transition is running, quickly move the mouse to the top of the
> screen. If you time it right, you will have caused it to save the screen
> while it was still mostly black.
>
> When the menu closes again, your screen may look something like this:
>
> So instead of copying the screen right away, it should probably set a
> flag that the screen should be copied, and then do that right before the
> menu is actually drawn. But I'm a bit fuzzy on exactly how the Mac Window
> Manager class works.

New description:

 I don't know which games this will affect, but I've managed to reproduce
 it reliably with the Macintosh version of Indiana Jones and the Last
 Crusade.

 When the menu is activated (by moving the mouse to the top of the screen),
 it will make a copy of the screen and flag the menu as visible. When the
 menu is closed, the screen is restored to that copy. But if the screen
 changes in the brief time between the menu is activated and it's first
 drawn, it will have saved an outdated version of the screen.

 Try this in Last Crusade:

 Walk from one room to another. There is a quick graphics transition. While
 the transition is running, quickly move the mouse to the top of the
 screen. If you time it right, you will have caused it to save the screen
 while it was still mostly black.

 When the menu closes again, your screen may look something like this:

 [[Image(scummvm-indy3-ega-mac-00000.png)]]

 So instead of copying the screen right away, it should probably set a flag
 that the screen should be copied, and then do that right before the menu
 is actually drawn. But I'm a bit fuzzy on exactly how the Mac Window
 Manager class works.

--
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15006#comment:1>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list