std::wstring text_port;
bool creative_mode;
bool enable_damage;
-
+ bool fancy_trees;
+ bool smooth_lighting;
+
+ // Client options
{
gui::IGUIElement *e = getElementFromId(258);
if(e != NULL)
else
text_port = m_data->port;
}
+ {
+ gui::IGUIElement *e = getElementFromId(263);
+ if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+ fancy_trees = ((gui::IGUICheckBox*)e)->isChecked();
+ else
+ fancy_trees = m_data->fancy_trees;
+ }
+ {
+ gui::IGUIElement *e = getElementFromId(262);
+ if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+ smooth_lighting = ((gui::IGUICheckBox*)e)->isChecked();
+ else
+ smooth_lighting = m_data->smooth_lighting;
+ }
+
+ // Server options
{
gui::IGUIElement *e = getElementFromId(259);
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
//t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
}
- // Nickname
+ // Nickname + password
{
- core::rect<s32> rect(0, 0, 100, 20);
- rect += topleft_client + v2s32(40, 50+6);
- const wchar_t *text = L"Nickname";
+ core::rect<s32> rect(0, 0, 110, 20);
+ rect += topleft_client + v2s32(35, 50+6);
+ const wchar_t *text = L"Name/Password";
Environment->addStaticText(text, rect, false, true, this, -1);
}
{
- core::rect<s32> rect(0, 0, 250, 30);
+ core::rect<s32> rect(0, 0, 230, 30);
rect += topleft_client + v2s32(160, 50);
gui::IGUIElement *e =
Environment->addEditBox(text_name.c_str(), rect, true, this, 258);
if(text_name == L"")
Environment->setFocus(e);
}
+ {
+ core::rect<s32> rect(0, 0, 120, 30);
+ rect += topleft_client + v2s32(size_client.X-60-100, 50);
+ gui::IGUIEditBox *e =
+ Environment->addEditBox(L"", rect, true, this, 264);
+ e->setPasswordBox(true);
+
+ }
// Address + port
{
- core::rect<s32> rect(0, 0, 100, 20);
- rect += topleft_client + v2s32(40, 100+6);
- const wchar_t *text = L"Address + Port";
+ core::rect<s32> rect(0, 0, 110, 20);
+ rect += topleft_client + v2s32(35, 100+6);
+ const wchar_t *text = L"Address/Port";
Environment->addStaticText(text, rect, false, true, this, -1);
}
{
- core::rect<s32> rect(0, 0, 250, 30);
+ 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, 256);
Environment->setFocus(e);
}
{
- core::rect<s32> rect(0, 0, 100, 30);
+ core::rect<s32> rect(0, 0, 120, 30);
//rect += topleft_client + v2s32(160+250+20, 125);
- rect += topleft_client + v2s32(size_client.X-40-100, 100);
+ rect += topleft_client + v2s32(size_client.X-60-100, 100);
Environment->addEditBox(text_port.c_str(), rect, true, this, 257);
}
{
const wchar_t *text = L"Leave address blank to start a local server.";
Environment->addStaticText(text, 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, 263,
+ L"Fancy trees");
+ }
+ {
+ core::rect<s32> rect(0, 0, 250, 30);
+ rect += topleft_client + v2s32(35, 150+30);
+ Environment->addCheckBox(smooth_lighting, rect, this, 262,
+ L"Smooth Lighting");
+ }
// Start game button
{
core::rect<s32> rect(0, 0, 180, 30);
// Server parameters
{
core::rect<s32> rect(0, 0, 250, 30);
- rect += topleft_server + v2s32(40, 30);
+ rect += topleft_server + v2s32(35, 30);
Environment->addCheckBox(creative_mode, rect, this, 259, L"Creative Mode");
}
{
core::rect<s32> rect(0, 0, 250, 30);
- rect += topleft_server + v2s32(40, 60);
+ rect += topleft_server + v2s32(35, 60);
Environment->addCheckBox(enable_damage, rect, this, 261, L"Enable Damage");
}
// Map delete button
if(e != NULL)
m_data->name = e->getText();
}
+ {
+ gui::IGUIElement *e = getElementFromId(264);
+ if(e != NULL)
+ m_data->password = e->getText();
+ }
{
gui::IGUIElement *e = getElementFromId(256);
if(e != NULL)
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
m_data->enable_damage = ((gui::IGUICheckBox*)e)->isChecked();
}
+ {
+ gui::IGUIElement *e = getElementFromId(262);
+ if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+ m_data->smooth_lighting = ((gui::IGUICheckBox*)e)->isChecked();
+ }
+ {
+ gui::IGUIElement *e = getElementFromId(263);
+ if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+ m_data->fancy_trees = ((gui::IGUICheckBox*)e)->isChecked();
+ }
m_accepted = true;
}
{
switch(event.GUIEvent.Caller->getID())
{
- case 256: case 257: case 258:
+ case 256: case 257: case 258: case 264:
acceptInput();
quitMenu();
return true;