]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/guiPauseMenu.cpp
+ clay and associated items
[dragonfireclient.git] / src / guiPauseMenu.cpp
index 2d42fdb77dec4189933ed5de7f3fd7f1a2043277..d32d1a10b375024d48fd9de457c695ef3956b110 100644 (file)
@@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "serialization.h"\r
 #include "porting.h"\r
 #include "config.h"\r
+#include "main.h"\r
 \r
 GUIPauseMenu::GUIPauseMenu(gui::IGUIEnvironment* env,\r
                gui::IGUIElement* parent, s32 id,\r
@@ -64,6 +65,11 @@ void GUIPauseMenu::removeChildren()
                if(e != NULL)\r
                        e->remove();\r
        }\r
+       {\r
+               gui::IGUIElement *e = getElementFromId(261);\r
+               if(e != NULL)\r
+                       e->remove();\r
+       }\r
 }\r
 \r
 void GUIPauseMenu::regenerateGui(v2u32 screensize)\r
@@ -91,21 +97,34 @@ void GUIPauseMenu::regenerateGui(v2u32 screensize)
        /*\r
                Add stuff\r
        */\r
+       const s32 btn_height = 30;\r
+       const s32 btn_gap = 20;\r
+       const s32 btn_num = 4;\r
+       s32 btn_y = size.Y/2-((btn_num*btn_height+(btn_num-1)*btn_gap))/2;\r
        {\r
-               core::rect<s32> rect(0, 0, 140, 30);\r
-               rect = rect + v2s32(size.X/2-140/2, size.Y/2-30/2-50);\r
+               core::rect<s32> rect(0, 0, 140, btn_height);\r
+               rect = rect + v2s32(size.X/2-140/2, btn_y);\r
                Environment->addButton(rect, this, 256, L"Continue");\r
        }\r
+       btn_y += btn_height + btn_gap;\r
+       {\r
+               core::rect<s32> rect(0, 0, 140, btn_height);\r
+               rect = rect + v2s32(size.X/2-140/2, btn_y);\r
+               Environment->addButton(rect, this, 261, L"Change Password");\r
+       }\r
+       btn_y += btn_height + btn_gap;\r
        {\r
-               core::rect<s32> rect(0, 0, 140, 30);\r
-               rect = rect + v2s32(size.X/2-140/2, size.Y/2-30/2+0);\r
+               core::rect<s32> rect(0, 0, 140, btn_height);\r
+               rect = rect + v2s32(size.X/2-140/2, btn_y);\r
                Environment->addButton(rect, this, 260, L"Disconnect");\r
        }\r
+       btn_y += btn_height + btn_gap;\r
        {\r
-               core::rect<s32> rect(0, 0, 140, 30);\r
-               rect = rect + v2s32(size.X/2-140/2, size.Y/2-30/2+50);\r
+               core::rect<s32> rect(0, 0, 140, btn_height);\r
+               rect = rect + v2s32(size.X/2-140/2, btn_y);\r
                Environment->addButton(rect, this, 257, L"Exit to OS");\r
        }\r
+\r
        {\r
                core::rect<s32> rect(0, 0, 180, 240);\r
                rect = rect + v2s32(size.X/2 + 90, size.Y/2-rect.getHeight()/2);\r
@@ -172,6 +191,7 @@ void GUIPauseMenu::drawMenu()
 \r
 bool GUIPauseMenu::OnEvent(const SEvent& event)\r
 {\r
+\r
        if(event.EventType==EET_KEY_INPUT_EVENT)\r
        {\r
                if(event.KeyInput.PressedDown)\r
@@ -209,6 +229,10 @@ bool GUIPauseMenu::OnEvent(const SEvent& event)
                                quitMenu();\r
                                // ALWAYS return immediately after quitMenu()\r
                                return true;\r
+                       case 261:\r
+                               quitMenu();\r
+                               m_gamecallback->changePassword();\r
+                               return true;\r
                        case 260: // disconnect\r
                                m_gamecallback->disconnect();\r
                                quitMenu();\r