Moved some interface controls around
parent
ec3ded75b8
commit
e05fba22fd
|
@ -324,9 +324,6 @@ msgstr ""
|
|||
msgid "Robbie\\Your assistant"
|
||||
msgstr ""
|
||||
|
||||
msgid "Simple shadows\\Shadows on the ground"
|
||||
msgstr ""
|
||||
|
||||
msgid "Marks on the ground\\Marks on the ground"
|
||||
msgstr ""
|
||||
|
||||
|
@ -423,13 +420,18 @@ msgstr ""
|
|||
msgid "MSAA\\Multisample anti-aliasing"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Shadow mapping\\Shadow buffer resolution, higher is bigger range but slower"
|
||||
msgid "Simple shadows\\Shadows on the ground"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow mapping\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Better shadow maps\\Shadow transparency and self shadowing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow resolution\\Higher means better range and quality, but slower"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standard controls\\Standard key functions"
|
||||
msgstr ""
|
||||
|
||||
|
|
6
po/de.po
6
po/de.po
|
@ -1311,8 +1311,10 @@ msgstr "Astronauten auswählen\\Astronauten auswählen"
|
|||
msgid "Semicolon terminator missing"
|
||||
msgstr "Es fehlt ein Strichpunkt \";\" am Ende der Anweisung"
|
||||
|
||||
msgid ""
|
||||
"Shadow mapping\\Shadow buffer resolution, higher is bigger range but slower"
|
||||
msgid "Shadow mapping\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow resolution\\Higher means better range and quality, but slower"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shield level"
|
||||
|
|
6
po/fr.po
6
po/fr.po
|
@ -1307,8 +1307,10 @@ msgstr "Sélectionner le cosmonaute\\Sélectionner le cosmonaute"
|
|||
msgid "Semicolon terminator missing"
|
||||
msgstr "Terminateur point-virgule non trouvé"
|
||||
|
||||
msgid ""
|
||||
"Shadow mapping\\Shadow buffer resolution, higher is bigger range but slower"
|
||||
msgid "Shadow mapping\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow resolution\\Higher means better range and quality, but slower"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shield level"
|
||||
|
|
6
po/pl.po
6
po/pl.po
|
@ -1311,8 +1311,10 @@ msgstr "Zaznacz astronautę\\Zaznacza astronautę"
|
|||
msgid "Semicolon terminator missing"
|
||||
msgstr "Brak średnika na końcu wiersza"
|
||||
|
||||
msgid ""
|
||||
"Shadow mapping\\Shadow buffer resolution, higher is bigger range but slower"
|
||||
msgid "Shadow mapping\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow resolution\\Higher means better range and quality, but slower"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shield level"
|
||||
|
|
6
po/ru.po
6
po/ru.po
|
@ -1305,8 +1305,10 @@ msgstr "Выбор астронавта\\Выбор астронавта"
|
|||
msgid "Semicolon terminator missing"
|
||||
msgstr "Отсутствует точка с запятой"
|
||||
|
||||
msgid ""
|
||||
"Shadow mapping\\Shadow buffer resolution, higher is bigger range but slower"
|
||||
msgid "Shadow mapping\\Beautiful shadows!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shadow resolution\\Higher means better range and quality, but slower"
|
||||
msgstr ""
|
||||
|
||||
msgid "Shield level"
|
||||
|
|
|
@ -227,6 +227,7 @@ void InitializeEventTypeTexts()
|
|||
EVENT_TYPE_TEXT[EVENT_INTERFACE_MSAA] = "EVENT_INTERFACE_MSAA";
|
||||
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";
|
||||
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_KINFO1] = "EVENT_INTERFACE_KINFO1";
|
||||
EVENT_TYPE_TEXT[EVENT_INTERFACE_KINFO2] = "EVENT_INTERFACE_KINFO2";
|
||||
|
|
|
@ -249,6 +249,7 @@ enum EventType
|
|||
EVENT_INTERFACE_MSAA = 786,
|
||||
EVENT_INTERFACE_SHADOW_MAPPING = 787,
|
||||
EVENT_INTERFACE_SHADOW_MAPPING_QUALITY = 788,
|
||||
EVENT_INTERFACE_SHADOW_MAPPING_BUFFER = 789,
|
||||
|
||||
EVENT_INTERFACE_KINFO1 = 500,
|
||||
EVENT_INTERFACE_KINFO2 = 501,
|
||||
|
|
|
@ -179,7 +179,6 @@ void InitializeRestext()
|
|||
stringsEvent[EVENT_INTERFACE_APPLY] = TR("Apply changes\\Activates the changed settings");
|
||||
|
||||
stringsEvent[EVENT_INTERFACE_TOTO] = TR("Robbie\\Your assistant");
|
||||
stringsEvent[EVENT_INTERFACE_SHADOW] = TR("Simple shadows\\Shadows on the ground");
|
||||
stringsEvent[EVENT_INTERFACE_GROUND] = TR("Marks on the ground\\Marks on the ground");
|
||||
stringsEvent[EVENT_INTERFACE_DIRTY] = TR("Dust\\Dust and dirt on bots and buildings");
|
||||
stringsEvent[EVENT_INTERFACE_FOG] = TR("Fog\\Fog");
|
||||
|
@ -212,8 +211,10 @@ 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_MAPPING] = TR("Shadow mapping\\Shadow buffer resolution, higher is bigger range but slower");
|
||||
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_MAPPING_BUFFER] = TR("Shadow resolution\\Higher means better range and quality, but slower");
|
||||
|
||||
stringsEvent[EVENT_INTERFACE_KDEF] = TR("Standard controls\\Standard key functions");
|
||||
assert(INPUT_SLOT_MAX < EVENT_INTERFACE_KEY_END-EVENT_INTERFACE_KEY);
|
||||
|
|
|
@ -67,9 +67,6 @@ void CScreenSetupGraphics::CreateInterface()
|
|||
ddim.y = dim.y*0.5f;
|
||||
pos.x = ox+sx*3;
|
||||
pos.y = 0.65f;
|
||||
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SHADOW);
|
||||
pc->SetState(STATE_SHADOW);
|
||||
pos.y -= 0.048f;
|
||||
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_GROUND);
|
||||
pc->SetState(STATE_SHADOW);
|
||||
if ( m_simulationSetup )
|
||||
|
@ -99,25 +96,6 @@ void CScreenSetupGraphics::CreateInterface()
|
|||
pc->SetState(STATE_DEAD);
|
||||
}
|
||||
|
||||
pos.x = ox+sx*3;
|
||||
pos.y = 0.245f;
|
||||
ddim.x = dim.x*2.2f;
|
||||
ddim.y = 18.0f/480.0f;
|
||||
pes = pw->CreateEnumSlider(pos, ddim, 0, EVENT_INTERFACE_MSAA);
|
||||
pes->SetState(STATE_SHADOW);
|
||||
std::vector<float> msaaOptions;
|
||||
for(int i = 1; i <= m_engine->GetDevice()->GetMaxSamples(); i *= 2)
|
||||
msaaOptions.push_back(i);
|
||||
pes->SetPossibleValues(msaaOptions);
|
||||
if(m_engine->GetDevice()->GetMaxSamples() < 2)
|
||||
pes->ClearState(STATE_ENABLE);
|
||||
pos.y += ddim.y/2;
|
||||
pos.x += 0.005f;
|
||||
ddim.x = 0.40f;
|
||||
GetResource(RES_EVENT, EVENT_INTERFACE_MSAA, name);
|
||||
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL12, name);
|
||||
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
|
||||
|
||||
pos.x = ox+sx*8.5f;
|
||||
pos.y = 0.65f;
|
||||
ddim.x = dim.x*2.2f;
|
||||
|
@ -167,7 +145,70 @@ void CScreenSetupGraphics::CreateInterface()
|
|||
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL13, name);
|
||||
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
|
||||
|
||||
|
||||
pos.x = ox+sx*8.5f;
|
||||
pos.y = 0.475f;
|
||||
ddim.x = dim.x*3;
|
||||
ddim.y = dim.y*0.5f;
|
||||
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SHADOW);
|
||||
pc->SetState(STATE_SHADOW);
|
||||
pos.y -= 0.048f;
|
||||
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SHADOW_MAPPING);
|
||||
pc->SetState(STATE_SHADOW);
|
||||
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;
|
||||
ddim.y = 18.0f/480.0f;
|
||||
pes = pw->CreateEnumSlider(pos, ddim, 0, EVENT_INTERFACE_SHADOW_MAPPING_BUFFER);
|
||||
pes->SetState(STATE_SHADOW);
|
||||
std::map<float, std::string> shadowOptions = {
|
||||
{0, "Screen buffer"}
|
||||
};
|
||||
if (m_engine->GetDevice()->IsFramebufferSupported())
|
||||
{
|
||||
for(int i = 128; i <= m_engine->GetDevice()->GetMaxTextureSize(); i *= 2)
|
||||
shadowOptions[i] = StrUtils::ToString<int>(i)+"x"+StrUtils::ToString<int>(i);
|
||||
pes->SetPossibleValues(shadowOptions);
|
||||
}
|
||||
else
|
||||
{
|
||||
pes->ClearState(STATE_ENABLE);
|
||||
}
|
||||
pos.y += ddim.y/2;
|
||||
pos.x += 0.005f;
|
||||
ddim.x = 0.40f;
|
||||
GetResource(RES_EVENT, EVENT_INTERFACE_SHADOW_MAPPING_BUFFER, name);
|
||||
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL12, name);
|
||||
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
|
||||
|
||||
|
||||
pos.x = ox+sx*12.5f;
|
||||
pos.y = 0.455f;
|
||||
ddim.x = dim.x*2.2f;
|
||||
ddim.y = 18.0f/480.0f;
|
||||
pes = pw->CreateEnumSlider(pos, ddim, 0, EVENT_INTERFACE_MSAA);
|
||||
pes->SetState(STATE_SHADOW);
|
||||
std::vector<float> msaaOptions;
|
||||
for(int i = 1; i <= m_engine->GetDevice()->GetMaxSamples(); i *= 2)
|
||||
msaaOptions.push_back(i);
|
||||
pes->SetPossibleValues(msaaOptions);
|
||||
if(m_engine->GetDevice()->GetMaxSamples() < 2)
|
||||
pes->ClearState(STATE_ENABLE);
|
||||
pos.y += ddim.y/2;
|
||||
pos.x += 0.005f;
|
||||
ddim.x = 0.40f;
|
||||
GetResource(RES_EVENT, EVENT_INTERFACE_MSAA, name);
|
||||
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL12, name);
|
||||
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
|
||||
|
||||
pos.x = ox+sx*12.5f;
|
||||
pos.y = 0.385f;
|
||||
ddim.x = dim.x*2.2f;
|
||||
ddim.y = 18.0f/480.0f;
|
||||
|
@ -185,7 +226,7 @@ void CScreenSetupGraphics::CreateInterface()
|
|||
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL12, name);
|
||||
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
|
||||
|
||||
pos.x = ox+sx*8.5f;
|
||||
pos.x = ox+sx*12.5f;
|
||||
pos.y = 0.315f;
|
||||
ddim.x = dim.x*2.2f;
|
||||
ddim.y = 18.0f/480.0f;
|
||||
|
@ -199,7 +240,7 @@ void CScreenSetupGraphics::CreateInterface()
|
|||
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL12, name);
|
||||
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
|
||||
|
||||
pos.x = ox+sx*8.5f;
|
||||
pos.x = ox+sx*12.5f;
|
||||
pos.y = 0.245f;
|
||||
ddim.x = dim.x*2.2f;
|
||||
ddim.y = 18.0f/480.0f;
|
||||
|
@ -219,47 +260,6 @@ void CScreenSetupGraphics::CreateInterface()
|
|||
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
|
||||
|
||||
|
||||
pos.x = ox+sx*12.5;
|
||||
pos.y = 0.385f;
|
||||
ddim.x = dim.x*2.2f;
|
||||
ddim.y = 18.0f/480.0f;
|
||||
pes = pw->CreateEnumSlider(pos, ddim, 0, EVENT_INTERFACE_SHADOW_MAPPING);
|
||||
pes->SetState(STATE_SHADOW);
|
||||
std::map<float, std::string> shadowOptions = {
|
||||
{ -1, "Disabled" },
|
||||
};
|
||||
if (m_engine->GetDevice()->IsFramebufferSupported())
|
||||
{
|
||||
for(int i = 128; i <= m_engine->GetDevice()->GetMaxTextureSize(); i *= 2)
|
||||
shadowOptions[i] = StrUtils::ToString<int>(i)+"x"+StrUtils::ToString<int>(i);
|
||||
}
|
||||
else
|
||||
{
|
||||
shadowOptions[0] = "Screen buffer"; // TODO: Is this the proper name for this?
|
||||
}
|
||||
pes->SetPossibleValues(shadowOptions);
|
||||
if (!m_engine->IsShadowMappingSupported())
|
||||
{
|
||||
pes->ClearState(STATE_ENABLE);
|
||||
}
|
||||
pos.y += ddim.y/2;
|
||||
pos.x += 0.005f;
|
||||
ddim.x = 0.40f;
|
||||
GetResource(RES_EVENT, EVENT_INTERFACE_SHADOW_MAPPING, name);
|
||||
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL12, name);
|
||||
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
|
||||
|
||||
pos.x = ox+sx*12.5;
|
||||
pos.y = 0.315f;
|
||||
ddim.x = dim.x*6;
|
||||
ddim.y = dim.y*0.5f;
|
||||
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SHADOW_MAPPING_QUALITY);
|
||||
pc->SetState(STATE_SHADOW);
|
||||
if (!m_engine->IsShadowMappingQualitySupported())
|
||||
{
|
||||
pes->ClearState(STATE_ENABLE);
|
||||
}
|
||||
|
||||
ddim.x = dim.x*2;
|
||||
ddim.y = dim.y*1;
|
||||
pos.x = ox+sx*10;
|
||||
|
@ -338,12 +338,8 @@ bool CScreenSetupGraphics::EventProcess(const Event &event)
|
|||
ChangeSetupButtons();
|
||||
break;
|
||||
|
||||
case EVENT_INTERFACE_TEXTURE_FILTER:
|
||||
case EVENT_INTERFACE_TEXTURE_MIPMAP:
|
||||
case EVENT_INTERFACE_TEXTURE_ANISOTROPY:
|
||||
case EVENT_INTERFACE_MSAA:
|
||||
case EVENT_INTERFACE_SHADOW_MAPPING:
|
||||
ChangeSetupButtons();
|
||||
m_engine->SetShadowMapping(!m_engine->GetShadowMapping());
|
||||
UpdateSetupButtons();
|
||||
break;
|
||||
|
||||
|
@ -352,6 +348,15 @@ bool CScreenSetupGraphics::EventProcess(const Event &event)
|
|||
UpdateSetupButtons();
|
||||
break;
|
||||
|
||||
case EVENT_INTERFACE_SHADOW_MAPPING_BUFFER:
|
||||
case EVENT_INTERFACE_TEXTURE_FILTER:
|
||||
case EVENT_INTERFACE_TEXTURE_MIPMAP:
|
||||
case EVENT_INTERFACE_TEXTURE_ANISOTROPY:
|
||||
case EVENT_INTERFACE_MSAA:
|
||||
ChangeSetupButtons();
|
||||
UpdateSetupButtons();
|
||||
break;
|
||||
|
||||
case EVENT_INTERFACE_MIN:
|
||||
ChangeSetupQuality(-1);
|
||||
UpdateSetupButtons();
|
||||
|
@ -409,21 +414,10 @@ void CScreenSetupGraphics::UpdateSetupButtons()
|
|||
pes->SetVisibleValue(m_engine->GetMultiSample());
|
||||
}
|
||||
|
||||
pes = static_cast<CEnumSlider*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_MAPPING));
|
||||
if ( pes != 0 )
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_MAPPING));
|
||||
if ( pc != 0 )
|
||||
{
|
||||
if (!m_engine->GetShadowMapping())
|
||||
{
|
||||
pes->SetVisibleValue(-1);
|
||||
}
|
||||
else if (!m_engine->GetShadowMappingOffscreen())
|
||||
{
|
||||
pes->SetVisibleValue(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
pes->SetVisibleValue(m_engine->GetShadowMappingOffscreenResolution());
|
||||
}
|
||||
pc->SetState(STATE_CHECK, m_engine->GetShadowMapping());
|
||||
}
|
||||
|
||||
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_MAPPING_QUALITY));
|
||||
|
@ -433,6 +427,20 @@ void CScreenSetupGraphics::UpdateSetupButtons()
|
|||
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 )
|
||||
{
|
||||
|
@ -565,22 +573,16 @@ void CScreenSetupGraphics::ChangeSetupButtons()
|
|||
m_engine->SetMultiSample(static_cast<int>(value));
|
||||
}
|
||||
|
||||
pes = static_cast<CEnumSlider*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_MAPPING));
|
||||
pes = static_cast<CEnumSlider*>(pw->SearchControl(EVENT_INTERFACE_SHADOW_MAPPING_BUFFER));
|
||||
if ( pes != 0 )
|
||||
{
|
||||
value = pes->GetVisibleValue();
|
||||
if(value == -1)
|
||||
if(value == 0)
|
||||
{
|
||||
m_engine->SetShadowMapping(false);
|
||||
}
|
||||
else if(value == 0)
|
||||
{
|
||||
m_engine->SetShadowMapping(true);
|
||||
m_engine->SetShadowMappingOffscreen(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_engine->SetShadowMapping(true);
|
||||
m_engine->SetShadowMappingOffscreen(true);
|
||||
m_engine->SetShadowMappingOffscreenResolution(value);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue