aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/guiTextInputMenu.cpp30
-rw-r--r--src/guiTextInputMenu.h2
-rw-r--r--src/main.cpp19
-rw-r--r--src/servermain.cpp10
4 files changed, 42 insertions, 19 deletions
diff --git a/src/guiTextInputMenu.cpp b/src/guiTextInputMenu.cpp
index 8a9da3489..0668aa7b3 100644
--- a/src/guiTextInputMenu.cpp
+++ b/src/guiTextInputMenu.cpp
@@ -120,6 +120,20 @@ void GUITextInputMenu::drawMenu()
gui::IGUIElement::draw();
}
+void GUITextInputMenu::acceptInput()
+{
+ if(m_dest)
+ {
+ gui::IGUIElement *e = getElementFromId(256);
+ if(e != NULL)
+ {
+ m_dest->gotText(e->getText());
+ }
+ delete m_dest;
+ m_dest = NULL;
+ }
+}
+
bool GUITextInputMenu::OnEvent(const SEvent& event)
{
if(event.EventType==EET_KEY_INPUT_EVENT)
@@ -129,6 +143,12 @@ bool GUITextInputMenu::OnEvent(const SEvent& event)
quitMenu();
return true;
}
+ if(event.KeyInput.Key==KEY_RETURN && event.KeyInput.PressedDown)
+ {
+ acceptInput();
+ quitMenu();
+ return true;
+ }
}
if(event.EventType==EET_GUI_EVENT)
{
@@ -148,15 +168,7 @@ bool GUITextInputMenu::OnEvent(const SEvent& event)
switch(event.GUIEvent.Caller->getID())
{
case 257:
- if(m_dest)
- {
- gui::IGUIElement *e = getElementFromId(256);
- if(e != NULL)
- {
- m_dest->gotText(e->getText());
- }
- delete m_dest;
- }
+ acceptInput();
quitMenu();
break;
}
diff --git a/src/guiTextInputMenu.h b/src/guiTextInputMenu.h
index 2efc190ca..5db10a529 100644
--- a/src/guiTextInputMenu.h
+++ b/src/guiTextInputMenu.h
@@ -48,6 +48,8 @@ public:
void drawMenu();
+ void acceptInput();
+
bool OnEvent(const SEvent& event);
private:
diff --git a/src/main.cpp b/src/main.cpp
index fe0bfb09c..da727811e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -2245,14 +2245,7 @@ int main(int argc, char *argv[])
{
//TimeTaker timer9("auxiliary drawings");
// 0ms
-
- driver->draw2DLine(displaycenter - core::vector2d<s32>(10,0),
- displaycenter + core::vector2d<s32>(10,0),
- video::SColor(255,255,255,255));
- driver->draw2DLine(displaycenter - core::vector2d<s32>(0,10),
- displaycenter + core::vector2d<s32>(0,10),
- video::SColor(255,255,255,255));
-
+
//timer9.stop();
//TimeTaker //timer10("//timer10");
@@ -2274,6 +2267,16 @@ int main(int argc, char *argv[])
driver->draw3DBox(*i, video::SColor(255,0,0,0));
}
+ /*
+ Draw crosshair
+ */
+ driver->draw2DLine(displaycenter - core::vector2d<s32>(10,0),
+ displaycenter + core::vector2d<s32>(10,0),
+ video::SColor(255,255,255,255));
+ driver->draw2DLine(displaycenter - core::vector2d<s32>(0,10),
+ displaycenter + core::vector2d<s32>(0,10),
+ video::SColor(255,255,255,255));
+
}
//timer10.stop();
diff --git a/src/servermain.cpp b/src/servermain.cpp
index 24d3b24e8..c2d697cfe 100644
--- a/src/servermain.cpp
+++ b/src/servermain.cpp
@@ -138,6 +138,7 @@ int main(int argc, char *argv[])
allowed_options.insert("port", ValueSpec(VALUETYPE_STRING));
allowed_options.insert("disable-unittests", ValueSpec(VALUETYPE_FLAG));
allowed_options.insert("enable-unittests", ValueSpec(VALUETYPE_FLAG));
+ allowed_options.insert("map-dir", ValueSpec(VALUETYPE_STRING));
Settings cmd_args;
@@ -298,8 +299,13 @@ int main(int argc, char *argv[])
std::cout<<"Running dedicated server"<<std::endl;
std::cout<<"========================"<<std::endl;
std::cout<<std::endl;
-
- Server server("../map", hm_params, map_params);
+
+ // Figure out path to map
+ std::string map_dir = "../map";
+ if(cmd_args.exists("map-dir"))
+ map_dir = cmd_args.get("map-dir");
+
+ Server server(map_dir.c_str(), hm_params, map_params);
server.start(port);
for(;;)