[Scummvm-git-logs] scummvm branch-1-9 -> 65f222c02da43d8ff5b6c78804aca43594c13ee6
criezy
criezy at scummvm.org
Tue Oct 18 20:51:55 CEST 2016
This automated email contains information about 12 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
1de9a1ae60 OSYSTEM: Add kFeatureFilteringMode
a8002cfd79 GUI: Add checkbox and config option to enable/disable graphics filtering
672832ff00 OPENGL: Add support for filtering feature
618ca10b17 SURFACESDL: Add support for filtering feature when using SDL2
7b3ebf71a4 OPENGLSDL: Add hotkey to enable/disable filtering
754de82957 SURFACESDL: Add hotkey to enable/disable filtering
3df0927106 README: Add filtering command line option and hotkey
f60807f094 SURFACESDL: Improve toggling filtering on/off
047b0b7bf2 README: Update German README file
bd9385eb2b README: Add missing configuration option to German README
bb7e8bc309 DISTS: Fix corrupted character in copyright string for Windows exe
65f222c02d NEWS: Add filtering option for SDL2
Commit: 1de9a1ae605ed4fddfc8fc443823b343e09bcca9
https://github.com/scummvm/scummvm/commit/1de9a1ae605ed4fddfc8fc443823b343e09bcca9
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2016-10-18T19:24:42+01:00
Commit Message:
OSYSTEM: Add kFeatureFilteringMode
Changed paths:
common/system.h
diff --git a/common/system.h b/common/system.h
index cbaa30c..41f217f 100644
--- a/common/system.h
+++ b/common/system.h
@@ -254,6 +254,12 @@ public:
* particular, interpolation, and works in-place.
*/
kFeatureAspectRatioCorrection,
+
+ /**
+ * If supported this flag can be used to switch between unfiltered and
+ * filtered graphics modes.
+ */
+ kFeatureFilteringMode,
/**
* Determine whether a virtual keyboard is too be shown or not.
@@ -616,7 +622,8 @@ public:
kTransactionFullscreenFailed = (1 << 1), /**< Failed switching fullscreen mode */
kTransactionModeSwitchFailed = (1 << 2), /**< Failed switching the GFX graphics mode (setGraphicsMode) */
kTransactionSizeChangeFailed = (1 << 3), /**< Failed switching the screen dimensions (initSize) */
- kTransactionFormatNotSupported = (1 << 4) /**< Failed setting the color format */
+ kTransactionFormatNotSupported = (1 << 4), /**< Failed setting the color format */
+ kTransactionFilteringFailed = (1 << 5) /**< Failed setting the filtering mode */
};
/**
Commit: a8002cfd7959d402825b93b8e3ef553f959715e0
https://github.com/scummvm/scummvm/commit/a8002cfd7959d402825b93b8e3ef553f959715e0
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2016-10-18T19:25:01+01:00
Commit Message:
GUI: Add checkbox and config option to enable/disable graphics filtering
Changed paths:
base/commandLine.cpp
base/main.cpp
engines/engine.cpp
gui/options.cpp
gui/options.h
gui/themes/default.inc
gui/themes/scummclassic.zip
gui/themes/scummclassic/classic_layout.stx
gui/themes/scummclassic/classic_layout_lowres.stx
gui/themes/scummmodern.zip
gui/themes/scummmodern/scummmodern_layout.stx
gui/themes/scummmodern/scummmodern_layout_lowres.stx
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index c2b4ea7..8be2057 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -80,6 +80,8 @@ static const char HELP_STRING[] =
" -g, --gfx-mode=MODE Select graphics scaler (1x,2x,3x,2xsai,super2xsai,\n"
" supereagle,advmame2x,advmame3x,hq2x,hq3x,tv2x,\n"
" dotmatrix)\n"
+ " --filtering Force filtered graphics mode\n"
+ " --no-filtering Force unfiltered graphics mode\n"
" --gui-theme=THEME Select GUI theme\n"
" --themepath=PATH Path to where GUI themes are stored\n"
" --list-themes Display list of all usable GUI themes\n"
@@ -178,6 +180,7 @@ void registerDefaults() {
// Graphics
ConfMan.registerDefault("fullscreen", false);
+ ConfMan.registerDefault("filtering", false);
ConfMan.registerDefault("aspect_ratio", false);
ConfMan.registerDefault("gfx_mode", "normal");
ConfMan.registerDefault("render_mode", "default");
@@ -441,6 +444,9 @@ Common::String parseCommandLine(Common::StringMap &settings, int argc, const cha
DO_OPTION_BOOL('f', "fullscreen")
END_OPTION
+
+ DO_LONG_OPTION_BOOL("filtering")
+ END_OPTION
#ifdef ENABLE_EVENTRECORDER
DO_LONG_OPTION_INT("disable-display")
diff --git a/base/main.cpp b/base/main.cpp
index 7807ddf..ca3a764 100644
--- a/base/main.cpp
+++ b/base/main.cpp
@@ -290,6 +290,8 @@ static void setupGraphics(OSystem &system) {
system.setFeatureState(OSystem::kFeatureAspectRatioCorrection, ConfMan.getBool("aspect_ratio"));
if (ConfMan.hasKey("fullscreen"))
system.setFeatureState(OSystem::kFeatureFullscreenMode, ConfMan.getBool("fullscreen"));
+ if (ConfMan.hasKey("filtering"))
+ system.setFeatureState(OSystem::kFeatureFilteringMode, ConfMan.getBool("filtering"));
system.endGFXTransaction();
// When starting up launcher for the first time, the user might have specified
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 68d9e8f..aac9c8c 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -223,7 +223,7 @@ void initCommonGFX(bool defaultTo1XScaler) {
g_system->setGraphicsMode(gfxMode.c_str());
// HACK: For OpenGL modes, we will still honor the graphics scale override
- if (defaultTo1XScaler && (gfxMode.equalsIgnoreCase("opengl_linear") || gfxMode.equalsIgnoreCase("opengl_nearest")))
+ if (defaultTo1XScaler && gfxMode.equalsIgnoreCase("opengl"))
g_system->resetGraphicsScale();
}
}
@@ -242,6 +242,10 @@ void initCommonGFX(bool defaultTo1XScaler) {
// (De)activate fullscreen mode as determined by the config settings
if (gameDomain && gameDomain->contains("fullscreen"))
g_system->setFeatureState(OSystem::kFeatureFullscreenMode, ConfMan.getBool("fullscreen"));
+
+ // (De)activate filtering mode as determined by the config settings
+ if (gameDomain && gameDomain->contains("filtering"))
+ g_system->setFeatureState(OSystem::kFeatureFilteringMode, ConfMan.getBool("filtering"));
}
// Please leave the splash screen in working order for your releases, even if they're commercial.
@@ -364,6 +368,11 @@ void initGraphics(int width, int height, bool defaultTo1xScaler, const Graphics:
GUI::MessageDialog dialog(_("Could not apply fullscreen setting."));
dialog.runModal();
}
+
+ if (gfxError & OSystem::kTransactionFilteringFailed) {
+ GUI::MessageDialog dialog(_("Could not apply filtering setting."));
+ dialog.runModal();
+ }
}
diff --git a/gui/options.cpp b/gui/options.cpp
index 6de808c..d25e988 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -135,6 +135,7 @@ void OptionsDialog::init() {
_renderModePopUp = 0;
_renderModePopUpDesc = 0;
_fullscreenCheckbox = 0;
+ _filteringCheckbox = 0;
_aspectCheckbox = 0;
_enableAudioSettings = false;
_midiTabId = 0;
@@ -243,6 +244,12 @@ void OptionsDialog::open() {
_fullscreenCheckbox->setState(ConfMan.getBool("fullscreen", _domain));
#endif // GUI_ONLY_FULLSCREEN
+ // Filtering setting
+ if (g_system->hasFeature(OSystem::kFeatureFilteringMode))
+ _filteringCheckbox->setState(ConfMan.getBool("filtering", _domain));
+ else
+ _filteringCheckbox->setVisible(false);
+
// Aspect ratio setting
if (_guioptions.contains(GUIO_NOASPECT)) {
_aspectCheckbox->setState(false);
@@ -353,11 +360,14 @@ void OptionsDialog::close() {
bool graphicsModeChanged = false;
if (_fullscreenCheckbox) {
if (_enableGraphicSettings) {
+ if (ConfMan.getBool("filtering", _domain) != _filteringCheckbox->getState())
+ graphicsModeChanged = true;
if (ConfMan.getBool("fullscreen", _domain) != _fullscreenCheckbox->getState())
graphicsModeChanged = true;
if (ConfMan.getBool("aspect_ratio", _domain) != _aspectCheckbox->getState())
graphicsModeChanged = true;
+ ConfMan.setBool("filtering", _filteringCheckbox->getState(), _domain);
ConfMan.setBool("fullscreen", _fullscreenCheckbox->getState(), _domain);
ConfMan.setBool("aspect_ratio", _aspectCheckbox->getState(), _domain);
@@ -384,6 +394,7 @@ void OptionsDialog::close() {
ConfMan.set("render_mode", Common::getRenderModeCode((Common::RenderMode)_renderModePopUp->getSelectedTag()), _domain);
} else {
ConfMan.removeKey("fullscreen", _domain);
+ ConfMan.removeKey("filtering", _domain);
ConfMan.removeKey("aspect_ratio", _domain);
ConfMan.removeKey("gfx_mode", _domain);
ConfMan.removeKey("render_mode", _domain);
@@ -399,6 +410,9 @@ void OptionsDialog::close() {
g_system->setFeatureState(OSystem::kFeatureAspectRatioCorrection, ConfMan.getBool("aspect_ratio", _domain));
if (ConfMan.hasKey("fullscreen"))
g_system->setFeatureState(OSystem::kFeatureFullscreenMode, ConfMan.getBool("fullscreen", _domain));
+ if (ConfMan.hasKey("filtering"))
+ g_system->setFeatureState(OSystem::kFeatureFilteringMode, ConfMan.getBool("filtering", _domain));
+
OSystem::TransactionError gfxError = g_system->endGFXTransaction();
// Since this might change the screen resolution we need to give
@@ -441,6 +455,12 @@ void OptionsDialog::close() {
message += "\n";
message += _("the aspect ratio setting could not be changed");
}
+
+ if (gfxError & OSystem::kTransactionFilteringFailed) {
+ ConfMan.setBool("filtering", g_system->getFeatureState(OSystem::kFeatureFilteringMode), _domain);
+ message += "\n";
+ message += _("the filtering setting could not be changed");
+ }
// And display the error
GUI::MessageDialog dialog(message);
@@ -633,6 +653,7 @@ void OptionsDialog::setGraphicSettingsState(bool enabled) {
_gfxPopUp->setEnabled(enabled);
_renderModePopUpDesc->setEnabled(enabled);
_renderModePopUp->setEnabled(enabled);
+ _filteringCheckbox->setEnabled(enabled);
#ifndef GUI_ENABLE_KEYSDIALOG
_fullscreenCheckbox->setEnabled(enabled);
if (_guioptions.contains(GUIO_NOASPECT))
@@ -785,6 +806,9 @@ void OptionsDialog::addGraphicControls(GuiObject *boss, const Common::String &pr
// Fullscreen checkbox
_fullscreenCheckbox = new CheckboxWidget(boss, prefix + "grFullscreenCheckbox", _("Fullscreen mode"));
+
+ // Filtering checkbox
+ _filteringCheckbox = new CheckboxWidget(boss, prefix + "grFilteringCheckbox", _("Filter graphics"), _("Use linear filtering when scaling graphics"));
// Aspect ratio checkbox
_aspectCheckbox = new CheckboxWidget(boss, prefix + "grAspectCheckbox", _("Aspect ratio correction"), _("Correct aspect ratio for 320x200 games"));
diff --git a/gui/options.h b/gui/options.h
index 03dbdac..802a503 100644
--- a/gui/options.h
+++ b/gui/options.h
@@ -114,6 +114,7 @@ private:
StaticTextWidget *_gfxPopUpDesc;
PopUpWidget *_gfxPopUp;
CheckboxWidget *_fullscreenCheckbox;
+ CheckboxWidget *_filteringCheckbox;
CheckboxWidget *_aspectCheckbox;
StaticTextWidget *_renderModePopUpDesc;
PopUpWidget *_renderModePopUp;
diff --git a/gui/themes/default.inc b/gui/themes/default.inc
index 07e5961..8524a77 100644
--- a/gui/themes/default.inc
+++ b/gui/themes/default.inc
@@ -834,6 +834,9 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
"<widget name='grFullscreenCheckbox' "
"type='Checkbox' "
"/>"
+"<widget name='grFilteringCheckbox' "
+"type='Checkbox' "
+"/>"
"</layout>"
"</dialog>"
"<dialog name='GlobalOptions_Audio' overlays='Dialog.GlobalOptions.TabWidget'>"
@@ -2370,6 +2373,9 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
"<widget name='grFullscreenCheckbox' "
"type='Checkbox' "
"/>"
+"<widget name='grFilteringCheckbox' "
+"type='Checkbox' "
+"/>"
"</layout>"
"</dialog>"
"<dialog name='GlobalOptions_Audio' overlays='Dialog.GlobalOptions.TabWidget'>"
diff --git a/gui/themes/scummclassic.zip b/gui/themes/scummclassic.zip
index eb0ded5..300e2ce 100644
Binary files a/gui/themes/scummclassic.zip and b/gui/themes/scummclassic.zip differ
diff --git a/gui/themes/scummclassic/classic_layout.stx b/gui/themes/scummclassic/classic_layout.stx
index c67631a..ea5d326 100644
--- a/gui/themes/scummclassic/classic_layout.stx
+++ b/gui/themes/scummclassic/classic_layout.stx
@@ -259,6 +259,9 @@
<widget name = 'grFullscreenCheckbox'
type = 'Checkbox'
/>
+ <widget name = 'grFilteringCheckbox'
+ type = 'Checkbox'
+ />
</layout>
</dialog>
diff --git a/gui/themes/scummclassic/classic_layout_lowres.stx b/gui/themes/scummclassic/classic_layout_lowres.stx
index 212ef7c..7f43c7b 100644
--- a/gui/themes/scummclassic/classic_layout_lowres.stx
+++ b/gui/themes/scummclassic/classic_layout_lowres.stx
@@ -257,6 +257,9 @@
<widget name = 'grFullscreenCheckbox'
type = 'Checkbox'
/>
+ <widget name = 'grFilteringCheckbox'
+ type = 'Checkbox'
+ />
</layout>
</dialog>
diff --git a/gui/themes/scummmodern.zip b/gui/themes/scummmodern.zip
index 0b8b771..0968f06 100644
Binary files a/gui/themes/scummmodern.zip and b/gui/themes/scummmodern.zip differ
diff --git a/gui/themes/scummmodern/scummmodern_layout.stx b/gui/themes/scummmodern/scummmodern_layout.stx
index bb182c9..a0a4e41 100644
--- a/gui/themes/scummmodern/scummmodern_layout.stx
+++ b/gui/themes/scummmodern/scummmodern_layout.stx
@@ -273,6 +273,9 @@
<widget name = 'grFullscreenCheckbox'
type = 'Checkbox'
/>
+ <widget name = 'grFilteringCheckbox'
+ type = 'Checkbox'
+ />
</layout>
</dialog>
diff --git a/gui/themes/scummmodern/scummmodern_layout_lowres.stx b/gui/themes/scummmodern/scummmodern_layout_lowres.stx
index 2ca89ce..13ec698 100644
--- a/gui/themes/scummmodern/scummmodern_layout_lowres.stx
+++ b/gui/themes/scummmodern/scummmodern_layout_lowres.stx
@@ -255,6 +255,9 @@
<widget name = 'grFullscreenCheckbox'
type = 'Checkbox'
/>
+ <widget name = 'grFilteringCheckbox'
+ type = 'Checkbox'
+ />
</layout>
</dialog>
Commit: 672832ff001c5a1a8c700f47f28cb20accc34fb3
https://github.com/scummvm/scummvm/commit/672832ff001c5a1a8c700f47f28cb20accc34fb3
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2016-10-18T19:42:35+01:00
Commit Message:
OPENGL: Add support for filtering feature
This replaces the two graphics modes "OpenGL (No filtering)" and
"OpenGL". Now there is a single "OpenGL" mode and filtering is
controlled by the kFeatureFilteringMode.
Changed paths:
backends/graphics/opengl/opengl-graphics.cpp
backends/graphics/opengl/opengl-graphics.h
diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp
index 41f35e2..a088234 100644
--- a/backends/graphics/opengl/opengl-graphics.cpp
+++ b/backends/graphics/opengl/opengl-graphics.cpp
@@ -82,6 +82,7 @@ bool OpenGLGraphicsManager::hasFeature(OSystem::Feature f) {
switch (f) {
case OSystem::kFeatureAspectRatioCorrection:
case OSystem::kFeatureCursorPalette:
+ case OSystem::kFeatureFilteringMode:
return true;
case OSystem::kFeatureOverlaySupportsAlpha:
@@ -99,6 +100,20 @@ void OpenGLGraphicsManager::setFeatureState(OSystem::Feature f, bool enable) {
_currentState.aspectRatioCorrection = enable;
break;
+ case OSystem::kFeatureFilteringMode:
+ assert(_transactionMode != kTransactionNone);
+ _currentState.filtering = enable;
+
+ if (_gameScreen) {
+ _gameScreen->enableLinearFiltering(enable);
+ }
+
+ if (_cursor) {
+ _cursor->enableLinearFiltering(enable);
+ }
+
+ break;
+
case OSystem::kFeatureCursorPalette:
_cursorPaletteEnabled = enable;
updateCursorPalette();
@@ -114,6 +129,9 @@ bool OpenGLGraphicsManager::getFeatureState(OSystem::Feature f) {
case OSystem::kFeatureAspectRatioCorrection:
return _currentState.aspectRatioCorrection;
+ case OSystem::kFeatureFilteringMode:
+ return _currentState.filtering;
+
case OSystem::kFeatureCursorPalette:
return _cursorPaletteEnabled;
@@ -125,8 +143,7 @@ bool OpenGLGraphicsManager::getFeatureState(OSystem::Feature f) {
namespace {
const OSystem::GraphicsMode glGraphicsModes[] = {
- { "opengl_linear", _s("OpenGL"), GFX_LINEAR },
- { "opengl_nearest", _s("OpenGL (No filtering)"), GFX_NEAREST },
+ { "opengl", _s("OpenGL"), GFX_OPENGL },
{ nullptr, nullptr, 0 }
};
@@ -137,25 +154,15 @@ const OSystem::GraphicsMode *OpenGLGraphicsManager::getSupportedGraphicsModes()
}
int OpenGLGraphicsManager::getDefaultGraphicsMode() const {
- return GFX_LINEAR;
+ return GFX_OPENGL;
}
bool OpenGLGraphicsManager::setGraphicsMode(int mode) {
assert(_transactionMode != kTransactionNone);
switch (mode) {
- case GFX_LINEAR:
- case GFX_NEAREST:
+ case GFX_OPENGL:
_currentState.graphicsMode = mode;
-
- if (_gameScreen) {
- _gameScreen->enableLinearFiltering(mode == GFX_LINEAR);
- }
-
- if (_cursor) {
- _cursor->enableLinearFiltering(mode == GFX_LINEAR);
- }
-
return true;
default:
@@ -250,6 +257,10 @@ OSystem::TransactionError OpenGLGraphicsManager::endGFXTransaction() {
transactionError |= OSystem::kTransactionModeSwitchFailed;
}
+ if (_oldState.filtering != _currentState.filtering) {
+ transactionError |= OSystem::kTransactionFilteringFailed;
+ }
+
// Roll back to the old state.
_currentState = _oldState;
_transactionMode = kTransactionRollback;
@@ -286,7 +297,7 @@ OSystem::TransactionError OpenGLGraphicsManager::endGFXTransaction() {
}
_gameScreen->allocate(_currentState.gameWidth, _currentState.gameHeight);
- _gameScreen->enableLinearFiltering(_currentState.graphicsMode == GFX_LINEAR);
+ _gameScreen->enableLinearFiltering(_currentState.filtering);
// We fill the screen to all black or index 0 for CLUT8.
#ifdef USE_RGB_COLOR
if (_currentState.gameFormat.bytesPerPixel == 1) {
@@ -660,7 +671,7 @@ void OpenGLGraphicsManager::setMouseCursor(const void *buf, uint w, uint h, int
}
_cursor = createSurface(textureFormat, true);
assert(_cursor);
- _cursor->enableLinearFiltering(_currentState.graphicsMode == GFX_LINEAR);
+ _cursor->enableLinearFiltering(_currentState.filtering);
}
_cursorKeyColor = keycolor;
diff --git a/backends/graphics/opengl/opengl-graphics.h b/backends/graphics/opengl/opengl-graphics.h
index 7900f06..01672f4 100644
--- a/backends/graphics/opengl/opengl-graphics.h
+++ b/backends/graphics/opengl/opengl-graphics.h
@@ -50,8 +50,7 @@ class Shader;
#endif
enum {
- GFX_LINEAR = 0,
- GFX_NEAREST = 1
+ GFX_OPENGL = 0
};
class OpenGLGraphicsManager : virtual public GraphicsManager {
@@ -213,7 +212,7 @@ private:
#ifdef USE_RGB_COLOR
gameFormat(),
#endif
- aspectRatioCorrection(false), graphicsMode(GFX_LINEAR) {
+ aspectRatioCorrection(false), graphicsMode(GFX_OPENGL), filtering(true) {
}
bool valid;
@@ -224,6 +223,7 @@ private:
#endif
bool aspectRatioCorrection;
int graphicsMode;
+ bool filtering;
bool operator==(const VideoState &right) {
return gameWidth == right.gameWidth && gameHeight == right.gameHeight
@@ -231,7 +231,8 @@ private:
&& gameFormat == right.gameFormat
#endif
&& aspectRatioCorrection == right.aspectRatioCorrection
- && graphicsMode == right.graphicsMode;
+ && graphicsMode == right.graphicsMode
+ && filtering == right.filtering;
}
bool operator!=(const VideoState &right) {
Commit: 618ca10b179afd661b74e67fe7526bbdf6d9ba21
https://github.com/scummvm/scummvm/commit/618ca10b179afd661b74e67fe7526bbdf6d9ba21
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2016-10-18T19:42:35+01:00
Commit Message:
SURFACESDL: Add support for filtering feature when using SDL2
This implements the request from ticket #9573: SDL1/2: Different
rendering/filtering?
Changed paths:
backends/graphics/surfacesdl/surfacesdl-graphics.cpp
backends/graphics/surfacesdl/surfacesdl-graphics.h
diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
index 46e243c..cc1d8db 100644
--- a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
+++ b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
@@ -190,6 +190,10 @@ SurfaceSdlGraphicsManager::SurfaceSdlGraphicsManager(SdlEventSource *sdlEventSou
#else
_videoMode.fullscreen = true;
#endif
+
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ _videoMode.filtering = ConfMan.getBool("filtering");
+#endif
}
SurfaceSdlGraphicsManager::~SurfaceSdlGraphicsManager() {
@@ -227,6 +231,9 @@ bool SurfaceSdlGraphicsManager::hasFeature(OSystem::Feature f) {
return
(f == OSystem::kFeatureFullscreenMode) ||
(f == OSystem::kFeatureAspectRatioCorrection) ||
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ (f == OSystem::kFeatureFilteringMode) ||
+#endif
(f == OSystem::kFeatureCursorPalette) ||
(f == OSystem::kFeatureIconifyWindow);
}
@@ -239,6 +246,11 @@ void SurfaceSdlGraphicsManager::setFeatureState(OSystem::Feature f, bool enable)
case OSystem::kFeatureAspectRatioCorrection:
setAspectRatioCorrection(enable);
break;
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ case OSystem::kFeatureFilteringMode:
+ setFilteringMode(enable);
+ break;
+#endif
case OSystem::kFeatureCursorPalette:
_cursorPaletteDisabled = !enable;
blitCursor();
@@ -263,6 +275,10 @@ bool SurfaceSdlGraphicsManager::getFeatureState(OSystem::Feature f) {
return _videoMode.fullscreen;
case OSystem::kFeatureAspectRatioCorrection:
return _videoMode.aspectRatioCorrection;
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ case OSystem::kFeatureFilteringMode:
+ return _videoMode.filtering;
+#endif
case OSystem::kFeatureCursorPalette:
return !_cursorPaletteDisabled;
default:
@@ -323,6 +339,12 @@ OSystem::TransactionError SurfaceSdlGraphicsManager::endGFXTransaction() {
_videoMode.mode = _oldVideoMode.mode;
_videoMode.scaleFactor = _oldVideoMode.scaleFactor;
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ } else if (_videoMode.filtering != _oldVideoMode.filtering) {
+ errors |= OSystem::kTransactionFilteringFailed;
+
+ _videoMode.filtering = _oldVideoMode.filtering;
+#endif
#ifdef USE_RGB_COLOR
} else if (_videoMode.format != _oldVideoMode.format) {
errors |= OSystem::kTransactionFormatNotSupported;
@@ -342,6 +364,9 @@ OSystem::TransactionError SurfaceSdlGraphicsManager::endGFXTransaction() {
if (_videoMode.fullscreen == _oldVideoMode.fullscreen &&
_videoMode.aspectRatioCorrection == _oldVideoMode.aspectRatioCorrection &&
_videoMode.mode == _oldVideoMode.mode &&
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ _videoMode.filtering == _oldVideoMode.filtering &&
+#endif
_videoMode.screenWidth == _oldVideoMode.screenWidth &&
_videoMode.screenHeight == _oldVideoMode.screenHeight) {
@@ -1267,6 +1292,20 @@ void SurfaceSdlGraphicsManager::setAspectRatioCorrection(bool enable) {
}
}
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+void SurfaceSdlGraphicsManager::setFilteringMode(bool enable) {
+ Common::StackLock lock(_graphicsMutex);
+
+ if (_oldVideoMode.setup && _oldVideoMode.filtering == enable)
+ return;
+
+ if (_transactionMode == kTransactionActive) {
+ _videoMode.filtering = enable;
+ _transactionDetails.needHotswap = true;
+ }
+}
+#endif
+
void SurfaceSdlGraphicsManager::copyRectToScreen(const void *buf, int pitch, int x, int y, int w, int h) {
assert(_transactionMode == kTransactionNone);
assert(buf);
@@ -2542,6 +2581,8 @@ SDL_Surface *SurfaceSdlGraphicsManager::SDL_SetVideoMode(int width, int height,
SDL_GetWindowSize(_window->getSDLWindow(), &_windowWidth, &_windowHeight);
setWindowResolution(_windowWidth, _windowHeight);
+
+ SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, _videoMode.filtering ? "linear" : "nearest");
_screenTexture = SDL_CreateTexture(_renderer, SDL_PIXELFORMAT_RGB565, SDL_TEXTUREACCESS_STREAMING, width, height);
if (!_screenTexture) {
diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.h b/backends/graphics/surfacesdl/surfacesdl-graphics.h
index 82f4a33..bc2edc9 100644
--- a/backends/graphics/surfacesdl/surfacesdl-graphics.h
+++ b/backends/graphics/surfacesdl/surfacesdl-graphics.h
@@ -250,6 +250,10 @@ protected:
bool aspectRatioCorrection;
AspectRatio desiredAspectRatio;
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ bool filtering;
+#endif
+
int mode;
int scaleFactor;
@@ -383,6 +387,9 @@ protected:
virtual void setFullscreenMode(bool enable);
virtual void setAspectRatioCorrection(bool enable);
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ virtual void setFilteringMode(bool enable);
+#endif
virtual int effectiveScreenHeight() const;
Commit: 7b3ebf71a40b651027bc1cbc26eee3abe8b0cd01
https://github.com/scummvm/scummvm/commit/7b3ebf71a40b651027bc1cbc26eee3abe8b0cd01
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2016-10-18T19:42:36+01:00
Commit Message:
OPENGLSDL: Add hotkey to enable/disable filtering
Crtl-Alt-f now enables/disables filtering instead of changing the
graphics mode. Since there is only one graphics mode now, a hotkey
to change it is a bit useless.
Changed paths:
backends/graphics/openglsdl/openglsdl-graphics.cpp
diff --git a/backends/graphics/openglsdl/openglsdl-graphics.cpp b/backends/graphics/openglsdl/openglsdl-graphics.cpp
index 33c82b9..c63113f 100644
--- a/backends/graphics/openglsdl/openglsdl-graphics.cpp
+++ b/backends/graphics/openglsdl/openglsdl-graphics.cpp
@@ -734,38 +734,13 @@ bool OpenGLSdlGraphicsManager::notifyEvent(const Common::Event &event) {
return true;
} else if (event.kbd.keycode == Common::KEYCODE_f) {
- // Ctrl+Alt+f toggles the graphics modes.
-
- // We are crazy we will allow the OpenGL base class to
- // introduce new graphics modes like shaders for special
- // filtering. If some other OpenGL subclass needs this,
- // we can think of refactoring this.
- int mode = getGraphicsMode();
- const OSystem::GraphicsMode *supportedModes = getSupportedGraphicsModes();
- const OSystem::GraphicsMode *modeDesc = nullptr;
-
- // Search the current mode.
- for (; supportedModes->name; ++supportedModes) {
- if (supportedModes->id == mode) {
- modeDesc = supportedModes;
- break;
- }
- }
- assert(modeDesc);
-
- // Try to use the next mode in the list.
- ++modeDesc;
- if (!modeDesc->name) {
- modeDesc = getSupportedGraphicsModes();
- }
-
- // Never ever try to resize the window when we simply want to
- // switch the graphics mode. This assures that the window size
- // does not change.
+ // Never ever try to resize the window when we simply want to enable or disable filtering.
+ // This assures that the window size does not change.
_ignoreLoadVideoMode = true;
+ // Ctrl+Alt+f toggles filtering on/off
beginGFXTransaction();
- setGraphicsMode(modeDesc->id);
+ setFeatureState(OSystem::kFeatureFilteringMode, !getFeatureState(OSystem::kFeatureFilteringMode));
endGFXTransaction();
// Make sure we do not ignore the next resize. This
@@ -773,8 +748,11 @@ bool OpenGLSdlGraphicsManager::notifyEvent(const Common::Event &event) {
assert(!_ignoreLoadVideoMode);
#ifdef USE_OSD
- const Common::String osdMsg = Common::String::format("Graphics mode: %s", _(modeDesc->description));
- displayMessageOnOSD(osdMsg.c_str());
+ if (getFeatureState(OSystem::kFeatureFilteringMode)) {
+ displayMessageOnOSD(_("Filtering enabled"));
+ } else {
+ displayMessageOnOSD(_("Filtering disabled"));
+ }
#endif
return true;
Commit: 754de829571ff59ac3d7f15c3d84ed4d9b9371c9
https://github.com/scummvm/scummvm/commit/754de829571ff59ac3d7f15c3d84ed4d9b9371c9
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2016-10-18T19:42:36+01:00
Commit Message:
SURFACESDL: Add hotkey to enable/disable filtering
Changed paths:
backends/graphics/surfacesdl/surfacesdl-graphics.cpp
diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
index cc1d8db..2b62cc2 100644
--- a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
+++ b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
@@ -2341,6 +2341,24 @@ bool SurfaceSdlGraphicsManager::handleScalerHotkeys(Common::KeyCode key) {
internUpdateScreen();
return true;
}
+
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ // Ctrl-Alt-f toggles filtering
+ if (key == 'f') {
+ beginGFXTransaction();
+ setFeatureState(OSystem::kFeatureFilteringMode, !_videoMode.filtering);
+ endGFXTransaction();
+#ifdef USE_OSD
+ if (getFeatureState(OSystem::kFeatureFilteringMode)) {
+ displayMessageOnOSD(_("Filtering enabled"));
+ } else {
+ displayMessageOnOSD(_("Filtering disabled"));
+ }
+#endif
+ internUpdateScreen();
+ return true;
+ }
+#endif
int newMode = -1;
int factor = _videoMode.scaleFactor - 1;
@@ -2414,6 +2432,10 @@ bool SurfaceSdlGraphicsManager::isScalerHotkey(const Common::Event &event) {
if (keyValue >= ARRAYSIZE(s_gfxModeSwitchTable))
return false;
}
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ if (event.kbd.keycode == 'f')
+ return true;
+#endif
return (isScaleKey || event.kbd.keycode == 'a');
}
return false;
Commit: 3df092710696c5b727aab4378948c45c5f71ec3e
https://github.com/scummvm/scummvm/commit/3df092710696c5b727aab4378948c45c5f71ec3e
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2016-10-18T19:42:36+01:00
Commit Message:
README: Add filtering command line option and hotkey
Changed paths:
README
diff --git a/README b/README
index 7b06f3f..327060e 100644
--- a/README
+++ b/README
@@ -1317,6 +1317,10 @@ arguments -- see the next section.
-f, --fullscreen Force full-screen mode
-F, --no-fullscreen Force windowed mode
-g, --gfx-mode=MODE Select graphics scaler (see also section 5.3)
+ --filtering Force filtered graphics mode
+ --no-filtering Force unfiltered graphics mode
+
+
--gui-theme=THEME Select GUI theme (default, modern, classic)
--themepath=PATH Path to where GUI themes are stored
--list-themes Display list of all usable GUI themes
@@ -1502,6 +1506,7 @@ other games.
modern monitors. Aspect-ratio correction
stretches the image to use 320x240 pixels
instead, or a multiple thereof
+ Ctrl-Alt f - Enable/disable graphics filtering
Alt-Enter - Toggles full screen/windowed
Alt-s - Make a screenshot (SDL backend only)
Ctrl-F7 - Open virtual keyboard (if enabled)
@@ -2426,8 +2431,8 @@ The following keywords are recognized:
aspect_ratio bool Enable aspect ratio correction
gfx_mode string Graphics mode (normal, 2x, 3x, 2xsai,
super2xsai, supereagle, advmame2x, advmame3x,
- hq2x, hq3x, tv2x, dotmatrix, opengl_linear,
- opengl_nearest)
+ hq2x, hq3x, tv2x, dotmatrix, opengl)
+ filtering bool Enable graphics filtering
confirm_exit bool Ask for confirmation by the user before
quitting (SDL backend only).
Commit: f60807f094742092c601dbf7a4cc4e13b01fd61e
https://github.com/scummvm/scummvm/commit/f60807f094742092c601dbf7a4cc4e13b01fd61e
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2016-10-18T19:42:36+01:00
Commit Message:
SURFACESDL: Improve toggling filtering on/off
We don't need to recreate the window when turning filtering on or off.
Only the texture needs to be recreated.
Changed paths:
backends/graphics/surfacesdl/surfacesdl-graphics.cpp
backends/graphics/surfacesdl/surfacesdl-graphics.h
diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
index 2b62cc2..90d079d 100644
--- a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
+++ b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
@@ -313,6 +313,9 @@ void SurfaceSdlGraphicsManager::beginGFXTransaction() {
_transactionDetails.needUpdatescreen = false;
_transactionDetails.normal1xScaler = false;
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ _transactionDetails.needTextureUpdate = false;
+#endif
#ifdef USE_RGB_COLOR
_transactionDetails.formatChanged = false;
#endif
@@ -420,6 +423,12 @@ OSystem::TransactionError SurfaceSdlGraphicsManager::endGFXTransaction() {
if (_transactionDetails.needUpdatescreen)
internUpdateScreen();
}
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ } else if (_transactionDetails.needTextureUpdate) {
+ setGraphicsModeIntern();
+ recreateScreenTexture();
+ internUpdateScreen();
+#endif
} else if (_transactionDetails.needUpdatescreen) {
setGraphicsModeIntern();
internUpdateScreen();
@@ -1301,7 +1310,7 @@ void SurfaceSdlGraphicsManager::setFilteringMode(bool enable) {
if (_transactionMode == kTransactionActive) {
_videoMode.filtering = enable;
- _transactionDetails.needHotswap = true;
+ _transactionDetails.needTextureUpdate = true;
}
}
#endif
@@ -2355,6 +2364,7 @@ bool SurfaceSdlGraphicsManager::handleScalerHotkeys(Common::KeyCode key) {
displayMessageOnOSD(_("Filtering disabled"));
}
#endif
+ _forceFull = true;
internUpdateScreen();
return true;
}
@@ -2580,6 +2590,20 @@ void SurfaceSdlGraphicsManager::setWindowResolution(int width, int height) {
_forceFull = true;
}
+void SurfaceSdlGraphicsManager::recreateScreenTexture() {
+ if (!_renderer)
+ return;
+
+ SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, _videoMode.filtering ? "linear" : "nearest");
+
+ SDL_Texture *oldTexture = _screenTexture;
+ _screenTexture = SDL_CreateTexture(_renderer, SDL_PIXELFORMAT_RGB565, SDL_TEXTUREACCESS_STREAMING, _videoMode.hardwareWidth, _videoMode.hardwareHeight);
+ if (_screenTexture)
+ SDL_DestroyTexture(oldTexture);
+ else
+ _screenTexture = oldTexture;
+}
+
SDL_Surface *SurfaceSdlGraphicsManager::SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags) {
deinitializeRenderer();
diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.h b/backends/graphics/surfacesdl/surfacesdl-graphics.h
index bc2edc9..975cbfe 100644
--- a/backends/graphics/surfacesdl/surfacesdl-graphics.h
+++ b/backends/graphics/surfacesdl/surfacesdl-graphics.h
@@ -198,6 +198,7 @@ protected:
int _windowWidth, _windowHeight;
void deinitializeRenderer();
void setWindowResolution(int width, int height);
+ void recreateScreenTexture();
SDL_Surface *SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags);
void SDL_UpdateRects(SDL_Surface *screen, int numrects, SDL_Rect *rects);
@@ -237,6 +238,9 @@ protected:
bool needHotswap;
bool needUpdatescreen;
bool normal1xScaler;
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ bool needTextureUpdate;
+#endif
#ifdef USE_RGB_COLOR
bool formatChanged;
#endif
Commit: 047b0b7bf2693cb5179edbb1d76e4b3089349762
https://github.com/scummvm/scummvm/commit/047b0b7bf2693cb5179edbb1d76e4b3089349762
Author: rootfather (rootfather at scummvm.org)
Date: 2016-10-18T19:42:36+01:00
Commit Message:
README: Update German README file
Changed paths:
doc/de/LIESMICH
diff --git a/doc/de/LIESMICH b/doc/de/LIESMICH
index 678ca59..e665ca4 100644
--- a/doc/de/LIESMICH
+++ b/doc/de/LIESMICH
@@ -675,7 +675,7 @@ Kompatibilitätsseite der Website aufgeführt ist, sehen Sie bitte im Abschnitt
3.5) Hinweise zu Beneath a Steel Sky:
---- --------------------------------
Beginnend mit ScummVM 0.8.0 benötigen Sie die zusätzliche Datei „SKY.CPT“, um
-Beneath a Steel Sky laufen lassen.
+Beneath a Steel Sky zu spielen.
Diese Datei ist auf der Seite „Downloads“ der ScummVM-Website verfügbar. Sie
können sie entweder im Verzeichnis mit den anderen Spieldateien (SKY.DNR,
@@ -1405,6 +1405,10 @@ gestartet werden -- siehe nächster Abschnitt.
-f, --fullscreen Erzwingt Vollbildmodus.
-F, --no-fullscreen Erzwingt Fenstermodus.
-g, --gfx-mode=MODUS Wählt Grafikwandler (siehe auch Abschnitt 5.3).
+ --filtering Lineare Filterung erzwingen
+ --no-filtering Lineare Filterung abschalten
+
+
--gui-theme=THEMA Wählt Oberflächenthema (default, modern, classic).
--themepath=PFAD Pfad zu gespeicherten Oberflächenthemen
--list-themes Zeigt Liste aller verwendbaren Oberflächenthemen.
@@ -1558,12 +1562,6 @@ Die einzelnen Grafikoptionen im Überblick:
hq3x - Sehr hochwertiger, qualitativer Filter, aber langsam. Faktor 3.
tv2x - Zeilensprungfilter, emuliert Fernsehgerät. Faktor 2.
dotmatrix - Punktraster-Effekt. Faktor 2.
- OpenGL - Verwendet OpenGL zur Darstellung. Wirkt bei Auflösung 320x200
- etwas verwaschen, für Spiele in 640x400 und höher jedoch
- empfohlen
- OpenGL (ohne Filter) - Kein Filter, sehr scharfe Darstellung wenn Bildschirm
- auf nativer Auflösung betrieben wird. Für 640x400 und
- höher vielleicht etwas zu scharf.
Um einen Grafikfilter auszuwählen, stellen Sie diesen im Startmenü ein oder
übergeben Sie dessen Namen über die Option „-g“ an scummvm, z. B. mit der
@@ -1609,6 +1607,7 @@ zwischen SCUMM-Spielen und anderen Spielen.
Seitenverhältniskorrektur streckt das Bild
stattdessen auf 320x240 Pixel oder um ein
Vielfaches davon.
+ Strg+Alt+f - Lineare Filterung EIN/AUS
Alt+Enter - Wechselt zwischen Vollbild- und Fenstermodus.
Alt+s - Macht Bildschirmfoto (nur für SDL-System).
Strg+F7 - Öffnet virtuelle Tastatur (falls aktiviert).
@@ -1616,6 +1615,7 @@ zwischen SCUMM-Spielen und anderen Spielen.
Maustaste bzw. des Mausrads aufgerufen werden.
SCUMM:
+ Alt+x - Beenden
Strg 0-9 und Alt 0-9 - Lädt und speichert entsprechenden Speicherstand.
Strg+d - Startet den Debugger.
Strg+f - Schneller Modus EIN/AUS
Commit: bd9385eb2b92a33d3831f36b8ba63bf58645955f
https://github.com/scummvm/scummvm/commit/bd9385eb2b92a33d3831f36b8ba63bf58645955f
Author: rootfather (rootfather at scummvm.org)
Date: 2016-10-18T19:42:36+01:00
Commit Message:
README: Add missing configuration option to German README
Changed paths:
doc/de/LIESMICH
diff --git a/doc/de/LIESMICH b/doc/de/LIESMICH
index e665ca4..92c7e4d 100644
--- a/doc/de/LIESMICH
+++ b/doc/de/LIESMICH
@@ -2594,7 +2594,8 @@ Die folgenden Schlüsselwörter werden erkannt:
aspect_ratio Bool Seitenverhältniskorrektur
gfx_mode Text Grafikmodus (normal, 2x, 3x, 2xsai,
super2xsai, supereagle, advmame2x, advmame3x,
- hq2x, hq3x, tv2x, dotmatrix)
+ hq2x, hq3x, tv2x, dotmatrix, opengl)
+ filtering Bool Lineare Filterung aktivieren
confirm_exit Bool Fragt Anwender vor Beenden nach Bestätigung
(nur SDL-System).
Commit: bb7e8bc309bcde1b602d9c31dceca9a51e1ffda0
https://github.com/scummvm/scummvm/commit/bb7e8bc309bcde1b602d9c31dceca9a51e1ffda0
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2016-10-18T19:42:37+01:00
Commit Message:
DISTS: Fix corrupted character in copyright string for Windows exe
This was introduced in commit 02827d0.
Changed paths:
dists/scummvm.rc
dists/scummvm.rc.in
diff --git a/dists/scummvm.rc b/dists/scummvm.rc
index 74af1aa..8866459 100644
--- a/dists/scummvm.rc
+++ b/dists/scummvm.rc
@@ -88,7 +88,7 @@ BEGIN
VALUE "FileDescription", "http://www.scummvm.org/\0"
VALUE "FileVersion", "1.9.1pre\0"
VALUE "InternalName", "scummvm\0"
- VALUE "LegalCopyright", "Copyright � 2001-2016 The ScummVM Team\0"
+ VALUE "LegalCopyright", "Copyright © 2001-2016 The ScummVM Team\0"
VALUE "LegalTrademarks", "'SCUMM', and all SCUMM games are a TM of LucasArts. Simon The Sorcerer is a TM of AdventureSoft. Beneath a Steel Sky and Broken Sword are a TM of Revolution. Flight of the Amazon Queen is a TM of John Passfield and Steve Stamatiadis. \0"
VALUE "OriginalFilename", "scummvm.exe\0"
VALUE "ProductName", "ScummVM\0"
diff --git a/dists/scummvm.rc.in b/dists/scummvm.rc.in
index 3d7375b..f78aa3a 100644
--- a/dists/scummvm.rc.in
+++ b/dists/scummvm.rc.in
@@ -88,7 +88,7 @@ BEGIN
VALUE "FileDescription", "http://www.scummvm.org/\0"
VALUE "FileVersion", "@VERSION@\0"
VALUE "InternalName", "scummvm\0"
- VALUE "LegalCopyright", "Copyright � 2001-2016 The ScummVM Team\0"
+ VALUE "LegalCopyright", "Copyright © 2001-2016 The ScummVM Team\0"
VALUE "LegalTrademarks", "'SCUMM', and all SCUMM games are a TM of LucasArts. Simon The Sorcerer is a TM of AdventureSoft. Beneath a Steel Sky and Broken Sword are a TM of Revolution. Flight of the Amazon Queen is a TM of John Passfield and Steve Stamatiadis. \0"
VALUE "OriginalFilename", "scummvm.exe\0"
VALUE "ProductName", "ScummVM\0"
Commit: 65f222c02da43d8ff5b6c78804aca43594c13ee6
https://github.com/scummvm/scummvm/commit/65f222c02da43d8ff5b6c78804aca43594c13ee6
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2016-10-18T19:42:37+01:00
Commit Message:
NEWS: Add filtering option for SDL2
Changed paths:
NEWS
diff --git a/NEWS b/NEWS
index c18e93d..aa187b1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,10 @@
For a more comprehensive changelog of the latest experimental code, see:
https://github.com/scummvm/scummvm/commits/
+1.9.1 (YYYY-MM-DD)
+ General:
+ - Added bilinear filtering option for SDL2 fullscreen mode.
+
1.9.0 (2016-10-17)
New Games:
- Added support for Myst.
More information about the Scummvm-git-logs
mailing list