[Scummvm-git-logs] scummvm master -> 978d7c1c5773974c3b609c6fe8ee99937af89d2c
aquadran
aquadran at gmail.com
Mon Oct 19 06:11:42 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
978d7c1c57 WINTERMUTE: If backend is not capable opengl in game and game is 2d switch to 2d renderer
Commit: 978d7c1c5773974c3b609c6fe8ee99937af89d2c
https://github.com/scummvm/scummvm/commit/978d7c1c5773974c3b609c6fe8ee99937af89d2c
Author: PaweÅ KoÅodziejski (aquadran at users.sourceforge.net)
Date: 2020-10-19T08:11:32+02:00
Commit Message:
WINTERMUTE: If backend is not capable opengl in game and game is 2d switch to 2d renderer
Changed paths:
engines/wintermute/base/base_game.cpp
engines/wintermute/wintermute.cpp
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index 424b413e32..81ae51b931 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -502,9 +502,8 @@ bool BaseGame::initialize1() {
//////////////////////////////////////////////////////////////////////
bool BaseGame::initialize2() { // we know whether we are going to be accelerated
#ifdef ENABLE_WME3D
- initGraphics3d(_settings->getResWidth(), _settings->getResHeight());
-
#if defined(USE_OPENGL_GAME) || defined(USE_OPENGL_SHADERS) || defined(USE_GLES2)
+ initGraphics3d(_settings->getResWidth(), _settings->getResHeight());
bool backendCapableOpenGL = g_system->hasFeature(OSystem::kFeatureOpenGLForGame);
#endif
@@ -528,16 +527,15 @@ bool BaseGame::initialize2() { // we know whether we are going to be accelerated
_renderer3D = makeOpenGL3DRenderer(this);
}
#endif // defined(USE_OPENGL)
- if (desiredRendererType == Graphics::kRendererTypeTinyGL) {
+ if (_playing3DGame && desiredRendererType == Graphics::kRendererTypeTinyGL) {
// TODO
//_renderer3D = makeTinyGL3DRenderer(this);
}
- if (!_renderer3D) {
- error("Unable to create a 3D renderer");
- return STATUS_FAILED;
- }
-
_renderer = _renderer3D;
+#if !defined(USE_OPENGL_GAME) && !defined(USE_OPENGL_SHADERS) && !defined(USE_GLES2)
+ if (!_playing3DGame && !_renderer3D)
+ _renderer = makeOSystemRenderer(this);
+#endif
#else
_renderer = makeOSystemRenderer(this);
#endif
diff --git a/engines/wintermute/wintermute.cpp b/engines/wintermute/wintermute.cpp
index 7037495383..6a00b782cb 100644
--- a/engines/wintermute/wintermute.cpp
+++ b/engines/wintermute/wintermute.cpp
@@ -114,7 +114,7 @@ bool WintermuteEngine::hasFeature(EngineFeature f) const {
Common::Error WintermuteEngine::run() {
// Initialize graphics using following:
-#ifndef ENABLE_WME3D
+#if !defined(ENABLE_WME3D) || (!defined(USE_OPENGL_GAME) && !defined(USE_OPENGL_SHADERS) && !defined(USE_GLES2))
Graphics::PixelFormat format(4, 8, 8, 8, 8, 24, 16, 8, 0);
if (_gameDescription->adDesc.flags & GF_LOWSPEC_ASSETS) {
initGraphics(320, 240, &format);
@@ -249,7 +249,13 @@ int WintermuteEngine::init() {
return 2;
}
- _game->initialize2();
+ if (!_game->initialize2()) {
+ _game->LOG(0, "Error initializing renderer. Exiting.");
+
+ delete _game;
+ _game = nullptr;
+ return 3;
+ }
bool ret = _game->initRenderer();
More information about the Scummvm-git-logs
mailing list