X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2FguiMainMenu.h;h=a594ccd418bac8c2b9a052b5740ab6ccc1245440;hb=c03c296dc7afe0e4ded65484221072ad6715e2be;hp=abfc6bdb494141d4582fb1a7ecab9c5c3cfe2098;hpb=5292476841430c55d889b1707cf890638a3dd2a2;p=minetest.git diff --git a/src/guiMainMenu.h b/src/guiMainMenu.h index abfc6bdb4..a594ccd41 100644 --- a/src/guiMainMenu.h +++ b/src/guiMainMenu.h @@ -1,6 +1,6 @@ /* -Minetest-c55 -Copyright (C) 2010-2012 celeron55, Perttu Ahola +Minetest +Copyright (C) 2010-2013 celeron55, Perttu Ahola 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 @@ -25,14 +25,23 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include #include "subgame.h" +#include "serverlist.h" + class IGameCallback; +enum { + SERVERLIST_FAVORITES, + SERVERLIST_PUBLIC, +}; + struct MainMenuData { // These are in the native format of the gui elements // Generic int selected_tab; // Client options + std::string servername; + std::string serverdescription; std::wstring address; std::wstring port; std::wstring name; @@ -45,9 +54,14 @@ struct MainMenuData bool anisotropic_filter; bool bilinear_filter; bool trilinear_filter; + int enable_shaders; + bool preload_item_visuals; + bool enable_particles; + bool liquid_finite; // Server options bool creative_mode; bool enable_damage; + bool enable_public; int selected_world; bool simple_singleplayer_mode; // Actions @@ -55,8 +69,11 @@ struct MainMenuData std::string create_world_gameid; bool only_refresh; + int selected_serverlist; + std::vector worlds; std::vector games; + std::vector servers; MainMenuData(): // Generic @@ -67,10 +84,13 @@ struct MainMenuData // Server opts creative_mode(false), enable_damage(false), + enable_public(false), selected_world(0), simple_singleplayer_mode(false), // Actions - only_refresh(false) + only_refresh(false), + + selected_serverlist(SERVERLIST_FAVORITES) {} }; @@ -107,12 +127,15 @@ class GUIMainMenu : public GUIModalMenu gui::IGUIElement* parent; s32 id; IMenuManager *menumgr; - + bool m_is_regenerating; v2s32 m_topleft_client; v2s32 m_size_client; v2s32 m_topleft_server; v2s32 m_size_server; + void updateGuiServerList(); + void serverListOnSelected(); + ServerListSpec getServerListSpec(std::string address, std::string port); }; #endif