diff options
-rw-r--r-- | src/guiMainMenu.cpp | 18 | ||||
-rw-r--r-- | src/guiMainMenu.h | 17 | ||||
-rw-r--r-- | src/main.cpp | 4 |
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)); |