Opened 6 months ago

Last modified 6 months ago

#13767 new defect

GRAPHICS: OpenGL screenshots not capturing latest frame if no input

Reported by: lwcorp Owned by:
Priority: normal Component: Graphics
Version: Keywords: screenshots, opengl
Cc: Game: Quest for Glory 1

Description (last modified by lwcorp)

Other than conversation screens (when a character's face is zoomed in), this game has various dialogs like:
1) When you click on something.
2) When you look at something.
3) When you talk to someone that doesn't trigger a zoomed in face (e.g. Crusher and the fencer at the Thieves' Guild when you try to give them objects).

Any of these (except conversations) aren't saved in screenshots. This is unlike QFG3 and QFG4. So if you, for example, look at something and click alt+s, the screenshot won't contain the description of what you looked at.

Change History (6)

comment:1 by lwcorp, 6 months ago

Summary: SCI: QFG1VGA - screenshots ignore any dialoge that doesn't involve zoomed in conversationsSCI: QFG1VGA - screenshots ignore any dialog that doesn't involve zoomed in conversations

comment:2 by lwcorp, 6 months ago

Description: modified (diff)

comment:3 by sluicebox, 6 months ago

Summary: SCI: QFG1VGA - screenshots ignore any dialog that doesn't involve zoomed in conversationsSCI: QFG1VGA - Screenshots exclude message boxes in OpenGL mode

Confirmed that this occurs when Graphics Mode is OpenGL on Windows with latest code from master. Does not occur if Graphics Mode is SDL Surface (otherwise I would have noticed right away!)

Last edited 6 months ago by sluicebox (previous) (diff)

in reply to:  3 comment:4 by lwcorp, 6 months ago

Replying to sluicebox:

Confirmed that this occurs when Graphics Mode is OpenGL on Windows with latest code from master. Does not occur if Graphics Mode is SDL Surface (otherwise I would have noticed right away!)

What you're saying is interesting because a similar and far worse situation exist in the AGS QFG2 (#13348), and it too is related to Windows OpenGL!

comment:5 by sluicebox, 6 months ago

Component: Engine: SCIGraphics
Summary: SCI: QFG1VGA - Screenshots exclude message boxes in OpenGL modeGRAPHICS: OpenGL screenshots not capturing latest frame if no input

This occurs in multiple engines so it appears to be an OpenGL backend issue. If the screenshot hotkey is pressed after a modal message box appears but before the mouse is moved or another key is pressed, then glad_glReadPixels() returns the image before the message box was displayed.

To reproduce in an SCI game or AGI game:

  • Set graphics mode to OpenGL
  • During game, click or press a key that brings up a simple modal message box (as opposed to one with an animated portrait)
  • Don't move the mouse or press another key
  • Press ALT+S to take a screenshot

I've reproduced this in Black Cauldron (AGI), KQ4, KQ6, LB1. Occurs on at least Windows and Mac.

In KQ4, typing "look", pressing enter, and then taking a screenshot gets the input box with the word "look" instead of the message box with the response that replaced it, so a stale frame.

I don't know OpenGL and this isn't SCI specific so I'm renaming and changing component so that the right people see it.

comment:6 by lwcorp, 6 months ago

Keywords: screenshots opengl added
Note: See TracTickets for help on using tickets.