
So how exactly is it done?
Moderator: ScummVM Team
Thanks, but I can't read that. Can you tell me which order the stretching occurs?digitall wrote: ↑Tue Dec 11, 2018 9:48 pm Best to read the code...
https://github.com/scummvm/scummvm/blob ... aspect.cpp
https://github.com/scummvm/scummvm/blob ... aphics.cpp
Thanks, that's very helpful! So, how do the mouse interactions such as clicks or hover highlights work after it's been scaled? If this is a post-processing stretch, how are the cursor interaction positions accounted for after the scaling?criezy wrote: ↑Wed Dec 12, 2018 8:19 am Those two files will only give a partial answer (which I already gave here). This actually depends on the graphics mode and stretch mode selected in the options.
If you select the OpenGL graphics mode, then all the scaling and stretching, including the aspect ratio correction, is done in one pass (to go from original game size to final display size).
If you select any other graphics mode though, then it is done in three steps:
- First apply the graphics mode scaling (2x or 3x, unless the graphics mode is Normal).
- Then apply the aspect ratio correction stretch.
- And finally apply the stretch mode to fill the screen (if the stretch mode is Center there is no scaling or stretching in this step as it will only add black bars to fill the space, but otherwise there might be one).