#include "debug.h"
#include "serialization.h"
#include <string>
-
+#include <IGUICheckBox.h>
+#include <IGUIEditBox.h>
+#include <IGUIButton.h>
+#include <IGUIStaticText.h>
+#include <IGUIFont.h>
#include "gettext.h"
bool enable_damage;
bool fancy_trees;
bool smooth_lighting;
+ bool clouds_3d;
+ bool opaque_water;
// Client options
{
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;
+ }
+ {
+ gui::IGUIElement *e = getElementFromId(GUI_ID_OPAQUE_WATER_CB);
+ if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+ opaque_water = ((gui::IGUICheckBox*)e)->isChecked();
+ else
+ opaque_water = m_data->opaque_water;
+ }
// Server options
{
v2s32 topleft_client(40, 0);
v2s32 size_client = size - v2s32(40, 0);
+ changeCtype("");
{
core::rect<s32> rect(0, 0, 20, 125);
rect += topleft_client + v2s32(-15, 60);
{
core::rect<s32> rect(0, 0, 110, 20);
rect += topleft_client + v2s32(35, 50+6);
- Environment->addStaticText(chartowchar_t(gettext("Name/Password")), rect, false, true, this, -1);
+ Environment->addStaticText(wgettext("Name/Password"),
+ rect, false, true, this, -1);
}
+ changeCtype("C");
{
core::rect<s32> rect(0, 0, 230, 30);
rect += topleft_client + v2s32(160, 50);
gui::IGUIEditBox *e =
Environment->addEditBox(L"", rect, true, this, 264);
e->setPasswordBox(true);
+ if(text_name != L"" && text_address != L"")
+ Environment->setFocus(e);
}
+ changeCtype("");
// Address + port
{
core::rect<s32> rect(0, 0, 110, 20);
rect += topleft_client + v2s32(35, 100+6);
- Environment->addStaticText(chartowchar_t(gettext("Address/Port")), rect, false, true, this, -1);
+ Environment->addStaticText(wgettext("Address/Port"),
+ rect, false, true, this, -1);
}
+ changeCtype("C");
{
core::rect<s32> rect(0, 0, 230, 30);
rect += topleft_client + v2s32(160, 100);
gui::IGUIElement *e =
Environment->addEditBox(text_address.c_str(), rect, true, this, GUI_ID_ADDRESS_INPUT);
- if(text_name != L"")
+ if(text_name != L"" && text_address == L"")
Environment->setFocus(e);
}
{
rect += topleft_client + v2s32(size_client.X-60-100, 100);
Environment->addEditBox(text_port.c_str(), rect, true, this, GUI_ID_PORT_INPUT);
}
+ changeCtype("");
{
core::rect<s32> rect(0, 0, 400, 20);
- Environment->addStaticText(chartowchar_t(gettext("Leave address blank to start a local server.")), rect, false, true, this, -1);
+ rect += topleft_client + v2s32(160, 100+35);
+ Environment->addStaticText(wgettext("Leave address blank to start a local server."),
+ rect, false, true, this, -1);
}
{
core::rect<s32> rect(0, 0, 250, 30);
rect += topleft_client + v2s32(35, 150);
Environment->addCheckBox(fancy_trees, rect, this, GUI_ID_FANCYTREE_CB,
- chartowchar_t(gettext("Fancy trees")));
+ wgettext("Fancy trees"));
}
{
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,
- chartowchar_t(gettext("Smooth Lighting")));
+ 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"));
+ }
+ {
+ core::rect<s32> rect(0, 0, 250, 30);
+ rect += topleft_client + v2s32(35, 150+60);
+ Environment->addCheckBox(opaque_water, rect, this, GUI_ID_OPAQUE_WATER_CB,
+ wgettext("Opaque water"));
}
// Start game button
{
core::rect<s32> rect(0, 0, 180, 30);
//rect += topleft_client + v2s32(size_client.X/2-180/2, 225-30/2);
rect += topleft_client + v2s32(size_client.X-180-40, 150+25);
- Environment->addButton(rect, this, GUI_ID_JOIN_GAME_BUTTON, chartowchar_t(gettext("Start Game / Connect")));
+ Environment->addButton(rect, this, GUI_ID_JOIN_GAME_BUTTON,
+ wgettext("Start Game / Connect"));
}
// Key change button
core::rect<s32> rect(0, 0, 100, 30);
//rect += topleft_client + v2s32(size_client.X/2-180/2, 225-30/2);
rect += topleft_client + v2s32(size_client.X-180-40-100-20, 150+25);
- Environment->addButton(rect, this, GUI_ID_CHANGE_KEYS_BUTTON, chartowchar_t(gettext("Change keys")));
+ Environment->addButton(rect, this, GUI_ID_CHANGE_KEYS_BUTTON,
+ wgettext("Change keys"));
}
/*
Server section
{
core::rect<s32> rect(0, 0, 250, 30);
rect += topleft_server + v2s32(35, 30);
- Environment->addCheckBox(creative_mode, rect, this, GUI_ID_CREATIVE_CB, chartowchar_t(gettext("Creative Mode")));
+ Environment->addCheckBox(creative_mode, rect, this, GUI_ID_CREATIVE_CB,
+ wgettext("Creative Mode"));
}
{
core::rect<s32> rect(0, 0, 250, 30);
rect += topleft_server + v2s32(35, 60);
- Environment->addCheckBox(enable_damage, rect, this, GUI_ID_DAMAGE_CB, chartowchar_t(gettext("Enable Damage")));
+ Environment->addCheckBox(enable_damage, rect, this, GUI_ID_DAMAGE_CB,
+ wgettext("Enable Damage"));
}
// Map delete button
{
core::rect<s32> rect(0, 0, 130, 30);
//rect += topleft_server + v2s32(size_server.X-40-130, 100+25);
rect += topleft_server + v2s32(40, 100+25);
- Environment->addButton(rect, this, GUI_ID_DELETE_MAP_BUTTON, chartowchar_t(gettext("Delete map")));
+ Environment->addButton(rect, this, GUI_ID_DELETE_MAP_BUTTON,
+ wgettext("Delete map"));
}
+ changeCtype("C");
}
void GUIMainMenu::drawMenu()
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
m_data->enable_damage = ((gui::IGUICheckBox*)e)->isChecked();
}
+ {
+ gui::IGUIElement *e = getElementFromId(GUI_ID_FANCYTREE_CB);
+ if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+ m_data->fancy_trees = ((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();
}
{
- gui::IGUIElement *e = getElementFromId(GUI_ID_FANCYTREE_CB);
+ gui::IGUIElement *e = getElementFromId(GUI_ID_3D_CLOUDS_CB);
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
- m_data->fancy_trees = ((gui::IGUICheckBox*)e)->isChecked();
+ m_data->clouds_3d = ((gui::IGUICheckBox*)e)->isChecked();
+ }
+ {
+ gui::IGUIElement *e = getElementFromId(GUI_ID_OPAQUE_WATER_CB);
+ if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+ m_data->opaque_water = ((gui::IGUICheckBox*)e)->isChecked();
}
m_accepted = true;