summaryrefslogtreecommitdiff
path: root/src/guiMainMenu.h
diff options
context:
space:
mode:
authorest31 <MTest31@outlook.com>2015-07-17 16:40:41 +0200
committerest31 <MTest31@outlook.com>2015-07-23 07:38:13 +0200
commit3b50b2766aeb09c9fc0ad0ea07426bb2187df3d7 (patch)
tree5ae54f8dcfc2b496a4937dc8ccf524d7c99f4e23 /src/guiMainMenu.h
parent1e0e85f82e030e761c36ba5a12427bec0fb4e4f2 (diff)
downloadminetest-3b50b2766aeb09c9fc0ad0ea07426bb2187df3d7.tar.gz
minetest-3b50b2766aeb09c9fc0ad0ea07426bb2187df3d7.tar.bz2
minetest-3b50b2766aeb09c9fc0ad0ea07426bb2187df3d7.zip
Optional reconnect functionality
Enable the server to request the client to reconnect. This can be done with the now extended minetest.request_shutdown([reason], [reconnect]) setting.
Diffstat (limited to 'src/guiMainMenu.h')
-rw-r--r--src/guiMainMenu.h31
1 files changed, 18 insertions, 13 deletions
diff --git a/src/guiMainMenu.h b/src/guiMainMenu.h
index 34362dba6..711ad10f8 100644
--- a/src/guiMainMenu.h
+++ b/src/guiMainMenu.h
@@ -25,17 +25,19 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <string>
#include <list>
-enum
-{
- TAB_SINGLEPLAYER=0,
- TAB_MULTIPLAYER,
- TAB_ADVANCED,
- TAB_SETTINGS,
- TAB_CREDITS
+struct MainMenuDataForScript {
+
+ MainMenuDataForScript() :
+ reconnect_requested(false)
+ {}
+
+ // Whether the server has requested a reconnect
+ bool reconnect_requested;
+
+ std::string errormessage;
};
-struct MainMenuData
-{
+struct MainMenuData {
// Client options
std::string servername;
std::string serverdescription;
@@ -43,19 +45,22 @@ struct MainMenuData
std::string port;
std::string name;
std::string password;
+ // Whether to reconnect
+ bool do_reconnect;
// Server options
bool enable_public;
int selected_world;
bool simple_singleplayer_mode;
- //error handling
- std::string errormessage;
+ // Data to be passed to the script
+ MainMenuDataForScript script_data;
+
MainMenuData():
+ do_reconnect(false),
enable_public(false),
selected_world(0),
- simple_singleplayer_mode(false),
- errormessage("")
+ simple_singleplayer_mode(false)
{}
};