Add Lua on_mapgen_init callback, and minetest.set_mapgen_params API
[oweals/minetest.git] / src / guiMainMenu.h
index 558a05d59b54221f56e6ea6034ded69133c69c98..8697344c84e763b493daa0b76e4a50951981a36b 100644 (file)
@@ -1,6 +1,6 @@
 /*
-Minetest-c55
-Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
+Minetest
+Copyright (C) 2010-2013 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 Lesser General Public License as published by
@@ -29,11 +29,27 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 class IGameCallback;
 
+enum {
+       SERVERLIST_FAVORITES,
+       SERVERLIST_PUBLIC,
+};
+
+enum
+{
+       TAB_SINGLEPLAYER=0,
+       TAB_MULTIPLAYER,
+       TAB_ADVANCED,
+       TAB_SETTINGS,
+       TAB_CREDITS
+};
+
 struct MainMenuData
 {
        // These are in the native format of the gui elements
        // Generic
        int selected_tab;
+       std::string selected_game;
+       std::string selected_game_name;
        // Client options
        std::string servername;
        std::string serverdescription;
@@ -52,6 +68,7 @@ struct MainMenuData
        int enable_shaders;
        bool preload_item_visuals;
        bool enable_particles;
+       bool liquid_finite;
        // Server options
        bool creative_mode;
        bool enable_damage;
@@ -63,7 +80,7 @@ struct MainMenuData
        std::string create_world_gameid;
        bool only_refresh;
 
-       bool serverlist_show_available; // if false show local favorites only
+       int selected_serverlist;
 
        std::vector<WorldSpec> worlds;
        std::vector<SubgameSpec> games;
@@ -72,6 +89,8 @@ struct MainMenuData
        MainMenuData():
                // Generic
                selected_tab(0),
+               selected_game("minetest"),
+               selected_game_name("Minetest"),
                // Client opts
                fancy_trees(false),
                smooth_lighting(false),
@@ -84,7 +103,7 @@ struct MainMenuData
                // Actions
                only_refresh(false),
 
-               serverlist_show_available(false)
+               selected_serverlist(SERVERLIST_FAVORITES)
        {}
 };
 
@@ -122,6 +141,8 @@ private:
        s32 id;
        IMenuManager *menumgr;
 
+       std::vector<int> m_world_indices;
+
        bool m_is_regenerating;
        v2s32 m_topleft_client;
        v2s32 m_size_client;