Some toolchains (RiscOS) may not export it in certain conditions.
This list does not enforce the symbol to be here so it shouldn't fail
build on platforms without this symbol.
The SdlWindow::createOrUpdateWindow makes sure the created window
is not bigger than the desktop. When not in fullscreen, the window
borders are also considered, but on macOS a maximimized window is
borderless, so this resulted in maximized window being restored
smaller than they should have (and no longer maximized).
The SDL backend was getting that path at the start and storing
it in a class member so that it would persist for the session.
But now that we have a kSessionDomain in ConfMan, it is cleaner
to use that (and this will also work for non-SDL backends).
There's still code for macOS 10.4 in the codebase, but everything before
that has probably been KO for years. And no C++11 toolchain exists for
macOS < 10.4 either.
We use functions from GL_ARB_framebuffer_object extension and not from
GL_EXT_framebuffer_object where functions are suffixed by EXT.
This avoids crashes on implementations supporting only the EXT version.
As done in the PSP2, Android and Switch ports.
Fix inconsistent reported state for the Aspect Ratio setting on PS3
(similar to Trac#11743 for Android).
That function allows more readable code, without needing to test if the
returned value is greater than 32.
Supported platforms are:
Windows 95: Supported.
Windows 98: Supported.
Windows NT: Required Windows NT 4.0 or later.
Windows 2000 and newer: Supported.
Windows CE: Requires Windows CE 1.0 or later.
This fix comes from my port of SCUMMVM for Windows CE/Embedded/Mobile since
this family of OSs support ShellExecuteEx(), but not ShellExecute().
Currently, the text-to-speech manager will try to update the voices whenever TextToSpeechManager::pushState()/popState() is called. This causes lags of 4 - 5 seconds on Windows. Also, a warning is triggered each time. This commit prevents that from happening if the tts option is not enabled.
This commit currently affects only Windows. Other backends don't make use of the new _enabled setting. I don't know if it would make sense for any of these and I also wouldn't be able to test it.
This likely needs further work after some testing with OpenPandora toolchain
to check that this builds a working binary and a basic test to see if this
fixes the reported issue which has been present after v1.7.0 release which
did not exhibit this problem.
OGLES2 doesn't support uniform booleans so we use macros to make it use
integers in this case. For other platforms, this change should be a
noop.
OGLES2 doesn't like float suffix for constants, remove it as well.
We now link with OpenGL dynamically so symbols are provided by GLAD.
If it's not supported pointer will be null.
OGLES2 should support these functions so they must be removed