All backends that derive from BaseBackend are consoles and/or portables
without any connection from graphics modes to scalers.
The default implementation of resetGraphicsScale() is now a noop, which
seems correct for all current backends.
This fixes unwanted mode changes since 93fdcbfa.
If highres games pass defaultTo1XScaler=true to initGraphics(),
use resetGraphicsScale() instead of hardcoding "1x" (which doesn't
exist on the OpenGL backend)
If an OpenGL mode is selected, it now doesn't switch back to plain
SDL now for those games.
This reverts commit c8551b80dd.
Turns out the flicking comes from an updateScreen() call in
android's clearScreen(). Besides, this broke GMM... a little
This is used when changing directories in the 'add game' dialog or when
choosing another tab in the option dialog. Only blit to the overlay on
the final pass. Gets rid of highly annoying flickers on androids
Instead of running into assert()s due to dumb parser decisions, use
'less than' and 'greater than' width/height conditions on the
'resolution' tags.
Seems better than listing >9000 different android resolutions.
This was probably set to ensure onCreateInputConnection() gets called,
but it is regardless of this flag. Now the soft keyboard doesn't show
up on startup on devices without physical keyboard, which prevents
unnecessary surface changes.
This fixes a segfault when trying to use the OpenGL backend with 16bpp games,
however this does not make Last Express nor Loom PC-Engine Japanese work for
me. They now fail with a "Pixel format not supported" error.
When doing glTexSubImage2D we do not need to assure that the source data has
the same width as the texture when we want to update the data, we just need
to assure that the width * Bpp cound matches the pitch.
If we do not do this, we might end up with a default alignment of 4, which will
fail (as in the graphics will be messed up) in case the screen resolution is
not divisible by 4.
Thanks to digitall for noticing this problem and finding out about
GL_UNPACK_ALIGNMENT.
This fixes messed up graphics, when SDL decides to add padding bytes to the
lines of an SDL_Surface. Formerly the code always calculated the pitch via
w*bpp, which of course does not work in all cases.
Sadly it seems the engines do not care whether their focus rect really fits
inside the game screen. To ease finding such instances (which might cause odd
clipping by the backend) I added a warning for them.