Better shadow type selection UI
parent
009b3abc03
commit
78a279b479
|
@ -444,13 +444,13 @@ msgstr ""
|
|||
msgid "MSAA\\Multisample anti-aliasing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Simple shadows\\Shadows on the ground"
|
||||
msgid "Simple shadows\\Shadows spots on the ground"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow mapping\\Beautiful shadows!"
|
||||
msgid "Dynamic shadows\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Better shadow maps\\Shadow transparency and self shadowing"
|
||||
msgid "Quality dynamic shadows\\Enable shadow transparency and self shadowing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow resolution\\Higher means better range and quality, but slower"
|
||||
|
|
14
po/de.po
14
po/de.po
|
@ -185,9 +185,6 @@ msgstr "Rückwärts\\Bewegung nach hinten"
|
|||
msgid "Bad argument for \"new\""
|
||||
msgstr "Falsche Argumente für \"new\""
|
||||
|
||||
msgid "Better shadow maps\\Shadow transparency and self shadowing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
|
||||
msgstr "Einrücken mit 4 Leerstellen\\Einrücken mit 2 oder 4 Leerstellen"
|
||||
|
||||
|
@ -513,6 +510,9 @@ msgstr "Schmutz\\Schmutz auf Robotern und Bauten"
|
|||
msgid "Dynamic lighting\\Mobile light sources"
|
||||
msgstr "Dynamische Beleuchtung\\Dynamische Beleuchtung"
|
||||
|
||||
msgid "Dynamic shadows\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit the selected program"
|
||||
msgstr "Gewähltes Programm bearbeiten"
|
||||
|
||||
|
@ -1183,6 +1183,9 @@ msgstr "Öffentlich\\Gemeinsamer Ordner für alle Spieler"
|
|||
msgid "Quake at explosions\\The screen shakes at explosions"
|
||||
msgstr "Beben bei Explosionen\\Die Kamera bebt bei Explosionen"
|
||||
|
||||
msgid "Quality dynamic shadows\\Enable shadow transparency and self shadowing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Quit\\Quit Colobot: Gold Edition"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1328,9 +1331,6 @@ msgstr "Astronauten auswählen\\Astronauten auswählen"
|
|||
msgid "Semicolon terminator missing"
|
||||
msgstr "Es fehlt ein Strichpunkt \";\" am Ende der Anweisung"
|
||||
|
||||
msgid "Shadow mapping\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow resolution\\Higher means better range and quality, but slower"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1362,7 +1362,7 @@ msgid "Sign \" : \" missing"
|
|||
msgstr "Es fehlt ein Doppelpunkt \" : \""
|
||||
|
||||
#, fuzzy
|
||||
msgid "Simple shadows\\Shadows on the ground"
|
||||
msgid "Simple shadows\\Shadows spots on the ground"
|
||||
msgstr "Schatten\\Schlagschatten auf dem Boden"
|
||||
|
||||
msgid "Size 1"
|
||||
|
|
14
po/fr.po
14
po/fr.po
|
@ -180,9 +180,6 @@ msgstr "Reculer\\Moteur en arrière"
|
|||
msgid "Bad argument for \"new\""
|
||||
msgstr "Mauvais argument pour \"new\""
|
||||
|
||||
msgid "Better shadow maps\\Shadow transparency and self shadowing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
|
||||
msgstr "Grande indentation\\Indente avec 2 ou 4 espaces"
|
||||
|
||||
|
@ -508,6 +505,9 @@ msgstr "Salissures\\Salissures des robots et bâtiments"
|
|||
msgid "Dynamic lighting\\Mobile light sources"
|
||||
msgstr "Lumières dynamiques\\Éclairages mobiles"
|
||||
|
||||
msgid "Dynamic shadows\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit the selected program"
|
||||
msgstr "Édite le programme sélectionné"
|
||||
|
||||
|
@ -1179,6 +1179,9 @@ msgstr "Public\\Dossier commun à tous les joueurs"
|
|||
msgid "Quake at explosions\\The screen shakes at explosions"
|
||||
msgstr "Secousses lors d'explosions\\L'écran vibre lors d'une explosion"
|
||||
|
||||
msgid "Quality dynamic shadows\\Enable shadow transparency and self shadowing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Quit\\Quit Colobot: Gold Edition"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1324,9 +1327,6 @@ msgstr "Sélectionner le cosmonaute\\Sélectionner le cosmonaute"
|
|||
msgid "Semicolon terminator missing"
|
||||
msgstr "Terminateur point-virgule non trouvé"
|
||||
|
||||
msgid "Shadow mapping\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow resolution\\Higher means better range and quality, but slower"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1358,7 +1358,7 @@ msgid "Sign \" : \" missing"
|
|||
msgstr "Séparateur \" : \" attendu"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Simple shadows\\Shadows on the ground"
|
||||
msgid "Simple shadows\\Shadows spots on the ground"
|
||||
msgstr "Ombres\\Ombres projetées au sol"
|
||||
|
||||
msgid "Size 1"
|
||||
|
|
15
po/pl.po
15
po/pl.po
|
@ -188,9 +188,6 @@ msgstr "Wstecz\\Porusza do tyłu"
|
|||
msgid "Bad argument for \"new\""
|
||||
msgstr "Zły argument dla funkcji \"new\""
|
||||
|
||||
msgid "Better shadow maps\\Shadow transparency and self shadowing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
|
||||
msgstr ""
|
||||
"Duże wcięcie\\2 lub 4 spacje wcięcia na każdy poziom zdefiniowany przez "
|
||||
|
@ -515,6 +512,9 @@ msgstr "Kurz\\Kurz i bród na robotach i budynkach"
|
|||
msgid "Dynamic lighting\\Mobile light sources"
|
||||
msgstr "Dynamiczne oświetlenie\\Ruchome źródła światła"
|
||||
|
||||
msgid "Dynamic shadows\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit the selected program"
|
||||
msgstr "Edytuj zaznaczony program"
|
||||
|
||||
|
@ -1183,6 +1183,9 @@ msgstr "Publiczny\\Folder ogólnodostępny"
|
|||
msgid "Quake at explosions\\The screen shakes at explosions"
|
||||
msgstr "Wstrząsy przy wybuchach\\Ekran trzęsie się podczas wybuchów"
|
||||
|
||||
msgid "Quality dynamic shadows\\Enable shadow transparency and self shadowing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Quit\\Quit Colobot: Gold Edition"
|
||||
msgstr "Wyjdź\\Kończy grę Colobot: Gold Edition"
|
||||
|
||||
|
@ -1326,9 +1329,6 @@ msgstr "Zaznacz astronautę\\Zaznacza astronautę"
|
|||
msgid "Semicolon terminator missing"
|
||||
msgstr "Brak średnika na końcu wiersza"
|
||||
|
||||
msgid "Shadow mapping\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow resolution\\Higher means better range and quality, but slower"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1359,7 +1359,8 @@ msgstr "Pokaż rozwiązanie"
|
|||
msgid "Sign \" : \" missing"
|
||||
msgstr "Brak znaku \" :\""
|
||||
|
||||
msgid "Simple shadows\\Shadows on the ground"
|
||||
#, fuzzy
|
||||
msgid "Simple shadows\\Shadows spots on the ground"
|
||||
msgstr "Proste cienie\\Cienie na ziemi"
|
||||
|
||||
msgid "Size 1"
|
||||
|
|
14
po/ru.po
14
po/ru.po
|
@ -180,9 +180,6 @@ msgstr "Назад\\Двигаться назад"
|
|||
msgid "Bad argument for \"new\""
|
||||
msgstr "Неверный аргумент для \"new\""
|
||||
|
||||
msgid "Better shadow maps\\Shadow transparency and self shadowing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
|
||||
msgstr "Большой отступ\\Отступать на 2 или 4 пробела, в зависимости от скобок"
|
||||
|
||||
|
@ -507,6 +504,9 @@ msgstr "Пыль\\Пыль и грязь на ботах и зданиях"
|
|||
msgid "Dynamic lighting\\Mobile light sources"
|
||||
msgstr "Динамическое освещение\\Подвижные источники света"
|
||||
|
||||
msgid "Dynamic shadows\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit the selected program"
|
||||
msgstr "Изменить выбранную программу"
|
||||
|
||||
|
@ -1179,6 +1179,9 @@ msgstr "Общее\\Общая папка"
|
|||
msgid "Quake at explosions\\The screen shakes at explosions"
|
||||
msgstr "Землетряс. при взрывах\\Тряска экрана при взрывах"
|
||||
|
||||
msgid "Quality dynamic shadows\\Enable shadow transparency and self shadowing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Quit\\Quit Colobot: Gold Edition"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1322,9 +1325,6 @@ msgstr "Выбор астронавта\\Выбор астронавта"
|
|||
msgid "Semicolon terminator missing"
|
||||
msgstr "Отсутствует точка с запятой"
|
||||
|
||||
msgid "Shadow mapping\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow resolution\\Higher means better range and quality, but slower"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1356,7 +1356,7 @@ msgid "Sign \" : \" missing"
|
|||
msgstr "Знак \" : \" отсутствует"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Simple shadows\\Shadows on the ground"
|
||||
msgid "Simple shadows\\Shadows spots on the ground"
|
||||
msgstr "Тени\\Тени на земле"
|
||||
|
||||
msgid "Size 1"
|
||||
|
|
|
@ -193,7 +193,6 @@ void InitializeEventTypeTexts()
|
|||
EVENT_TYPE_TEXT[EVENT_INTERFACE_FULL] = "EVENT_INTERFACE_FULL";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_APPLY] = "EVENT_INTERFACE_APPLY";
|
||||
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_SHADOW] = "EVENT_INTERFACE_SHADOW";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_DIRTY] = "EVENT_INTERFACE_DIRTY";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_LIGHT] = "EVENT_INTERFACE_LIGHT";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_PARTI] = "EVENT_INTERFACE_PARTI";
|
||||
|
@ -219,6 +218,7 @@ void InitializeEventTypeTexts()
|
|||
EVENT_TYPE_TEXT[EVENT_INTERFACE_TEXTURE_MIPMAP] = "EVENT_INTERFACE_TEXTURE_MIPMAP";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_TEXTURE_ANISOTROPY] = "EVENT_INTERFACE_TEXTURE_ANISOTROPY";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_MSAA] = "EVENT_INTERFACE_MSAA";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_SHADOW_SPOTS] = "EVENT_INTERFACE_SHADOW_SPOTS";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_SHADOW_MAPPING] = "EVENT_INTERFACE_SHADOW_MAPPING";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_SHADOW_MAPPING_QUALITY] = "EVENT_INTERFACE_SHADOW_MAPPING_QUALITY";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_SHADOW_MAPPING_BUFFER] = "EVENT_INTERFACE_SHADOW_MAPPING_BUFFER";
|
||||
|
|
|
@ -217,7 +217,7 @@ enum EventType
|
|||
EVENT_INTERFACE_FULL = 442,
|
||||
EVENT_INTERFACE_APPLY = 443,
|
||||
|
||||
EVENT_INTERFACE_SHADOW = 451,
|
||||
EVENT_INTERFACE_SHADOW_SPOTS = 451,
|
||||
EVENT_INTERFACE_DIRTY = 452,
|
||||
EVENT_INTERFACE_LIGHT = 457,
|
||||
EVENT_INTERFACE_PARTI = 458,
|
||||
|
|
|
@ -219,9 +219,9 @@ void InitializeRestext()
|
|||
stringsEvent[EVENT_INTERFACE_TEXTURE_MIPMAP] = TR("Mipmap level\\Mipmap level");
|
||||
stringsEvent[EVENT_INTERFACE_TEXTURE_ANISOTROPY]= TR("Anisotropy level\\Anisotropy level");
|
||||
stringsEvent[EVENT_INTERFACE_MSAA] = TR("MSAA\\Multisample anti-aliasing");
|
||||
stringsEvent[EVENT_INTERFACE_SHADOW] = TR("Simple shadows\\Shadows on the ground");
|
||||
stringsEvent[EVENT_INTERFACE_SHADOW_MAPPING] = TR("Shadow mapping\\Beautiful shadows!");
|
||||
stringsEvent[EVENT_INTERFACE_SHADOW_MAPPING_QUALITY]= TR("Better shadow maps\\Shadow transparency and self shadowing");
|
||||
stringsEvent[EVENT_INTERFACE_SHADOW_SPOTS] = TR("Simple shadows\\Shadows spots on the ground");
|
||||
stringsEvent[EVENT_INTERFACE_SHADOW_MAPPING] = TR("Dynamic shadows\\Beautiful shadows!");
|
||||
stringsEvent[EVENT_INTERFACE_SHADOW_MAPPING_QUALITY]= TR("Quality dynamic shadows\\Enable shadow transparency and self shadowing");
|
||||
stringsEvent[EVENT_INTERFACE_SHADOW_MAPPING_BUFFER] = TR("Shadow resolution\\Higher means better range and quality, but slower");
|
||||
|
||||
stringsEvent[EVENT_INTERFACE_KDEF] = TR("Standard controls\\Standard key functions");
|
||||
|
|
|
@ -81,7 +81,6 @@ void CSettings::SaveSettings()
|
|||
GetConfigFile().SetIntProperty("Setup", "Autosave", main->GetAutosave());
|
||||
GetConfigFile().SetIntProperty("Setup", "AutosaveInterval", main->GetAutosaveInterval());
|
||||
GetConfigFile().SetIntProperty("Setup", "AutosaveSlots", main->GetAutosaveSlots());
|
||||
GetConfigFile().SetIntProperty("Setup", "GroundShadow", engine->GetShadow());
|
||||
GetConfigFile().SetIntProperty("Setup", "ObjectDirty", engine->GetDirty());
|
||||
GetConfigFile().SetIntProperty("Setup", "FogMode", engine->GetFog());
|
||||
GetConfigFile().SetIntProperty("Setup", "LightMode", engine->GetLightMode());
|
||||
|
@ -174,9 +173,6 @@ void CSettings::LoadSettings()
|
|||
if (GetConfigFile().GetIntProperty("Setup", "AutosaveSlots", iValue))
|
||||
main->SetAutosaveSlots(iValue);
|
||||
|
||||
if (GetConfigFile().GetIntProperty("Setup", "GroundShadow", iValue))
|
||||
engine->SetShadow(iValue);
|
||||
|
||||
if (GetConfigFile().GetIntProperty("Setup", "ObjectDirty", iValue))
|
||||
engine->SetDirty(iValue);
|
||||
|
||||
|
|
|
@ -108,7 +108,6 @@ CEngine::CEngine(CApplication *app, CSystemUtils* systemUtils)
|
|||
|
||||
m_render = true;
|
||||
m_screenshotMode = false;
|
||||
m_shadowVisible = true;
|
||||
m_dirty = true;
|
||||
m_fog = true;
|
||||
m_secondTex = "";
|
||||
|
@ -2583,16 +2582,6 @@ float CEngine::GetFocus()
|
|||
return m_focus;
|
||||
}
|
||||
|
||||
void CEngine::SetShadow(bool mode)
|
||||
{
|
||||
m_shadowVisible = mode;
|
||||
}
|
||||
|
||||
bool CEngine::GetShadow()
|
||||
{
|
||||
return m_shadowVisible;
|
||||
}
|
||||
|
||||
void CEngine::SetShadowColor(float value)
|
||||
{
|
||||
m_shadowColor = value;
|
||||
|
@ -3207,9 +3196,9 @@ void CEngine::Draw3DScene()
|
|||
if (!m_qualityShadows)
|
||||
UseShadowMapping(false);
|
||||
|
||||
// Draws the shadows, if shadows enabled and shadow mapping disabled
|
||||
if (m_shadowVisible && !m_shadowMapping)
|
||||
DrawShadow();
|
||||
// Draws the old-style shadow spots, if shadow mapping disabled
|
||||
if (!m_shadowMapping)
|
||||
DrawShadowSpots();
|
||||
|
||||
|
||||
m_app->StopPerformanceCounter(PCNT_RENDER_TERRAIN);
|
||||
|
@ -3829,7 +3818,7 @@ void CEngine::DrawInterface()
|
|||
if (! m_objects[objRank].used)
|
||||
continue;
|
||||
|
||||
if (m_shadowVisible && m_objects[objRank].type == ENG_OBJTYPE_TERRAIN)
|
||||
if (m_objects[objRank].type == ENG_OBJTYPE_TERRAIN)
|
||||
continue;
|
||||
|
||||
if (! m_objects[objRank].drawFront)
|
||||
|
@ -4161,7 +4150,7 @@ void CEngine::UpdateGroundSpotTextures()
|
|||
m_firstGroundSpot = false;
|
||||
}
|
||||
|
||||
void CEngine::DrawShadow()
|
||||
void CEngine::DrawShadowSpots()
|
||||
{
|
||||
m_device->SetRenderState(RENDER_STATE_DEPTH_WRITE, false);
|
||||
m_device->SetRenderState(RENDER_STATE_LIGHTING, false);
|
||||
|
|
|
@ -956,13 +956,6 @@ public:
|
|||
float GetFocus();
|
||||
//@}
|
||||
|
||||
//@{
|
||||
//! Management of the global mode of shading
|
||||
// NOTE: This is an user configuration setting
|
||||
void SetShadow(bool mode);
|
||||
bool GetShadow();
|
||||
//@}
|
||||
|
||||
//@{
|
||||
//! Management of the global mode of contamination
|
||||
// NOTE: This is an user configuration setting
|
||||
|
@ -1198,8 +1191,8 @@ protected:
|
|||
//! Updates the textures used for drawing ground spot
|
||||
void UpdateGroundSpotTextures();
|
||||
|
||||
//! Draws shadows
|
||||
void DrawShadow();
|
||||
//! Draws old-style shadow spots
|
||||
void DrawShadowSpots();
|
||||
//! Draws the gradient background
|
||||
void DrawBackground();
|
||||
//! Draws the gradient background
|
||||
|
@ -1381,7 +1374,6 @@ protected:
|
|||
bool m_backForce;
|
||||
float m_tracePrecision;
|
||||
|
||||
bool m_shadowVisible;
|
||||
bool m_dirty;
|
||||
bool m_fog;
|
||||
float m_particleDensity;
|
||||
|
|
|
@ -2772,7 +2772,6 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
|
|||
m_ui->GetLoadingScreen()->SetProgress(0.1f, RT_LOADING_LEVEL_SETTINGS);
|
||||
|
||||
int rankObj = 0;
|
||||
int rankGadget = 0;
|
||||
CObject* sel = 0;
|
||||
|
||||
/*
|
||||
|
|
|
@ -116,7 +116,7 @@ void CScreenSetupGraphics::CreateInterface()
|
|||
pos.y = 0.65f;
|
||||
ddim.x = dim.x*3;
|
||||
ddim.y = dim.y*0.5f;
|
||||
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SHADOW);
|
||||
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SHADOW_SPOTS);
|
||||
pc->SetState(STATE_SHADOW);
|
||||
pos.y -= 0.048f;
|
||||
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SHADOW_MAPPING);
|
||||
|
@ -124,10 +124,6 @@ void CScreenSetupGraphics::CreateInterface()
|
|||
pos.y -= 0.048f;
|
||||
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SHADOW_MAPPING_QUALITY);
|
||||
pc->SetState(STATE_SHADOW);
|
||||
if (!m_engine->IsShadowMappingQualitySupported())
|
||||
{
|
||||
pc->ClearState(STATE_ENABLE);
|
||||
}
|
||||
pos.y -= 0.048f*1.5f;
|
||||
|
||||
ddim.x = dim.x*2.2f;
|
||||
|
@ -139,7 +135,8 @@ void CScreenSetupGraphics::CreateInterface()
|
|||
};
|
||||
if (m_engine->GetDevice()->IsFramebufferSupported())
|
||||
{
|
||||
for(int i = 128; i <= m_engine->GetDevice()->GetMaxTextureSize(); i *= 2)
|
||||
const int MAX_SHADOW_TEXTURE_SIZE = 8192;
|
||||
for(int i = 128; i <= Math::Min(m_engine->GetDevice()->GetMaxTextureSize(), MAX_SHADOW_TEXTURE_SIZE); i *= 2)
|
||||
shadowOptions[i] = StrUtils::ToString<int>(i)+"x"+StrUtils::ToString<int>(i);
|
||||
pes->SetPossibleValues(shadowOptions);
|
||||
}
|
||||
|
@ -249,43 +246,42 @@ bool CScreenSetupGraphics::EventProcess(const Event &event)
|
|||
|
||||
switch( event.type )
|
||||
{
|
||||
case EVENT_INTERFACE_SHADOW:
|
||||
m_engine->SetShadow(!m_engine->GetShadow());
|
||||
case EVENT_INTERFACE_PARTI:
|
||||
case EVENT_INTERFACE_CLIP:
|
||||
ChangeSetupButtons();
|
||||
UpdateSetupButtons();
|
||||
break;
|
||||
|
||||
case EVENT_INTERFACE_DIRTY:
|
||||
m_engine->SetDirty(!m_engine->GetDirty());
|
||||
ChangeSetupButtons();
|
||||
UpdateSetupButtons();
|
||||
break;
|
||||
|
||||
case EVENT_INTERFACE_FOG:
|
||||
m_engine->SetFog(!m_engine->GetFog());
|
||||
m_camera->SetOverBaseColor(Gfx::Color(0.0f, 0.0f, 0.0f, 0.0f)); // TODO: color ok?
|
||||
ChangeSetupButtons();
|
||||
UpdateSetupButtons();
|
||||
break;
|
||||
|
||||
case EVENT_INTERFACE_LIGHT:
|
||||
m_engine->SetLightMode(!m_engine->GetLightMode());
|
||||
ChangeSetupButtons();
|
||||
UpdateSetupButtons();
|
||||
break;
|
||||
|
||||
case EVENT_INTERFACE_PARTI:
|
||||
case EVENT_INTERFACE_CLIP:
|
||||
ChangeSetupButtons();
|
||||
case EVENT_INTERFACE_SHADOW_SPOTS:
|
||||
m_engine->SetShadowMapping(false);
|
||||
m_engine->SetShadowMappingQuality(false);
|
||||
UpdateSetupButtons();
|
||||
break;
|
||||
|
||||
case EVENT_INTERFACE_SHADOW_MAPPING:
|
||||
m_engine->SetShadowMapping(!m_engine->GetShadowMapping());
|
||||
m_engine->SetShadowMapping(true);
|
||||
m_engine->SetShadowMappingQuality(false);
|
||||
UpdateSetupButtons();
|
||||
break;
|
||||
|
||||
case EVENT_INTERFACE_SHADOW_MAPPING_QUALITY:
|
||||
m_engine->SetShadowMappingQuality(!m_engine->GetShadowMappingQuality());
|
||||
m_engine->SetShadowMapping(true);
|
||||
m_engine->SetShadowMappingQuality(true);
|
||||
UpdateSetupButtons();
|
||||
break;
|
||||
|
||||
|
@ -330,6 +326,72 @@ void CScreenSetupGraphics::UpdateSetupButtons()
|
|||
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW5));
|
||||
if ( pw == 0 ) return;
|
||||
|
||||
pv = static_cast<CEditValue*>(pw->SearchControl(EVENT_INTERFACE_PARTI));
|
||||
if ( pv != 0 )
|
||||
{
|
||||
value = m_engine->GetParticleDensity();
|
||||
pv->SetValue(value);
|
||||
}
|
||||
|
||||
pv = static_cast<CEditValue*>(pw->SearchControl(EVENT_INTERFACE_CLIP));
|
||||
if ( pv != 0 )
|
||||
{
|
||||
value = m_engine->GetClippingDistance();
|
||||
pv->SetValue(value);
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_DIRTY));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_CHECK, m_engine->GetDirty());
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_FOG));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_CHECK, m_engine->GetFog());
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_LIGHT));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_CHECK, m_engine->GetLightMode());
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_SPOTS));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_CHECK, !m_engine->GetShadowMapping());
|
||||
}
|
||||
|
||||
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() && !m_engine->GetShadowMappingQuality());
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_MAPPING_QUALITY));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_ENABLE, m_engine->IsShadowMappingQualitySupported());
|
||||
pc->SetState(STATE_CHECK, m_engine->GetShadowMapping() && m_engine->GetShadowMappingQuality());
|
||||
}
|
||||
|
||||
pes = static_cast<CEnumSlider*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_MAPPING_BUFFER));
|
||||
if ( pes != 0 )
|
||||
{
|
||||
pes->SetState(STATE_ENABLE, m_engine->GetShadowMapping() && m_engine->GetDevice()->IsFramebufferSupported());
|
||||
if (!m_engine->GetShadowMappingOffscreen())
|
||||
{
|
||||
pes->SetVisibleValue(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
pes->SetVisibleValue(m_engine->GetShadowMappingOffscreenResolution());
|
||||
}
|
||||
}
|
||||
|
||||
pes = static_cast<CEnumSlider*>(pw->SearchControl(EVENT_INTERFACE_TEXTURE_FILTER));
|
||||
if ( pes != 0 )
|
||||
{
|
||||
|
@ -354,73 +416,6 @@ void CScreenSetupGraphics::UpdateSetupButtons()
|
|||
{
|
||||
pes->SetVisibleValue(m_engine->GetMultiSample());
|
||||
}
|
||||
|
||||
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() && m_engine->IsShadowMappingQualitySupported());
|
||||
pc->SetState(STATE_CHECK, m_engine->GetShadowMapping() && m_engine->GetShadowMappingQuality());
|
||||
}
|
||||
|
||||
pes = static_cast<CEnumSlider*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_MAPPING_BUFFER));
|
||||
if ( pes != 0 )
|
||||
{
|
||||
pes->SetState(STATE_ENABLE, m_engine->GetShadowMapping() && m_engine->GetDevice()->IsFramebufferSupported());
|
||||
if (!m_engine->GetShadowMappingOffscreen())
|
||||
{
|
||||
pes->SetVisibleValue(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
pes->SetVisibleValue(m_engine->GetShadowMappingOffscreenResolution());
|
||||
}
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_SHADOW));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_ENABLE, !m_engine->GetShadowMapping());
|
||||
pc->SetState(STATE_CHECK, !m_engine->GetShadowMapping() && m_engine->GetShadow());
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_DIRTY));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_CHECK, m_engine->GetDirty());
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_FOG));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_CHECK, m_engine->GetFog());
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_LIGHT));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
pc->SetState(STATE_CHECK, m_engine->GetLightMode());
|
||||
}
|
||||
|
||||
pv = static_cast<CEditValue*>(pw->SearchControl(EVENT_INTERFACE_PARTI));
|
||||
if ( pv != 0 )
|
||||
{
|
||||
value = m_engine->GetParticleDensity();
|
||||
pv->SetValue(value);
|
||||
}
|
||||
|
||||
pv = static_cast<CEditValue*>(pw->SearchControl(EVENT_INTERFACE_CLIP));
|
||||
if ( pv != 0 )
|
||||
{
|
||||
value = m_engine->GetClippingDistance();
|
||||
pv->SetValue(value);
|
||||
}
|
||||
}
|
||||
|
||||
// Updates the engine function of the buttons after the setup phase.
|
||||
|
@ -502,7 +497,6 @@ void CScreenSetupGraphics::ChangeSetupQuality(int quality)
|
|||
float value;
|
||||
|
||||
bEnable = true; //(quality >= 0);
|
||||
m_engine->SetShadow(bEnable);
|
||||
m_engine->SetDirty(bEnable);
|
||||
m_engine->SetFog(bEnable);
|
||||
m_engine->SetLightMode(bEnable);
|
||||
|
|
Loading…
Reference in New Issue