Index: /branches/multi_player_map/src/story_entities/menu/game_menu.cc
===================================================================
--- /branches/multi_player_map/src/story_entities/menu/game_menu.cc	(revision 9028)
+++ /branches/multi_player_map/src/story_entities/menu/game_menu.cc	(revision 9029)
@@ -36,4 +36,6 @@
 #include "glgui.h"
 #include "menu/glgui_imagebutton.h"
+
+#include "glgui_text.h"
 
 //! This creates a Factory to fabricate a GameMenu
@@ -122,4 +124,7 @@
   this->levelsBox = NULL;
   this->networkBox = NULL;
+  
+  this->clientNetworkBox = NULL;
+  this->serverNetworkBox = NULL;
 
   this->optionsBox = NULL;
@@ -224,7 +229,9 @@
       OrxGui::GLGuiButton* clientButton = new OrxGui::GLGuiPushButton("Client");
       networkBox->pack(clientButton);
+      clientButton->connect(SIGNAL(clientButton, released), this, SLOT(GameMenu, showClientMenu));
 
       OrxGui::GLGuiButton* serverButton = new OrxGui::GLGuiPushButton("Server");
       networkBox->pack(serverButton);
+      serverButton->connect(SIGNAL(serverButton, released), this, SLOT(GameMenu, showServerMenu));
 
 
@@ -481,4 +488,90 @@
 }
 
-
-
+/**
+ * show controls to join network game
+ */
+void GameMenu::showClientMenu( )
+{
+  if ( this->serverNetworkBox )
+  {
+    delete this->serverNetworkBox;
+    this->serverNetworkBox = NULL;
+  }
+  
+  if ( !this->clientNetworkBox )
+  {
+    this->clientNetworkBox = new OrxGui::GLGuiBox();
+    {
+      OrxGui::GLGuiText * text = new OrxGui::GLGuiText();
+      text->setText( "Host:" );
+      this->clientNetworkBox->pack( text );
+      
+      this->ipInputLine = new OrxGui::GLGuiInputLine( );
+      this->clientNetworkBox->pack( this->ipInputLine );
+      this->ipInputLine->connect(SIGNAL(ipInputLine, enterPushed), this, SLOT(GameMenu, connectToServer));
+      this->ipInputLine->select();
+      
+      OrxGui::GLGuiButton* connectButton = new OrxGui::GLGuiPushButton("connect to server");
+      clientNetworkBox->pack(connectButton);
+      connectButton->connect(SIGNAL(connectButton, released), this, SLOT(GameMenu, connectToServer));
+    }
+  }
+  
+  this->clientNetworkBox->showAll();
+  
+  this->clientNetworkBox->setAbsCoor2D( 300.0f, 100.0f );
+}
+
+/**
+ * show controls to create new network game
+ */
+void GameMenu::showServerMenu( )
+{
+  if ( this->clientNetworkBox )
+  {
+    delete this->clientNetworkBox;
+    this->clientNetworkBox = NULL;
+  }
+  
+  if ( !this->serverNetworkBox )
+  {
+    this->serverNetworkBox = new OrxGui::GLGuiBox();
+    {
+      OrxGui::GLGuiText * text = new OrxGui::GLGuiText();
+      text->setText( "Map:" );
+      this->serverNetworkBox->pack( text );
+      
+      OrxGui::GLGuiText * text2 = new OrxGui::GLGuiText();
+      text2->setText( "Multiplayer TeamDeathMatch Arena" );
+      this->serverNetworkBox->pack( text2 );
+      
+      OrxGui::GLGuiButton* createButton = new OrxGui::GLGuiPushButton("create server");
+      serverNetworkBox->pack(createButton);
+      createButton->connect(SIGNAL(createButton, released), this, SLOT(GameMenu, createServer));
+    }
+  }
+  
+  this->serverNetworkBox->showAll();
+  
+  this->serverNetworkBox->setAbsCoor2D( 300.0f, 100.0f );
+}
+
+/**
+ * connect to host
+ */
+void GameMenu::connectToServer( )
+{
+  PRINTF(0)("Connecting to %s\n", this->ipInputLine->_getText().c_str() );
+  
+  //TODO connect :D
+}
+
+void GameMenu::createServer( )
+{
+  PRINTF(0)("Create server\n" );
+  
+  //TODO create server :D
+}
+
+
+
Index: /branches/multi_player_map/src/story_entities/menu/game_menu.h
===================================================================
--- /branches/multi_player_map/src/story_entities/menu/game_menu.h	(revision 9028)
+++ /branches/multi_player_map/src/story_entities/menu/game_menu.h	(revision 9029)
@@ -45,4 +45,10 @@
     void showMultiPlayer();
     void showOptionsMenu();
+    
+    void showClientMenu();
+    void connectToServer();
+    
+    void showServerMenu();
+    void createServer();
 
 
@@ -63,4 +69,6 @@
     void setSelectorSound(const std::string& selectorSound);
 
+    
+
 
   private:
@@ -68,4 +76,9 @@
     OrxGui::GLGuiBox*                 levelsBox;
     OrxGui::GLGuiBox*                 networkBox;
+    
+    OrxGui::GLGuiBox*                 clientNetworkBox;
+    OrxGui::GLGuiInputLine*           ipInputLine;
+    
+    OrxGui::GLGuiBox*                 serverNetworkBox;
 
     OrxGui::GLGuiBox*                 optionsBox;
