Opened 9 days ago

Closed 7 days ago

Last modified 7 days ago

#17042 closed defect (invalid)

STARK: Center stretch mode is ineffective

Reported by: antoniou79 Owned by: lephilousophe
Priority: normal Component: Engine: Stark
Version: Keywords: also affects Myst3
Cc: Game: The Longest Journey

Description

Tested on Windows 10 x64 with ScummVM 2026.3.0 and recent dev build 2023.3.1git.

My guess is that this is pertinent to our 3d engines. The bug is reported for The Longest Journey, but also affects Myst 3. It does not affect Grim Fandango.

From the Game Options for the game, set "Override global graphic options", then set Strech mode to "center". Also, if it's not the default, set scaling to Normal 1x.

Start the game and maximize the window (or enter full screen). The game screen is stretched to fit the window, and scaled beyond the original game's resolution.

Note, this bug comes from my understanding that at least the Center stretch mode, preserves the original game resolution (eg 640x480), puts the game image in the center of the screen surrounded if needed by black space. This is the behavior exhibited by Grim Fandango.

Change History (2)

comment:1 by antoniou79, 7 days ago

Owner: set to lephilousophe
Resolution: invalid
Status: newclosed

As it was explained on Discord, this is actually the expected behavior for those 3d engines that support arbitrary screen resolutions (Stark and Myst3 engines are in that list). There is no stretching done by the backend in this case. The engine renders its image on the whole screen (or within the window dimensions) as the original game would do.

lephilousophe provided the explanation here (development channel on Discord):
https://discord.com/channels/581224060529148060/711242520415174666/1534208470570762320

Closing this as invalid.

comment:2 by lephilousophe, 7 days ago

For future reference:

There are several cases:

  • 2D games: they init the graphics size at some key points (usually init), and the backend stretches it or not on your screen. Using "center" in this case should avoid any stretching.
  • 3D games rendered with TinyGL: it's the same as 2D games. The size is set and the rendering happens using it.
  • 3D games using a fixed screen size (eg. Alcachofa, Grim, HPL1, Tetraedge, TWP, Watchmaker, Wintermute3D) : the game renders on a fixed size surface as well and it is stretched according to the setting, so using "center" here also makes it look like without stretching.
  • 3D games using arbitrary screen resolutions (eg. Colony, Freescape, Myst3D, Playground3D, Stark): the game renders by itself on the whole screen as it was planned on the original engine and there is no stretching at all done by the backend. If the engine supports mipmapped textures, it should be handled as expected for stretching.
Note: See TracTickets for help on using tickets.