[Scummvm-git-logs] scummvm master -> fc02f082d88a2425d9946fa059b66ead9fbf779b

aquadran noreply at scummvm.org
Wed Jul 13 20:26:36 UTC 2022


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:
fc02f082d8 WINTERMUTE: Synchronize with 2d renderer


Commit: fc02f082d88a2425d9946fa059b66ead9fbf779b
    https://github.com/scummvm/scummvm/commit/fc02f082d88a2425d9946fa059b66ead9fbf779b
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2022-07-13T22:26:29+02:00

Commit Message:
WINTERMUTE: Synchronize with 2d renderer

Changed paths:
    engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
    engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp


diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
index 87adeaa21bb..fe2ea4c010f 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
@@ -28,6 +28,8 @@
 
 #include "graphics/opengl/system_headers.h"
 
+#include "common/config-manager.h"
+
 #include "math/glmath.h"
 
 #if defined(USE_OPENGL_GAME)
@@ -229,7 +231,10 @@ bool BaseRenderOpenGL3D::saveScreenShot(const Common::String &filename, int size
 }
 
 void BaseRenderOpenGL3D::setWindowed(bool windowed) {
-	warning("BaseRenderOpenGL3D::setWindowed not yet implemented");
+	ConfMan.setBool("fullscreen", !windowed);
+	g_system->beginGFXTransaction();
+	g_system->setFeatureState(OSystem::kFeatureFullscreenMode, !windowed);
+	g_system->endGFXTransaction();
 }
 
 void BaseRenderOpenGL3D::fadeToColor(byte r, byte g, byte b, byte a) {
@@ -368,11 +373,11 @@ bool BaseRenderOpenGL3D::windowedBlt() {
 }
 
 void Wintermute::BaseRenderOpenGL3D::onWindowChange() {
-	warning("BaseRenderOpenGL3D::onWindowChange not yet implemented");
+	_windowed = !g_system->getFeatureState(OSystem::kFeatureFullscreenMode);
 }
 
 bool BaseRenderOpenGL3D::initRenderer(int width, int height, bool windowed) {
-	_windowed = windowed;
+	_windowed = !ConfMan.getBool("fullscreen");
 	_width = width;
 	_height = height;
 
@@ -435,7 +440,7 @@ bool BaseRenderOpenGL3D::indicatorFlip() {
 }
 
 bool BaseRenderOpenGL3D::forcedFlip() {
-	warning("BaseRenderOpenGL3D::forcedFlip not yet implemented");
+	g_system->updateScreen();
 	return true;
 }
 
diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
index 533329911bb..0760d6ac7ad 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
@@ -27,6 +27,8 @@
 
 #include "graphics/opengl/system_headers.h"
 
+#include "common/config-manager.h"
+
 #include "math/glmath.h"
 
 #if defined(USE_OPENGL_SHADERS)
@@ -343,7 +345,10 @@ bool BaseRenderOpenGL3DShader::saveScreenShot(const Common::String &filename, in
 }
 
 void BaseRenderOpenGL3DShader::setWindowed(bool windowed) {
-	warning("BaseRenderOpenGL3DShader::setWindowed not yet implemented");
+	ConfMan.setBool("fullscreen", !windowed);
+	g_system->beginGFXTransaction();
+	g_system->setFeatureState(OSystem::kFeatureFullscreenMode, !windowed);
+	g_system->endGFXTransaction();
 }
 
 void BaseRenderOpenGL3DShader::fadeToColor(byte r, byte g, byte b, byte a) {
@@ -480,7 +485,7 @@ bool BaseRenderOpenGL3DShader::windowedBlt() {
 }
 
 void Wintermute::BaseRenderOpenGL3DShader::onWindowChange() {
-	warning("BaseRenderOpenGL3DShader::onWindowChange not yet implemented");
+	_windowed = !g_system->getFeatureState(OSystem::kFeatureFullscreenMode);
 }
 
 bool BaseRenderOpenGL3DShader::initRenderer(int width, int height, bool windowed) {
@@ -518,7 +523,7 @@ bool BaseRenderOpenGL3DShader::initRenderer(int width, int height, bool windowed
 		disableLight(i);
 	}
 
-	_windowed = windowed;
+	_windowed = !ConfMan.getBool("fullscreen");
 	_width = width;
 	_height = height;
 
@@ -577,7 +582,7 @@ bool BaseRenderOpenGL3DShader::indicatorFlip() {
 }
 
 bool BaseRenderOpenGL3DShader::forcedFlip() {
-	warning("BaseRenderOpenGL3DShader::forcedFlip not yet implemented");
+	g_system->updateScreen();
 	return true;
 }
 




More information about the Scummvm-git-logs mailing list