Synced with ScummVM rev: f6c5fed173

This commit is contained in:
Pawel Kolodziejski 2020-10-03 18:14:12 +02:00
parent 6120146fab
commit c12503a869
5 changed files with 20 additions and 7 deletions

View file

@ -124,6 +124,13 @@ void OpenGLGraphicsManager::setFeatureState(OSystem::Feature f, bool enable) {
_cursor->enableLinearFiltering(enable); _cursor->enableLinearFiltering(enable);
} }
// The overlay UI should also obey the filtering choice (managed via the Filter Graphics checkbox in Graphics Tab).
// Thus, when overlay filtering is disabled, scaling in OPENGL is done with GL_NEAREST (nearest neighbor scaling).
// It may look crude, but it should be crispier and it's left to user choice to enable filtering.
if (_overlay) {
_overlay->enableLinearFiltering(enable);
}
break; break;
case OSystem::kFeatureCursorPalette: case OSystem::kFeatureCursorPalette:
@ -958,10 +965,14 @@ void OpenGLGraphicsManager::handleResizeImpl(const int width, const int height,
_overlay = createSurface(_defaultFormatAlpha); _overlay = createSurface(_defaultFormatAlpha);
assert(_overlay); assert(_overlay);
// We always filter the overlay with GL_LINEAR. This assures it's // We should NOT always filter the overlay with GL_LINEAR.
// readable in case it needs to be scaled and does not affect it // In previous versions we always did use GL_LINEAR to assure the UI
// otherwise. // would be readable in case it needed to be scaled -- it would not affect it otherwise.
_overlay->enableLinearFiltering(true); // However in modern devices due to larger screen size the UI display looks blurry
// when using the linear filtering scaling, and we got bug report(s) for it.
// eg. https://bugs.scummvm.org/ticket/11742
// So, we now respect the choice for "Filter Graphics" made via ScummVM GUI (under Graphics Tab)
_overlay->enableLinearFiltering(_currentState.filtering);
} }
_overlay->allocate(overlayWidth, overlayHeight); _overlay->allocate(overlayWidth, overlayHeight);
_overlay->fill(0); _overlay->fill(0);

View file

@ -218,7 +218,7 @@ void RemapWidget::startRemapping(uint actionIndex) {
_remapAction = _actions[actionIndex].action; _remapAction = _actions[actionIndex].action;
uint32 remapTimeoutDelay = kRemapMinTimeoutDelay; uint32 remapTimeoutDelay = kRemapMinTimeoutDelay;
if (ConfMan.hasKey("remap_timeout_delay_ms") && (ConfMan.getInt("remap_timeout_delay_ms") > kRemapMinTimeoutDelay)) { if (ConfMan.hasKey("remap_timeout_delay_ms") && ((uint32)ConfMan.getInt("remap_timeout_delay_ms") > kRemapMinTimeoutDelay)) {
remapTimeoutDelay = (uint32)ConfMan.getInt("remap_timeout_delay_ms"); remapTimeoutDelay = (uint32)ConfMan.getInt("remap_timeout_delay_ms");
} }
_remapTimeout = g_system->getMillis() + remapTimeoutDelay; _remapTimeout = g_system->getMillis() + remapTimeoutDelay;

3
configure vendored
View file

@ -2215,6 +2215,9 @@ echo $_use_cxx11
# #
# Determine extra build flags for debug and/or release builds # Determine extra build flags for debug and/or release builds
# #
if test "$_debug_build" = auto && test "$_release_build" = yes; then
_debug_build=no
fi
if test "$_debug_build" != no; then if test "$_debug_build" != no; then
# debug mode not explicitly disabled -> compile with debug information # debug mode not explicitly disabled -> compile with debug information
echo_n "Checking best debug mode... " echo_n "Checking best debug mode... "

View file

@ -529,7 +529,7 @@ bool ThemeEngine::addFont(TextData textId, const Common::String &language, const
if (textId == -1) if (textId == -1)
return false; return false;
if (!language.empty() && !language.equals("*")) { if (!language.empty()) {
#ifdef USE_TRANSLATION #ifdef USE_TRANSLATION
Common::String cl = TransMan.getCurrentLanguage(); Common::String cl = TransMan.getCurrentLanguage();
if (!cl.matchString(language, true)) if (!cl.matchString(language, true))

View file

@ -2401,7 +2401,6 @@ void GlobalOptionsDialog::apply() {
ConfMan.set("gui_language", newLang); ConfMan.set("gui_language", newLang);
newCharset = TransMan.getCurrentCharset(); newCharset = TransMan.getCurrentCharset();
isRebuildNeeded = true; isRebuildNeeded = true;
g_gui.setLanguageRTL();
} }
bool guiUseGameLanguage = _guiLanguageUseGameLanguageCheckbox->getState(); bool guiUseGameLanguage = _guiLanguageUseGameLanguageCheckbox->getState();