From 2e7f2998c7ed84e5a275079d47d60adbfd7a5d41 Mon Sep 17 00:00:00 2001 From: xebra Date: Mon, 9 Jan 2017 19:18:27 +0900 Subject: [PATCH] Exclusion control for options between spline/bezier quality and hardware tessellation. --- UI/GameSettingsScreen.cpp | 8 +++++++- UI/GameSettingsScreen.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) 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 {