[Scummvm-git-logs] scummvm master -> 13d41540bea1c2281b5d90ddae7168dc74d95a2a

aquadran aquadran at gmail.com
Thu Nov 19 06:03:01 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:
13d41540be WINTERMUTE: Fixed switching to 2D renderer for 2D games


Commit: 13d41540bea1c2281b5d90ddae7168dc74d95a2a
    https://github.com/scummvm/scummvm/commit/13d41540bea1c2281b5d90ddae7168dc74d95a2a
Author: Paweł Kołodziejski (aquadran at users.sourceforge.net)
Date: 2020-11-19T07:02:53+01:00

Commit Message:
WINTERMUTE: Fixed switching to 2D renderer for 2D games

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 81ae51b931..2e9df492f8 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -502,14 +502,22 @@ bool BaseGame::initialize1() {
 //////////////////////////////////////////////////////////////////////
 bool BaseGame::initialize2() { // we know whether we are going to be accelerated
 #ifdef ENABLE_WME3D
+	Common::String rendererConfig = ConfMan.get("renderer");
+	Graphics::RendererType desiredRendererType = Graphics::parseRendererTypeCode(rendererConfig);
+
+	if (!_playing3DGame && desiredRendererType == Graphics::kRendererTypeTinyGL) {
+		_renderer = makeOSystemRenderer(this);
+		if (_renderer == nullptr) {
+			return STATUS_FAILED;
+		}
+		return STATUS_OK;
+	}
+
 #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
 
-	Common::String rendererConfig = ConfMan.get("renderer");
-	Graphics::RendererType desiredRendererType = Graphics::parseRendererTypeCode(rendererConfig);
-
 #if defined(USE_OPENGL_GAME)
 	// Check the OpenGL context actually supports shaders
 	if (backendCapableOpenGL && desiredRendererType == Graphics::kRendererTypeOpenGLShaders && !OpenGLContext.shadersSupported) {
@@ -528,8 +536,8 @@ bool BaseGame::initialize2() { // we know whether we are going to be accelerated
 	}
 #endif // defined(USE_OPENGL)
 	if (_playing3DGame && desiredRendererType == Graphics::kRendererTypeTinyGL) {
-		// TODO
-		//_renderer3D = makeTinyGL3DRenderer(this);
+		_renderer3D = nullptr;// TODO: makeTinyGL3DRenderer(this);
+		error("3D software renderered is not supported yet");
 	}
 	_renderer = _renderer3D;
 #if !defined(USE_OPENGL_GAME) && !defined(USE_OPENGL_SHADERS) && !defined(USE_GLES2)
diff --git a/engines/wintermute/wintermute.cpp b/engines/wintermute/wintermute.cpp
index 6a00b782cb..22bf6275c6 100644
--- a/engines/wintermute/wintermute.cpp
+++ b/engines/wintermute/wintermute.cpp
@@ -114,7 +114,6 @@ bool WintermuteEngine::hasFeature(EngineFeature f) const {
 
 Common::Error WintermuteEngine::run() {
 	// Initialize graphics using following:
-#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);
@@ -128,9 +127,6 @@ Common::Error WintermuteEngine::run() {
 	if (g_system->getScreenFormat() != format) {
 		return Common::kUnsupportedColorMode;
 	}
-#else
-	initGraphics3d(800, 600);
-#endif
 
 	// Create debugger console. It requires GFX to be initialized
 	_dbgController = new DebuggerController(this);




More information about the Scummvm-git-logs mailing list