[Scummvm-tracker] [ScummVM :: Bugs] #11076: BACKENDS: Aspect ratio correction doesn't work with SDL1 or SDL2 modes in Dreamweb
ScummVM :: Bugs
trac at scummvm.org
Tue Aug 13 22:13:05 CEST 2019
#11076: BACKENDS: Aspect ratio correction doesn't work with SDL1 or SDL2 modes in
Dreamweb
-----------------------+-----------------------------------
Reporter: rsn8887 | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Graphics
Resolution: | Keywords: aspect correction SDL
Game: Dreamweb |
-----------------------+-----------------------------------
Comment (by criezy):
That is an interesting one. I can indeed confirm that with the SDL
graphics modes when the aspect ratio is on in the Launcher, it is turned
off when starting Dreamweb. And indeed with the OpenGL graphics mode this
does not happen (as expected the aspect ratio correction remains on).
This is related to the game using mostly 320x200 resolution, but having a
few places where it uses a resolution of 640x480 (one of which being the
bible quote in the intro). The `SurfaceSdlGraphicsManager` resets its
aspect ratio flag to false when it is set to a resolution that should not
be corrected, such as when it gets to the bible quote screen in the intro.
Then when it switches back to 320x200, it is not turned back on.
Whenever an engine calls `initGraphics()`, for example when it starts, and
whenever it switches resolution, it calls `initCommonGFX()` that resets
the graphics settings from the config. But that function assumes that the
global settings are already set (which they are when we start the game)
and only sets the options specific to the engine (if you overwrote graphic
options in the game settings).
That means that there is actually a couple of ways where the game will
start with aspect ratio correction on:
- If you edit the settings from Dreamweb and override the graphics
setting to use aspect ratio.
- If you load an existing game (as the intro is not played).
We might be able to work around the issue by changing initCommonGFX to not
just look at the game domain in the config manager. But in my opinion the
root cause is an issue with the way the `SurfaceSdlGraphicsManager`
manages its aspect ratio flag, and the better solution would be to fix
that. I will try to take a look this weekend, but if anybody else wants to
take a stab at this, you are more than welcome.
Note 1: You can also change the aspect ratio back using Ctrl+Alt+a after
starting the game.
Note 2: In theory we should actually not apply the aspect ratio correction
to this game as it was designed with square pixels in mind (see the circle
in the intro and the fan in Eden's room at the start o the game). So I am
almost tempted to write that this bug is actually a feature :-P
--
Ticket URL: <https://bugs.scummvm.org/ticket/11076#comment:2>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list