diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index 0de0fbada4..c1f681f61c 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -278,9 +278,14 @@ void GameSettingsScreen::CreateViews() { } return UI::EVENT_CONTINUE; }); - beziersChoice->SetDisabledPtr(&g_Config.bSoftwareRendering); + bezierChoiceDisable_ = g_Config.bSoftwareRendering || g_Config.bHardwareTessellation; + beziersChoice->SetDisabledPtr(&bezierChoiceDisable_); CheckBox *tessellationHW = graphicsSettings->Add(new CheckBox(&g_Config.bHardwareTessellation, gr->T("Hardware Tessellation"))); + tessellationHW->OnClick.Add([=](EventParams &e) { + bezierChoiceDisable_ = g_Config.bSoftwareRendering || g_Config.bHardwareTessellation; + return UI::EVENT_CONTINUE; + }); tessellationHW->SetEnabledPtr(&vtxCacheEnable_); // Same as Vertex Cache(!g_Config.bSoftwareRendering && g_Config.bHardwareTransform) // In case we're going to add few other antialiasing option like MSAA in the future. @@ -718,6 +723,7 @@ UI::EventReturn GameSettingsScreen::OnSoftwareRendering(UI::EventParams &e) { vtxCacheEnable_ = !g_Config.bSoftwareRendering && g_Config.bHardwareTransform; postProcEnable_ = !g_Config.bSoftwareRendering && (g_Config.iRenderingMode != FB_NON_BUFFERED_MODE); resolutionEnable_ = !g_Config.bSoftwareRendering && (g_Config.iRenderingMode != FB_NON_BUFFERED_MODE); + bezierChoiceDisable_ = g_Config.bSoftwareRendering || g_Config.bHardwareTessellation; return UI::EVENT_DONE; } diff --git a/UI/GameSettingsScreen.h b/UI/GameSettingsScreen.h index 64b15e20dc..64ff85a100 100644 --- a/UI/GameSettingsScreen.h +++ b/UI/GameSettingsScreen.h @@ -116,6 +116,7 @@ private: bool postProcEnable_; bool resolutionEnable_; bool bloomHackEnable_; + bool bezierChoiceDisable_; }; class SettingInfoMessage : public UI::TextView {