[Scummvm-git-logs] scummvm master -> 03e8f0ed2d03f21a62481314e87d03b6f801e600
aquadran
aquadran at gmail.com
Wed Oct 14 05:49:31 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:
03e8f0ed2d ENGINES: Remove code for toggling fullscreen mode (#2523)
Commit: 03e8f0ed2d03f21a62481314e87d03b6f801e600
https://github.com/scummvm/scummvm/commit/03e8f0ed2d03f21a62481314e87d03b6f801e600
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2020-10-14T07:49:28+02:00
Commit Message:
ENGINES: Remove code for toggling fullscreen mode (#2523)
* GRIM: Remove code for toggling fullscreen mode
* MYST3: Remove code for toggling fullscreen mode
* STARK: Remove code for toggling fullscreen mode
* ENGINES: Remove the fullscreen argument from initGraphics3d()
Changed paths:
engines/engine.cpp
engines/grim/gfx_base.h
engines/grim/gfx_opengl.cpp
engines/grim/gfx_opengl.h
engines/grim/gfx_opengl_shaders.cpp
engines/grim/gfx_opengl_shaders.h
engines/grim/gfx_tinygl.cpp
engines/grim/gfx_tinygl.h
engines/grim/grim.cpp
engines/grim/grim.h
engines/grim/grim_controls.cpp
engines/myst3/gfx.cpp
engines/myst3/gfx.h
engines/myst3/myst3.cpp
engines/stark/gfx/driver.cpp
engines/stark/gfx/driver.h
engines/stark/stark.cpp
engines/util.h
engines/wintermute/base/base_game.cpp
engines/wintermute/wintermute.cpp
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 1fa94edba3..4722d190d6 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -395,11 +395,11 @@ void initGraphics(int width, int height) {
initGraphics(width, height, &format);
}
-void initGraphics3d(int width, int height, bool fullscreen) {
+void initGraphics3d(int width, int height) {
g_system->beginGFXTransaction();
g_system->setGraphicsMode(0, OSystem::kGfxModeRender3d);
g_system->initSize(width, height);
- g_system->setFeatureState(OSystem::kFeatureFullscreenMode, fullscreen);
+ g_system->setFeatureState(OSystem::kFeatureFullscreenMode, ConfMan.getBool("fullscreen")); // TODO: Replace this with initCommonGFX()
g_system->endGFXTransaction();
}
diff --git a/engines/grim/gfx_base.h b/engines/grim/gfx_base.h
index ea10fdd1ef..cd18cf4029 100644
--- a/engines/grim/gfx_base.h
+++ b/engines/grim/gfx_base.h
@@ -80,7 +80,7 @@ public:
* @param screenH the height of the context
* @param fullscreen true if fullscreen is desired, false otherwise.
*/
- virtual void setupScreen(int screenW, int screenH, bool fullscreen) = 0;
+ virtual void setupScreen(int screenW, int screenH) = 0;
/**
* Query whether the current context is hardware-accelerated
diff --git a/engines/grim/gfx_opengl.cpp b/engines/grim/gfx_opengl.cpp
index 3ede494b83..960492bbd0 100644
--- a/engines/grim/gfx_opengl.cpp
+++ b/engines/grim/gfx_opengl.cpp
@@ -124,7 +124,7 @@ GfxOpenGL::~GfxOpenGL() {
}
}
-void GfxOpenGL::setupScreen(int screenW, int screenH, bool fullscreen) {
+void GfxOpenGL::setupScreen(int screenW, int screenH) {
_screenWidth = screenW;
_screenHeight = screenH;
_scaleW = _screenWidth / (float)_gameWidth;
@@ -136,7 +136,7 @@ void GfxOpenGL::setupScreen(int screenW, int screenH, bool fullscreen) {
_useDepthShader = false;
_useDimShader = false;
- g_system->showMouse(!fullscreen);
+ g_system->showMouse(false);
int screenSize = _screenWidth * _screenHeight * 4;
_storedDisplay = new byte[screenSize];
diff --git a/engines/grim/gfx_opengl.h b/engines/grim/gfx_opengl.h
index 907884586e..257e0a9d9c 100644
--- a/engines/grim/gfx_opengl.h
+++ b/engines/grim/gfx_opengl.h
@@ -47,7 +47,7 @@ public:
GfxOpenGL();
virtual ~GfxOpenGL();
- void setupScreen(int screenW, int screenH, bool fullscreen) override;
+ void setupScreen(int screenW, int screenH) override;
const char *getVideoDeviceName() override;
diff --git a/engines/grim/gfx_opengl_shaders.cpp b/engines/grim/gfx_opengl_shaders.cpp
index 5056853f9b..437deac72c 100644
--- a/engines/grim/gfx_opengl_shaders.cpp
+++ b/engines/grim/gfx_opengl_shaders.cpp
@@ -400,7 +400,7 @@ void GfxOpenGLS::setupShaders() {
}
}
-void GfxOpenGLS::setupScreen(int screenW, int screenH, bool fullscreen) {
+void GfxOpenGLS::setupScreen(int screenW, int screenH) {
_screenWidth = screenW;
_screenHeight = screenH;
_scaleW = _screenWidth / (float)_gameWidth;
diff --git a/engines/grim/gfx_opengl_shaders.h b/engines/grim/gfx_opengl_shaders.h
index 35f832c3f1..de7b1e189f 100644
--- a/engines/grim/gfx_opengl_shaders.h
+++ b/engines/grim/gfx_opengl_shaders.h
@@ -41,9 +41,8 @@ public:
*
* @param screenW the width of the context
* @param screenH the height of the context
- * @param fullscreen true if fullscreen is desired, false otherwise.
*/
- virtual void setupScreen(int screenW, int screenH, bool fullscreen) override;
+ virtual void setupScreen(int screenW, int screenH) override;
/**
* Query whether the current context is hardware-accelerated
diff --git a/engines/grim/gfx_tinygl.cpp b/engines/grim/gfx_tinygl.cpp
index 19685aa77f..be392da19c 100644
--- a/engines/grim/gfx_tinygl.cpp
+++ b/engines/grim/gfx_tinygl.cpp
@@ -77,13 +77,13 @@ GfxTinyGL::~GfxTinyGL() {
}
}
-void GfxTinyGL::setupScreen(int screenW, int screenH, bool fullscreen) {
+void GfxTinyGL::setupScreen(int screenW, int screenH) {
_screenWidth = screenW;
_screenHeight = screenH;
_scaleW = _screenWidth / (float)_gameWidth;
_scaleH = _screenHeight / (float)_gameHeight;
- g_system->showMouse(!fullscreen);
+ g_system->showMouse(false);
_pixelFormat = g_system->getScreenFormat();
debug("INFO: TinyGL front buffer pixel format: %s", _pixelFormat.toString().c_str());
diff --git a/engines/grim/gfx_tinygl.h b/engines/grim/gfx_tinygl.h
index 0e470d1ce7..a880180da4 100644
--- a/engines/grim/gfx_tinygl.h
+++ b/engines/grim/gfx_tinygl.h
@@ -39,7 +39,7 @@ public:
GfxTinyGL();
virtual ~GfxTinyGL();
- void setupScreen(int screenW, int screenH, bool fullscreen) override;
+ void setupScreen(int screenW, int screenH) override;
const char *getVideoDeviceName() override;
diff --git a/engines/grim/grim.cpp b/engines/grim/grim.cpp
index 0a52767ba0..8ece967933 100644
--- a/engines/grim/grim.cpp
+++ b/engines/grim/grim.cpp
@@ -263,14 +263,14 @@ LuaBase *GrimEngine::createLua() {
}
}
-GfxBase *GrimEngine::createRenderer(int screenW, int screenH, bool fullscreen) {
+GfxBase *GrimEngine::createRenderer(int screenW, int screenH) {
Common::String rendererConfig = ConfMan.get("renderer");
Graphics::RendererType desiredRendererType = Graphics::parseRendererTypeCode(rendererConfig);
Graphics::RendererType matchingRendererType = Graphics::getBestMatchingAvailableRendererType(desiredRendererType);
_softRenderer = matchingRendererType == Graphics::kRendererTypeTinyGL;
if (!_softRenderer) {
- initGraphics3d(screenW, screenH, fullscreen);
+ initGraphics3d(screenW, screenH);
} else {
initGraphics(screenW, screenH, nullptr);
}
@@ -306,7 +306,7 @@ GfxBase *GrimEngine::createRenderer(int screenW, int screenH, bool fullscreen) {
error("Unable to create a '%s' renderer", rendererConfig.c_str());
}
- renderer->setupScreen(screenW, screenH, fullscreen);
+ renderer->setupScreen(screenW, screenH);
renderer->loadEmergFont();
return renderer;
}
@@ -379,11 +379,10 @@ Common::Error GrimEngine::run() {
}
g_sound = new SoundPlayer();
- bool fullscreen = ConfMan.getBool("fullscreen");
if (getGameType() == GType_GRIM && (g_grim->getGameFlags() & ADGF_REMASTERED)) {
- g_driver = createRenderer(1600, 900, fullscreen);
+ g_driver = createRenderer(1600, 900);
} else {
- g_driver = createRenderer(640, 480, fullscreen);
+ g_driver = createRenderer(640, 480);
}
if (getGameType() == GType_MONKEY4 && SearchMan.hasFile("AMWI.m4b")) {
@@ -970,7 +969,6 @@ void GrimEngine::mainLoop() {
_shortFrame = false;
bool resetShortFrame = false;
_changeHardwareState = false;
- _changeFullscreenState = false;
_setupChanged = true;
for (;;) {
@@ -992,25 +990,11 @@ void GrimEngine::mainLoop() {
savegameSave();
}
- // If the backend can keep the OpenGL context when switching to fullscreen,
- // just toggle the fullscreen feature (SDL2 path).
- if (_changeFullscreenState &&
- _system->hasFeature(OSystem::kFeatureFullscreenToggleKeepsContext)) {
- bool fullscreen = _system->getFeatureState(OSystem::kFeatureFullscreenMode);
- _system->setFeatureState(OSystem::kFeatureFullscreenMode, !fullscreen);
- _changeFullscreenState = false;
- }
-
// If the backend destroys the OpenGL context or the user switched to a different
- // renderer, the GFX driver needs to be recreated (SDL1 path).
- if (_changeHardwareState || _changeFullscreenState) {
+ // renderer, the GFX driver needs to be recreated.
+ if (_changeHardwareState) {
_changeHardwareState = false;
- bool fullscreen = _system->getFeatureState(OSystem::kFeatureFullscreenMode);
- if (_changeFullscreenState) {
- fullscreen = !fullscreen;
- }
-
uint screenWidth = g_driver->getScreenWidth();
uint screenHeight = g_driver->getScreenHeight();
@@ -1021,7 +1005,7 @@ void GrimEngine::mainLoop() {
clearPools();
delete g_driver;
- g_driver = createRenderer(screenWidth, screenHeight, fullscreen);
+ g_driver = createRenderer(screenWidth, screenHeight);
savegameRestore();
if (mode == DrawMode) {
@@ -1031,7 +1015,6 @@ void GrimEngine::mainLoop() {
g_driver->dimScreen();
}
setMode(mode);
- _changeFullscreenState = false;
}
g_sound->flushTracks();
diff --git a/engines/grim/grim.h b/engines/grim/grim.h
index d4c9016dc8..da387007a5 100644
--- a/engines/grim/grim.h
+++ b/engines/grim/grim.h
@@ -208,7 +208,7 @@ protected:
void cameraPostChangeHandle(int num);
void buildActiveActorsList();
void savegameCallback();
- GfxBase *createRenderer(int screenW, int screenH, bool fullscreen);
+ GfxBase *createRenderer(int screenW, int screenH);
void playAspyrLogo();
virtual LuaBase *createLua();
virtual void updateNormalMode();
@@ -255,7 +255,6 @@ protected:
float *_joyAxisPosition;
bool _changeHardwareState;
- bool _changeFullscreenState;
Actor *_selectedActor;
Iris *_iris;
diff --git a/engines/grim/grim_controls.cpp b/engines/grim/grim_controls.cpp
index dd8707070c..8651947572 100644
--- a/engines/grim/grim_controls.cpp
+++ b/engines/grim/grim_controls.cpp
@@ -291,12 +291,6 @@ void GrimEngine::handleChars(Common::EventType operation, const Common::KeyState
}
void GrimEngine::handleControls(Common::EventType operation, const Common::KeyState &key) {
- // Might also want to support keypad-enter?
- if (key.hasFlags(Common::KBD_ALT) && key.keycode == Common::KEYCODE_RETURN && operation == Common::EVENT_KEYDOWN) {
- _changeFullscreenState = true;
- return;
- }
-
// If we're not supposed to handle the key then don't
if (!_controlsEnabled[key.keycode])
return;
diff --git a/engines/myst3/gfx.cpp b/engines/myst3/gfx.cpp
index 3fc35f3764..482f1265d5 100644
--- a/engines/myst3/gfx.cpp
+++ b/engines/myst3/gfx.cpp
@@ -193,7 +193,6 @@ Renderer *createRenderer(OSystem *system) {
Graphics::RendererType desiredRendererType = Graphics::parseRendererTypeCode(rendererConfig);
Graphics::RendererType matchingRendererType = Graphics::getBestMatchingAvailableRendererType(desiredRendererType);
- bool fullscreen = ConfMan.getBool("fullscreen");
bool isAccelerated = matchingRendererType != Graphics::kRendererTypeTinyGL;
uint width;
@@ -205,7 +204,7 @@ Renderer *createRenderer(OSystem *system) {
}
if (isAccelerated) {
- initGraphics3d(width, height, fullscreen);
+ initGraphics3d(width, height);
} else {
initGraphics(width, height, nullptr);
}
@@ -239,16 +238,6 @@ Renderer *createRenderer(OSystem *system) {
error("Unable to create a '%s' renderer", rendererConfig.c_str());
}
-void Renderer::toggleFullscreen() {
- if (!_system->hasFeature(OSystem::kFeatureFullscreenToggleKeepsContext)) {
- warning("Unable to toggle the fullscreen state because the current backend would destroy the graphics context");
- return;
- }
-
- bool oldFullscreen = _system->getFeatureState(OSystem::kFeatureFullscreenMode);
- _system->setFeatureState(OSystem::kFeatureFullscreenMode, !oldFullscreen);
-}
-
void Renderer::renderDrawable(Drawable *drawable, Window *window) {
if (drawable->isConstrainedToWindow()) {
selectTargetWindow(window, drawable->is3D(), drawable->isScaled());
diff --git a/engines/myst3/gfx.h b/engines/myst3/gfx.h
index cef27571e0..622feb655d 100644
--- a/engines/myst3/gfx.h
+++ b/engines/myst3/gfx.h
@@ -113,7 +113,6 @@ public:
virtual void init() = 0;
virtual void clear() = 0;
- void toggleFullscreen();
/**
* Swap the buffers, making the drawn screen visible
diff --git a/engines/myst3/myst3.cpp b/engines/myst3/myst3.cpp
index 3b32b75e83..34360442ee 100644
--- a/engines/myst3/myst3.cpp
+++ b/engines/myst3/myst3.cpp
@@ -495,11 +495,7 @@ void Myst3Engine::processInput(bool interactive) {
break;
case Common::KEYCODE_RETURN:
case Common::KEYCODE_KP_ENTER:
- if (event.kbd.hasFlags(Common::KBD_ALT)) {
- _gfx->toggleFullscreen();
- } else {
- shouldInteractWithHoveredElement = true;
- }
+ shouldInteractWithHoveredElement = true;
break;
case Common::KEYCODE_F5:
// Open main menu
diff --git a/engines/stark/gfx/driver.cpp b/engines/stark/gfx/driver.cpp
index 789742c27f..f20ef35abd 100644
--- a/engines/stark/gfx/driver.cpp
+++ b/engines/stark/gfx/driver.cpp
@@ -37,8 +37,7 @@ namespace Gfx {
Driver *Driver::create() {
#if defined(USE_GLES2) || defined(USE_OPENGL_SHADERS)
- bool fullscreen = ConfMan.getBool("fullscreen");
- initGraphics3d(kOriginalWidth, kOriginalHeight, fullscreen);
+ initGraphics3d(kOriginalWidth, kOriginalHeight);
if (OpenGLContext.shadersSupported) {
return new OpenGLSDriver();
@@ -58,16 +57,6 @@ const Graphics::PixelFormat Driver::getRGBAPixelFormat() {
#endif
}
-void Driver::toggleFullscreen() const {
- if (!g_system->hasFeature(OSystem::kFeatureFullscreenToggleKeepsContext)) {
- warning("Unable to toggle the fullscreen state because the current backend would destroy the graphics context");
- return;
- }
-
- bool oldFullscreen = g_system->getFeatureState(OSystem::kFeatureFullscreenMode);
- g_system->setFeatureState(OSystem::kFeatureFullscreenMode, !oldFullscreen);
-}
-
bool Driver::computeScreenViewport() {
int32 screenWidth = g_system->getWidth();
int32 screenHeight = g_system->getHeight();
diff --git a/engines/stark/gfx/driver.h b/engines/stark/gfx/driver.h
index ac51e7f905..3c4053a2ec 100644
--- a/engines/stark/gfx/driver.h
+++ b/engines/stark/gfx/driver.h
@@ -49,11 +49,6 @@ public:
virtual void init() = 0;
- /**
- * Toggle between windowed mode and fullscreen when spported by the backend.
- */
- void toggleFullscreen() const;
-
bool computeScreenViewport();
virtual void setScreenViewport(bool noScaling) = 0; // deprecated
diff --git a/engines/stark/stark.cpp b/engines/stark/stark.cpp
index c70a556706..893745d66a 100644
--- a/engines/stark/stark.cpp
+++ b/engines/stark/stark.cpp
@@ -197,10 +197,7 @@ void StarkEngine::processEvents() {
continue;
}
- if ((e.kbd.keycode == Common::KEYCODE_RETURN || e.kbd.keycode == Common::KEYCODE_KP_ENTER)
- && e.kbd.hasFlags(Common::KBD_ALT)) {
- StarkGfx->toggleFullscreen();
- } else if (e.kbd.keycode == Common::KEYCODE_p) {
+ if (e.kbd.keycode == Common::KEYCODE_p) {
if (StarkUserInterface->isInGameScreen()) {
_gamePauseToken = pauseEngine();
debug("The game is paused");
diff --git a/engines/util.h b/engines/util.h
index b144762d32..d70ceb1c02 100644
--- a/engines/util.h
+++ b/engines/util.h
@@ -60,6 +60,6 @@ void initGraphicsModes(const Graphics::ModeList &modes);
void initGraphics(int width, int height);
void initGraphics(int width, int height, const Graphics::PixelFormat *format);
void initGraphics(int width, int height, const Common::List<Graphics::PixelFormat> &formatList);
-void initGraphics3d(int width, int height, bool fullscreen);
+void initGraphics3d(int width, int height);
#endif
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index b97f59f339..887e5fa6a2 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -499,8 +499,7 @@ bool BaseGame::initialize1() {
//////////////////////////////////////////////////////////////////////
bool BaseGame::initialize2() { // we know whether we are going to be accelerated
#ifdef ENABLE_WME3D
- bool fullscreen = ConfMan.getBool("fullscreen");
- initGraphics3d(_settings->getResWidth(), _settings->getResHeight(), fullscreen);
+ initGraphics3d(_settings->getResWidth(), _settings->getResHeight());
Common::String rendererConfig = ConfMan.get("renderer");
Graphics::RendererType desiredRendererType = Graphics::parseRendererTypeCode(rendererConfig);
diff --git a/engines/wintermute/wintermute.cpp b/engines/wintermute/wintermute.cpp
index ad20d549e4..7037495383 100644
--- a/engines/wintermute/wintermute.cpp
+++ b/engines/wintermute/wintermute.cpp
@@ -129,7 +129,7 @@ Common::Error WintermuteEngine::run() {
return Common::kUnsupportedColorMode;
}
#else
- initGraphics3d(800, 600, ConfMan.getBool("fullscreen"));
+ initGraphics3d(800, 600);
#endif
// Create debugger console. It requires GFX to be initialized
More information about the Scummvm-git-logs
mailing list