aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/clouds.cpp6
-rw-r--r--src/defaultsettings.cpp4
-rw-r--r--src/guiMainMenu.cpp21
-rw-r--r--src/guiMainMenu.h2
-rw-r--r--src/main.cpp2
5 files changed, 29 insertions, 6 deletions
diff --git a/src/clouds.cpp b/src/clouds.cpp
index 063a4b111..232436597 100644
--- a/src/clouds.cpp
+++ b/src/clouds.cpp
@@ -81,9 +81,9 @@ void Clouds::render()
ScopeProfiler sp(g_profiler, "Rendering of clouds, avg", SPT_AVG);
- int num_faces_to_draw = 6;
- if(g_settings->getBool("enable_2d_clouds"))
- num_faces_to_draw = 1;
+ int num_faces_to_draw = 1;
+ if(g_settings->getBool("enable_3d_clouds"))
+ num_faces_to_draw = 6;
driver->setTransform(video::ETS_WORLD, AbsoluteTransformation);
driver->setMaterial(m_material);
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index 7f0d46a10..fea000804 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -62,7 +62,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("fov", "72");
settings->setDefault("view_bobbing", "true");
settings->setDefault("new_style_water", "false");
- settings->setDefault("new_style_leaves", "true");
+ settings->setDefault("new_style_leaves", "false");
settings->setDefault("smooth_lighting", "true");
settings->setDefault("frametime_graph", "false");
settings->setDefault("enable_texture_atlas", "true");
@@ -77,7 +77,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("invisible_stone", "false");
settings->setDefault("screenshot_path", ".");
settings->setDefault("view_bobbing_amount", "1.0");
- settings->setDefault("enable_2d_clouds", "false");
+ settings->setDefault("enable_3d_clouds", "false");
// Server stuff
// "map-dir" doesn't exist by default.
diff --git a/src/guiMainMenu.cpp b/src/guiMainMenu.cpp
index cf9b8eda4..a0a23828a 100644
--- a/src/guiMainMenu.cpp
+++ b/src/guiMainMenu.cpp
@@ -80,6 +80,7 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
bool enable_damage;
bool fancy_trees;
bool smooth_lighting;
+ bool clouds_3d;
// Client options
{
@@ -117,6 +118,13 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
else
smooth_lighting = m_data->smooth_lighting;
}
+ {
+ gui::IGUIElement *e = getElementFromId(GUI_ID_3D_CLOUDS_CB);
+ if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+ clouds_3d = ((gui::IGUICheckBox*)e)->isChecked();
+ else
+ clouds_3d = m_data->clouds_3d;
+ }
// Server options
{
@@ -242,10 +250,16 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
}
{
core::rect<s32> rect(0, 0, 250, 30);
- rect += topleft_client + v2s32(35, 150+30);
+ rect += topleft_client + v2s32(35, 150+20);
Environment->addCheckBox(smooth_lighting, rect, this, GUI_ID_SMOOTH_LIGHTING_CB,
wgettext("Smooth Lighting"));
}
+ {
+ core::rect<s32> rect(0, 0, 250, 30);
+ rect += topleft_client + v2s32(35, 150+40);
+ Environment->addCheckBox(clouds_3d, rect, this, GUI_ID_3D_CLOUDS_CB,
+ wgettext("3D Clouds"));
+ }
// Start game button
{
core::rect<s32> rect(0, 0, 180, 30);
@@ -363,6 +377,11 @@ void GUIMainMenu::acceptInput()
m_data->enable_damage = ((gui::IGUICheckBox*)e)->isChecked();
}
{
+ gui::IGUIElement *e = getElementFromId(GUI_ID_3D_CLOUDS_CB);
+ if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+ m_data->clouds_3d = ((gui::IGUICheckBox*)e)->isChecked();
+ }
+ {
gui::IGUIElement *e = getElementFromId(GUI_ID_SMOOTH_LIGHTING_CB);
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
m_data->smooth_lighting = ((gui::IGUICheckBox*)e)->isChecked();
diff --git a/src/guiMainMenu.h b/src/guiMainMenu.h
index 87561f797..a451a9c21 100644
--- a/src/guiMainMenu.h
+++ b/src/guiMainMenu.h
@@ -35,6 +35,7 @@ enum
GUI_ID_PORT_INPUT,
GUI_ID_FANCYTREE_CB,
GUI_ID_SMOOTH_LIGHTING_CB,
+ GUI_ID_3D_CLOUDS_CB,
GUI_ID_DAMAGE_CB,
GUI_ID_CREATIVE_CB,
GUI_ID_JOIN_GAME_BUTTON,
@@ -64,6 +65,7 @@ struct MainMenuData
std::wstring password;
bool fancy_trees;
bool smooth_lighting;
+ bool clouds_3d;
// Server options
bool creative_mode;
bool enable_damage;
diff --git a/src/main.cpp b/src/main.cpp
index bc44775bd..6739a7759 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1543,6 +1543,7 @@ int main(int argc, char *argv[])
menudata.port = narrow_to_wide(itos(port));
menudata.fancy_trees = g_settings->getBool("new_style_leaves");
menudata.smooth_lighting = g_settings->getBool("smooth_lighting");
+ menudata.clouds_3d = g_settings->getBool("enable_3d_clouds");
menudata.creative_mode = g_settings->getBool("creative_mode");
menudata.enable_damage = g_settings->getBool("enable_damage");
@@ -1615,6 +1616,7 @@ int main(int argc, char *argv[])
port = newport;
g_settings->set("new_style_leaves", itos(menudata.fancy_trees));
g_settings->set("smooth_lighting", itos(menudata.smooth_lighting));
+ g_settings->set("enable_3d_clouds", itos(menudata.clouds_3d));
g_settings->set("creative_mode", itos(menudata.creative_mode));
g_settings->set("enable_damage", itos(menudata.enable_damage));