Fixed CEngine trying to use unsupported values as defaults, closes #552
Also fixed the settings buttons not being disabled properlymaster
parent
222517a5e7
commit
1d6c3cc748
|
@ -288,6 +288,13 @@ bool CEngine::Create()
|
|||
m_size = m_app->GetVideoConfig().size;
|
||||
m_mouseSize = Math::Point(0.04f, 0.04f * (m_size.x / m_size.y));
|
||||
|
||||
// Use the setters to set defaults, because they automatically disable what is not supported
|
||||
SetShadowMapping(m_shadowMapping);
|
||||
SetShadowMappingQuality(m_qualityShadows);
|
||||
SetShadowMappingOffscreen(m_offscreenShadowRendering);
|
||||
SetShadowMappingOffscreenResolution(m_offscreenShadowRenderingResolution);
|
||||
SetMultiSample(m_multisample);
|
||||
|
||||
m_modelManager = MakeUnique<COldModelManager>(this);
|
||||
m_pyroManager = MakeUnique<CPyroManager>();
|
||||
m_lightMan = MakeUnique<CLightManager>(this);
|
||||
|
|
|
@ -417,13 +417,14 @@ void CScreenSetupGraphics::UpdateSetupButtons()
|
|||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_MAPPING));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_ENABLE, m_engine->IsShadowMappingSupported());
|
||||
pc->SetState(STATE_CHECK, m_engine->GetShadowMapping());
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_MAPPING_QUALITY));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_ENABLE, m_engine->GetShadowMapping());
|
||||
pc->SetState(STATE_ENABLE, m_engine->GetShadowMapping() && m_engine->IsShadowMappingQualitySupported());
|
||||
pc->SetState(STATE_CHECK, m_engine->GetShadowMapping() && m_engine->GetShadowMappingQuality());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue