Merge pull request #1 from TeddyDesTodes/master
[oweals/minetest.git] / src / guiMainMenu.h
index d003599c42a48d0e7a3bd63d4c78d5b787273233..6c028c6e5e60f18bed4a690adaa8bf28ea6affb4 100644 (file)
@@ -1,21 +1,21 @@
 /*
-Minetest-c55
-Copyright (C) 2010 celeron55, Perttu Ahola <celeron55@gmail.com>
+ Minetest-c55
+ Copyright (C) 2010 celeron55, Perttu Ahola <celeron55@gmail.com>
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-*/
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 
 #ifndef GUIMAINMENU_HEADER
 #define GUIMAINMENU_HEADER
@@ -27,37 +27,66 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 // For IGameCallback
 #include "guiPauseMenu.h"
 
+enum
+{
+       GUI_ID_QUIT_BUTTON = 101,
+       GUI_ID_NAME_INPUT,
+       GUI_ID_ADDRESS_INPUT,
+       GUI_ID_PORT_INPUT,
+       GUI_ID_FANCYTREE_CB,
+       GUI_ID_SMOOTH_LIGHTING_CB,
+       GUI_ID_DAMAGE_CB,
+       GUI_ID_CREATIVE_CB,
+       GUI_ID_JOIN_GAME_BUTTON,
+       GUI_ID_CHANGE_KEYS_BUTTON,
+       GUI_ID_DELETE_MAP_BUTTON
+};
+
 struct MainMenuData
 {
-       MainMenuData():
-               creative_mode(false),
-               enable_damage(false),
-               delete_map(false)
-       {}
+       MainMenuData() :
+               // Client opts
+                               fancy_trees(false), smooth_lighting(false),
+                               // Server opts
+                               creative_mode(false), enable_damage(false),
+                               // Actions
+                               delete_map(false)
+       {
+       }
+
        // These are in the native format of the gui elements
+
+       // Client options
        std::wstring address;
        std::wstring port;
        std::wstring name;
+       std::wstring password;
+       bool fancy_trees;
+       bool smooth_lighting;
+       // Server options
        bool creative_mode;
        bool enable_damage;
        // If map deletion is requested, this is set to true
        bool delete_map;
 };
 
-class GUIMainMenu : public GUIModalMenu
+class GUIMainMenu: public GUIModalMenu
 {
 public:
-       GUIMainMenu(gui::IGUIEnvironment* env,
-                       gui::IGUIElement* parent, s32 id,
-                       IMenuManager *menumgr,
-                       MainMenuData *data,
+       GUIMainMenu(gui::IGUIEnvironment* env, gui::IGUIElement* parent, s32 id,
+                       IMenuManager *menumgr, MainMenuData *data,
                        IGameCallback *gamecallback);
        ~GUIMainMenu();
-       
+
+       gui::IGUIEnvironment* env;
+       gui::IGUIElement* parent;
+       s32 id;
+       IMenuManager *menumgr;
+
        void removeChildren();
        /*
-               Remove and re-add (or reposition) stuff
-       */
+        Remove and re-add (or reposition) stuff
+        */
        void regenerateGui(v2u32 screensize);
 
        void drawMenu();
@@ -70,7 +99,7 @@ public:
        }
 
        bool OnEvent(const SEvent& event);
-       
+
 private:
        MainMenuData *m_data;
        bool m_accepted;