diff --git a/data/gui/custom_video_settings.stkgui b/data/gui/custom_video_settings.stkgui
index 2ae3c8eed..35039a75a 100644
--- a/data/gui/custom_video_settings.stkgui
+++ b/data/gui/custom_video_settings.stkgui
@@ -25,9 +25,20 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/states_screens/dialogs/custom_video_settings.cpp b/src/states_screens/dialogs/custom_video_settings.cpp
index 8c37e9e47..5a35cfd70 100644
--- a/src/states_screens/dialogs/custom_video_settings.cpp
+++ b/src/states_screens/dialogs/custom_video_settings.cpp
@@ -92,6 +92,7 @@ void CustomVideoSettingsDialog::beforeAddingWidgets()
shadows->setValue(0);
getWidget("dynamiclight")->setState(UserConfigParams::m_dynamic_lights);
getWidget("lightshaft")->setState(UserConfigParams::m_light_shaft);
+ getWidget("ibl")->setState(!UserConfigParams::m_degraded_IBL);
getWidget("global_illumination")->setState(UserConfigParams::m_gi);
getWidget("motionblur")->setState(UserConfigParams::m_motionblur);
getWidget("mlaa")->setState(UserConfigParams::m_mlaa);
@@ -150,6 +151,9 @@ GUIEngine::EventPropagation CustomVideoSettingsDialog::processEvent(const std::s
UserConfigParams::m_light_shaft =
advanced_pipeline && getWidget("lightshaft")->getState();
+ UserConfigParams::m_degraded_IBL =
+ !getWidget("ibl")->getState();
+
UserConfigParams::m_gi =
advanced_pipeline && CVS->supportsGlobalIllumination() &&
getWidget("global_illumination")->getState();
@@ -231,6 +235,7 @@ void CustomVideoSettingsDialog::updateActivation()
getWidget("mlaa")->setActivated();
getWidget("ssao")->setActivated();
getWidget("lightshaft")->setActivated();
+ getWidget("ibl")->setActivated();
getWidget("global_illumination")->setActivated();
getWidget("glow")->setActivated();
getWidget("bloom")->setActivated();
@@ -243,6 +248,7 @@ void CustomVideoSettingsDialog::updateActivation()
getWidget("mlaa")->setDeactivated();
getWidget("ssao")->setDeactivated();
getWidget("lightshaft")->setDeactivated();
+ getWidget("ibl")->setDeactivated();
getWidget("global_illumination")->setDeactivated();
getWidget("glow")->setDeactivated();
getWidget("bloom")->setDeactivated();
diff --git a/src/states_screens/options_screen_video.cpp b/src/states_screens/options_screen_video.cpp
index 958506182..2e144d697 100644
--- a/src/states_screens/options_screen_video.cpp
+++ b/src/states_screens/options_screen_video.cpp
@@ -61,6 +61,7 @@ struct GFXPreset
/** Depth of field */
bool dof;
bool global_illumination;
+ bool degraded_ibl;
};
static GFXPreset GFX_PRESETS[] =
@@ -69,35 +70,35 @@ static GFXPreset GFX_PRESETS[] =
false /* light */, 0 /* shadow */, false /* bloom */, false /* motionblur */,
false /* lightshaft */, false /* glow */, false /* mlaa */, false /* ssao */, false /* weather */,
false /* animatedScenery */, 0 /* animatedCharacters */, 0 /* anisotropy */,
- false /* depth of field */, false /* global illumination */
+ false /* depth of field */, false /* global illumination */, true /* degraded IBL */
},
{
false /* light */, 0 /* shadow */, false /* bloom */, false /* motionblur */,
false /* lightshaft */, false /* glow */, false /* mlaa */, false /* ssao */, false /* weather */,
true /* animatedScenery */, 1 /* animatedCharacters */, 4 /* anisotropy */,
- false /* depth of field */, false /* global illumination */
+ false /* depth of field */, false /* global illumination */, true /* degraded IBL */
},
{
true /* light */, 0 /* shadow */, false /* bloom */, false /* motionblur */,
false /* lightshaft */, false /* glow */, false /* mlaa */, false /* ssao */, true /* weather */,
true /* animatedScenery */, 1 /* animatedCharacters */, 4 /* anisotropy */,
- false /* depth of field */, false /* global illumination */
+ false /* depth of field */, false /* global illumination */, true /* degraded IBL */
},
{
true /* light */, 0 /* shadow */, false /* bloom */, true /* motionblur */,
true /* lightshaft */, true /* glow */, true /* mlaa */, false /* ssao */, true /* weather */,
true /* animatedScenery */, 1 /* animatedCharacters */, 8 /* anisotropy */,
- false /* depth of field */, false /* global illumination */
+ false /* depth of field */, false /* global illumination */, false /* degraded IBL */
},
{
true /* light */, 1024 /* shadow */, true /* bloom */, true /* motionblur */,
true /* lightshaft */, true /* glow */, true /* mlaa */, true /* ssao */, true /* weather */,
true /* animatedScenery */, 2 /* animatedCharacters */, 16 /* anisotropy */,
- true /* depth of field */, true /* global illumination */
+ true /* depth of field */, true /* global illumination */, false /* degraded IBL */
}
};
@@ -395,7 +396,8 @@ void OptionsScreenVideo::updateGfxSlider()
GFX_PRESETS[l].ssao == UserConfigParams::m_ssao &&
GFX_PRESETS[l].weather == UserConfigParams::m_weather_effects &&
GFX_PRESETS[l].dof == UserConfigParams::m_dof &&
- GFX_PRESETS[l].global_illumination == UserConfigParams::m_gi)
+ GFX_PRESETS[l].global_illumination == UserConfigParams::m_gi &&
+ GFX_PRESETS[l].degraded_ibl == UserConfigParams::m_degraded_IBL)
{
gfx->setValue(l + 1);
found = true;
@@ -567,6 +569,7 @@ void OptionsScreenVideo::eventCallback(Widget* widget, const std::string& name,
UserConfigParams::m_weather_effects = GFX_PRESETS[level].weather;
UserConfigParams::m_dof = GFX_PRESETS[level].dof;
UserConfigParams::m_gi = GFX_PRESETS[level].global_illumination;
+ UserConfigParams::m_degraded_IBL = GFX_PRESETS[level].degraded_ibl;
updateGfxSlider();
}