aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/guiMainMenu.cpp18
-rw-r--r--src/guiMainMenu.h17
-rw-r--r--src/main.cpp4
3 files changed, 37 insertions, 2 deletions
diff --git a/src/guiMainMenu.cpp b/src/guiMainMenu.cpp
index 79170d99a..9e6b01dd6 100644
--- a/src/guiMainMenu.cpp
+++ b/src/guiMainMenu.cpp
@@ -140,6 +140,7 @@ enum
GUI_ID_SHADERS_CB,
GUI_ID_PRELOAD_ITEM_VISUALS_CB,
GUI_ID_ENABLE_PARTICLES_CB,
+ GUI_ID_LIQUID_FINITE_CB,
GUI_ID_DAMAGE_CB,
GUI_ID_CREATIVE_CB,
GUI_ID_PUBLIC_CB,
@@ -430,6 +431,10 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
e->setDrawBackground(true);
if (m_data->serverlist_show_available == false)
m_data->servers = ServerList::getLocal();
+#if USE_CURL
+ else
+ m_data->servers = ServerList::getOnline();
+#endif
updateGuiServerList();
e->setSelected(0);
}
@@ -722,6 +727,13 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
GUI_ID_ENABLE_PARTICLES_CB, wgettext("Enable Particles"));
}
+ {
+ core::rect<s32> rect(0, 0, option_w+20+20, 30);
+ rect += m_topleft_client + v2s32(option_x+175*2, option_y+20*3);
+ Environment->addCheckBox(m_data->liquid_finite, rect, this,
+ GUI_ID_LIQUID_FINITE_CB, wgettext("Finite liquid"));
+ }
+
// Key change button
{
core::rect<s32> rect(0, 0, 120, 30);
@@ -969,6 +981,12 @@ void GUIMainMenu::readInput(MainMenuData *dst)
}
{
+ gui::IGUIElement *e = getElementFromId(GUI_ID_LIQUID_FINITE_CB);
+ if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+ dst->liquid_finite = ((gui::IGUICheckBox*)e)->isChecked();
+ }
+
+ {
gui::IGUIElement *e = getElementFromId(GUI_ID_WORLD_LISTBOX);
if(e != NULL && e->getType() == gui::EGUIET_LIST_BOX)
dst->selected_world = ((gui::IGUIListBox*)e)->getSelected();
diff --git a/src/guiMainMenu.h b/src/guiMainMenu.h
index a21f3b32a..fa5f19def 100644
--- a/src/guiMainMenu.h
+++ b/src/guiMainMenu.h
@@ -52,6 +52,7 @@ struct MainMenuData
int enable_shaders;
bool preload_item_visuals;
bool enable_particles;
+ bool liquid_finite;
// Server options
bool creative_mode;
bool enable_damage;
@@ -71,7 +72,13 @@ struct MainMenuData
MainMenuData():
// Generic
- selected_tab(0),
+ selected_tab(
+#if USE_CURL
+ 1
+#else
+ 0
+#endif
+ ),
// Client opts
fancy_trees(false),
smooth_lighting(false),
@@ -84,7 +91,13 @@ struct MainMenuData
// Actions
only_refresh(false),
- serverlist_show_available(false)
+ serverlist_show_available(
+#if USE_CURL
+ true
+#else
+ false
+#endif
+)
{}
};
diff --git a/src/main.cpp b/src/main.cpp
index e4dbb8a54..1d6252757 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1557,6 +1557,7 @@ int main(int argc, char *argv[])
menudata.enable_shaders = g_settings->getS32("enable_shaders");
menudata.preload_item_visuals = g_settings->getBool("preload_item_visuals");
menudata.enable_particles = g_settings->getBool("enable_particles");
+ menudata.liquid_finite = g_settings->getBool("liquid_finite");
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, menudata.mip_map);
menudata.creative_mode = g_settings->getBool("creative_mode");
menudata.enable_damage = g_settings->getBool("enable_damage");
@@ -1724,6 +1725,8 @@ int main(int argc, char *argv[])
}
playername = wide_to_narrow(menudata.name);
+ if (playername == "")
+ playername = std::string("Guest") + itos(myrand_range(1000,9999));
password = translatePassword(playername, menudata.password);
//infostream<<"Main: password hash: '"<<password<<"'"<<std::endl;
@@ -1747,6 +1750,7 @@ int main(int argc, char *argv[])
g_settings->setS32("enable_shaders", menudata.enable_shaders);
g_settings->set("preload_item_visuals", itos(menudata.preload_item_visuals));
g_settings->set("enable_particles", itos(menudata.enable_particles));
+ g_settings->set("liquid_finite", itos(menudata.liquid_finite));
g_settings->set("creative_mode", itos(menudata.creative_mode));
g_settings->set("enable_damage", itos(menudata.enable_damage));