diff --git a/base/main.cpp b/base/main.cpp index f15b14fb8ba..5fc1bf9cfaa 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -353,14 +353,8 @@ static void setupGraphics(OSystem &system) { // Set the user specified graphics mode (if any). system.setGraphicsMode(ConfMan.get("gfx_mode").c_str()); system.setStretchMode(ConfMan.get("stretch_mode").c_str()); - - if (ConfMan.hasKey("useshaders") && ConfMan.get("useshaders") == "shaders") { - system.setScaler(g_system->getDefaultScaler(), g_system->getDefaultScaleFactor()); - system.setShader(ConfMan.get("shader")); - } else { - system.setScaler(ConfMan.get("scaler").c_str(), ConfMan.getInt("scale_factor")); - system.setShader(""); - } + system.setScaler(ConfMan.get("scaler").c_str(), ConfMan.getInt("scale_factor")); + system.setShader(ConfMan.get("shader")); system.initSize(320, 200); diff --git a/engines/engine.cpp b/engines/engine.cpp index 9ce2bacb4c3..1a4a37cb706 100644 --- a/engines/engine.cpp +++ b/engines/engine.cpp @@ -215,17 +215,11 @@ void initCommonGFX() { if (gameDomain->contains("stretch_mode")) g_system->setStretchMode(ConfMan.get("stretch_mode").c_str()); - if (ConfMan.hasKey("useshaders") && ConfMan.get("useshaders") == "shaders") { - if (gameDomain->contains("shader")) { - g_system->setScaler(g_system->getDefaultScaler(), g_system->getDefaultScaleFactor()); - g_system->setShader(ConfMan.get("shader")); - } - } else { - if (gameDomain->contains("scaler") || gameDomain->contains("scale_factor")) { - g_system->setScaler(ConfMan.get("scaler").c_str(), ConfMan.getInt("scale_factor")); - g_system->setShader(""); - } - } + if (gameDomain->contains("scaler") || gameDomain->contains("scale_factor")) + g_system->setScaler(ConfMan.get("scaler").c_str(), ConfMan.getInt("scale_factor")); + + if (gameDomain->contains("shader")) + g_system->setShader(ConfMan.get("shader")); } } diff --git a/gui/options.cpp b/gui/options.cpp index b7efa561fca..24dd50a501c 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -103,7 +103,6 @@ enum { kGraphicsTabContainerReflowCmd = 'gtcr', kScalerPopUpCmd = 'scPU', kFullscreenToggled = 'oful', - kScalerToggle = 'sctg', }; enum { @@ -112,11 +111,6 @@ enum { kSubtitlesBoth, }; -enum { - kScalerScaler, - kScalerShader, -}; - #ifdef USE_FLUIDSYNTH enum { kFluidSynthSettingsCmd = 'flst' @@ -203,7 +197,6 @@ void OptionsDialog::init() { _fullscreenCheckbox = nullptr; _filteringCheckbox = nullptr; _aspectCheckbox = nullptr; - _enableShaderSettings = false; _shader = nullptr; _shaderButton = nullptr; _shaderClearButton = nullptr; @@ -357,15 +350,6 @@ void OptionsDialog::build() { _scalerPopUp->setSelected(0); _scaleFactorPopUp->setSelected(0); - // Set the scaler checkbox value - int scalerVal = kScalerScaler; - - if (ConfMan.hasKey("useshaders", _domain) && ConfMan.get("useshaders", _domain) == "shaders") - scalerVal = kScalerShader; - - _scalerToggleGroup->setValue(scalerVal); - setScalerControls(); - if (g_system->hasFeature(OSystem::kFeatureScalers)) { if (ConfMan.hasKey("scaler", _domain)) { const PluginList &scalerPlugins = ScalerMan.getPlugins(); @@ -608,16 +592,6 @@ void OptionsDialog::apply() { ConfMan.setBool("aspect_ratio", _aspectCheckbox->getState(), _domain); ConfMan.setBool("vsync", _vsyncCheckbox->getState(), _domain); - Common::String useshaders = "scalers"; - - if (_scalerToggleGroup->getValue() == kScalerShader) - useshaders = "shaders"; - - if (ConfMan.get("useshaders", _domain) != useshaders) - graphicsModeChanged = true; - - ConfMan.set("useshaders", useshaders, _domain); - bool isSet = false; if ((int32)_gfxPopUp->getSelectedTag() >= 0) { @@ -739,32 +713,28 @@ void OptionsDialog::apply() { // Shader options if (_shader) { - if (_enableShaderSettings) { - bool isSet; + bool isSet; - if (ConfMan.hasKey("shader", _domain) && !ConfMan.get("shader", _domain).empty()) - previousShader = ConfMan.get("shader", _domain); + if (ConfMan.hasKey("shader", _domain) && !ConfMan.get("shader", _domain).empty()) + previousShader = ConfMan.get("shader", _domain); - Common::U32String shader(_shader->getLabel()); - if (shader.empty() || (shader == _c("None", "shader"))) - isSet = false; - else - isSet = true; + Common::U32String shader(_shader->getLabel()); + if (shader.empty() || (shader == _c("None", "shader"))) + isSet = false; + else + isSet = true; - if (isSet) { - if (!ConfMan.hasKey("shader", _domain) || shader != ConfMan.get("shader", _domain)) - graphicsModeChanged = true; - ConfMan.set("shader", shader.encode(), _domain); - } else { - if (ConfMan.hasKey("shader", _domain) && !ConfMan.get("shader", _domain).empty()) - graphicsModeChanged = true; - ConfMan.removeKey("shader", _domain); - } - - _shader->setFontColor(ThemeEngine::FontColor::kFontColorNormal); + if (isSet) { + if (!ConfMan.hasKey("shader", _domain) || shader != ConfMan.get("shader", _domain)) + graphicsModeChanged = true; + ConfMan.set("shader", shader.encode(), _domain); } else { + if (ConfMan.hasKey("shader", _domain) && !ConfMan.get("shader", _domain).empty()) + graphicsModeChanged = true; ConfMan.removeKey("shader", _domain); } + + _shader->setFontColor(ThemeEngine::FontColor::kFontColorNormal); } // Setup graphics again if needed @@ -772,16 +742,8 @@ void OptionsDialog::apply() { g_system->beginGFXTransaction(); g_system->setGraphicsMode(ConfMan.get("gfx_mode", _domain).c_str()); g_system->setStretchMode(ConfMan.get("stretch_mode", _domain).c_str()); - - if (ConfMan.hasKey("useshaders", _domain) && ConfMan.get("useshaders", _domain) == "shaders") { - g_system->setScaler(g_system->getDefaultScaler(), g_system->getDefaultScaleFactor()); - g_system->setShader(ConfMan.get("shader", _domain)); - } else { - // THis should stay in the fallback section for allowing more values to the toggle group - - g_system->setScaler(ConfMan.get("scaler", _domain).c_str(), ConfMan.getInt("scale_factor", _domain)); - g_system->setShader(""); - } + g_system->setScaler(ConfMan.get("scaler", _domain).c_str(), ConfMan.getInt("scale_factor", _domain)); + g_system->setShader(ConfMan.get("shader", _domain)); if (ConfMan.hasKey("aspect_ratio")) g_system->setFeatureState(OSystem::kFeatureAspectRatioCorrection, ConfMan.getBool("aspect_ratio", _domain)); @@ -1090,9 +1052,6 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data _shaderClearButton->setEnabled(false); g_gui.scheduleTopDialogRedraw(); break; - case kScalerToggle: - setScalerControls(); - break; case kMidiGainChanged: _midiGainLabel->setLabel(Common::String::format("%.2f", (double)_midiGainSlider->getValue() / 100.0)); _midiGainLabel->markAsDirty(); @@ -1228,14 +1187,10 @@ void OptionsDialog::setGraphicSettingsState(bool enabled) { _stretchPopUp->setEnabled(false); } - bool scalerToggle = false; - if (g_system->hasFeature(OSystem::kFeatureScalers)) { _scalerPopUpDesc->setEnabled(enabled); _scalerPopUp->setEnabled(enabled); _scaleFactorPopUp->setEnabled(enabled); - - scalerToggle = enabled; } else { _scalerPopUpDesc->setEnabled(false); _scalerPopUp->setEnabled(false); @@ -1246,19 +1201,12 @@ void OptionsDialog::setGraphicSettingsState(bool enabled) { _shaderButton->setEnabled(enabled); _shader->setEnabled(enabled); _shaderClearButton->setEnabled(enabled); - - scalerToggle = enabled; } else { _scalerPopUpDesc->setEnabled(false); _scalerPopUp->setEnabled(false); _scaleFactorPopUp->setEnabled(false); } - _scalerToggleGroup->setEnabled(scalerToggle); - - // Toggle setting based on the radiobutton state - setScalerControls(enabled); - if (g_system->hasFeature(OSystem::kFeatureFilteringMode)) _filteringCheckbox->setEnabled(enabled); else @@ -1275,21 +1223,6 @@ void OptionsDialog::setGraphicSettingsState(bool enabled) { _aspectCheckbox->setEnabled(enabled); } -void OptionsDialog::setShaderSettingsState(bool enabled) { - _enableShaderSettings = enabled; - - if (g_system->hasFeature(OSystem::kFeatureShaders)) { - _shader->setEnabled(enabled); - _shaderButton->setEnabled(enabled); - _shaderClearButton->setEnabled(enabled); - - if (enabled && !_shader->getLabel().empty() && (_shader->getLabel() != _c("None", "shader"))) - _shaderClearButton->setEnabled(enabled); - else - _shaderClearButton->setEnabled(false); - } -} - void OptionsDialog::setAudioSettingsState(bool enabled) { _enableAudioSettings = enabled; _midiPopUpDesc->setEnabled(enabled); @@ -1587,15 +1520,9 @@ void OptionsDialog::addGraphicControls(GuiObject *boss, const Common::String &pr sm++; } - if (g_system->hasFeature(OSystem::kFeatureShaders)) { - _scalerToggleGroup = new RadiobuttonGroup(boss, kScalerToggle); - - _scalerToggleScalers = new RadiobuttonWidget(boss, prefix + "grScalerRadioButton", _scalerToggleGroup, kScalerScaler, Common::U32String("")); - } - // The Scaler popup const PluginList &scalerPlugins = ScalerMan.getPlugins(); - _scalerPopUpDesc = new StaticTextWidget(boss, prefix + "grScalerPopupDesc", _("Use scaler:")); + _scalerPopUpDesc = new StaticTextWidget(boss, prefix + "grScalerPopupDesc", _("Scaler:")); _scalerPopUp = new PopUpWidget(boss, prefix + "grScalerPopup", Common::U32String(), kScalerPopUpCmd); _scalerPopUp->appendEntry(_("")); @@ -1608,17 +1535,13 @@ void OptionsDialog::addGraphicControls(GuiObject *boss, const Common::String &pr updateScaleFactors(_scalerPopUp->getSelectedTag()); if (g_system->hasFeature(OSystem::kFeatureShaders)) { - _scalerToggleShaders = new RadiobuttonWidget(boss, prefix + "grShaderRadioButton", _scalerToggleGroup, kScalerShader, Common::U32String("")); - if (g_system->getOverlayWidth() > 320) - _shaderButton = new ButtonWidget(boss, prefix + "grShaderButton", _("Use Shader:"), _("Specifies path to the shader used for scaling the game screen"), kChooseShaderCmd); + _shaderButton = new ButtonWidget(boss, prefix + "grShaderButton", _("Shader:"), _("Specifies path to the shader used for scaling the game screen"), kChooseShaderCmd); else _shaderButton = new ButtonWidget(boss, prefix + "grShaderButton", _c("Shader Path:", "lowres"), _("Specifies path to the shader used for scaling the game screen"), kChooseShaderCmd); _shader = new StaticTextWidget(boss, prefix + "grShader", _c("None", "shader"), _("Specifies path to the shader used for scaling the game screen")); _shaderClearButton = addClearButton(boss, prefix + "grShaderClearButton", kClearShaderCmd); - - _enableShaderSettings = true; } // Fullscreen checkbox @@ -1668,30 +1591,6 @@ void OptionsDialog::addGraphicControls(GuiObject *boss, const Common::String &pr _enableGraphicSettings = true; } -void OptionsDialog::setScalerControls(bool enabled) { - bool scalers, shaders; - - if (_scalerToggleGroup->getValue() == kScalerScaler) { - scalers = true; - shaders = false; - } else { - scalers = false; - shaders = true; - } - - if (!enabled) { - scalers = shaders = false; - } - - _scalerPopUpDesc->setEnabled(scalers); - _scalerPopUp->setEnabled(scalers); - _scaleFactorPopUp->setEnabled(scalers); - - _shaderButton->setEnabled(shaders); - _shader->setEnabled(shaders); - _shaderClearButton->setEnabled(shaders); -} - void OptionsDialog::addAudioControls(GuiObject *boss, const Common::String &prefix) { // The MIDI mode popup & a label if (g_system->getOverlayWidth() > 320) @@ -2034,8 +1933,6 @@ void OptionsDialog::setupGraphicsTab() { _renderModePopUpDesc->setVisible(true); _renderModePopUp->setVisible(true); - setScalerControls(); - if (g_system->hasFeature(OSystem::kFeatureScalers)) { _scalerPopUpDesc->setVisible(true); if (ConfMan.isKeyTemporary("scaler") || ConfMan.isKeyTemporary("scale_factor")) @@ -2047,6 +1944,16 @@ void OptionsDialog::setupGraphicsTab() { _scalerPopUp->setVisible(false); _scaleFactorPopUp->setVisible(false); } + + if (g_system->hasFeature(OSystem::kFeatureShaders)) { + _shaderButton->setVisible(true); + _shader->setVisible(true); + _shaderClearButton->setVisible(true); + } else { + _shaderButton->setVisible(false); + _shader->setVisible(false); + _shaderClearButton->setVisible(false); + } } void OptionsDialog::updateScaleFactors(uint32 tag) { diff --git a/gui/options.h b/gui/options.h index 7254ad4c7b6..7c3e139a407 100644 --- a/gui/options.h +++ b/gui/options.h @@ -102,7 +102,6 @@ protected: void addSubtitleControls(GuiObject *boss, const Common::String &prefix, int maxSliderVal = 255); void setGraphicSettingsState(bool enabled); - void setShaderSettingsState(bool enabled); void setAudioSettingsState(bool enabled); void setMIDISettingsState(bool enabled); void setMT32SettingsState(bool enabled); @@ -115,8 +114,6 @@ protected: bool loadMusicDeviceSetting(PopUpWidget *popup, Common::String setting, MusicType preferredType = MT_AUTO); void saveMusicDeviceSetting(PopUpWidget *popup, Common::String setting); - void setScalerControls(bool enabled = true); - TabWidget *_tabWidget; int _graphicsTabId; int _midiTabId; @@ -154,9 +151,6 @@ private: PopUpWidget *_gfxPopUp; StaticTextWidget *_stretchPopUpDesc; PopUpWidget *_stretchPopUp; - RadiobuttonGroup *_scalerToggleGroup; - RadiobuttonWidget *_scalerToggleScalers; - RadiobuttonWidget *_scalerToggleShaders; StaticTextWidget *_scalerPopUpDesc; PopUpWidget *_scalerPopUp, *_scaleFactorPopUp; ButtonWidget *_shaderButton; @@ -171,11 +165,6 @@ private: StaticTextWidget *_renderModePopUpDesc; PopUpWidget *_renderModePopUp; - // - // Shader controls - // - bool _enableShaderSettings; - // // Audio controls // diff --git a/gui/themes/common/highres_layout.stx b/gui/themes/common/highres_layout.stx index 41bd2ecf4ac..3b1e60ac145 100644 --- a/gui/themes/common/highres_layout.stx +++ b/gui/themes/common/highres_layout.stx @@ -489,10 +489,6 @@ /> - @@ -504,10 +500,6 @@ /> - diff --git a/gui/themes/common/lowres_layout.stx b/gui/themes/common/lowres_layout.stx index 479b67ad109..8f121d1c861 100644 --- a/gui/themes/common/lowres_layout.stx +++ b/gui/themes/common/lowres_layout.stx @@ -428,10 +428,6 @@ /> - @@ -443,10 +439,6 @@ /> - diff --git a/gui/themes/scummclassic/classic_layout.stx b/gui/themes/scummclassic/classic_layout.stx index c470b5a9303..d16bd2a9cea 100644 --- a/gui/themes/scummclassic/classic_layout.stx +++ b/gui/themes/scummclassic/classic_layout.stx @@ -341,10 +341,6 @@ /> - @@ -356,10 +352,6 @@ /> - diff --git a/gui/themes/scummclassic/classic_layout_lowres.stx b/gui/themes/scummclassic/classic_layout_lowres.stx index 8b3fcd365ae..6a9627c4a55 100644 --- a/gui/themes/scummclassic/classic_layout_lowres.stx +++ b/gui/themes/scummclassic/classic_layout_lowres.stx @@ -342,10 +342,6 @@ /> - @@ -357,10 +353,6 @@ /> -