aboutsummaryrefslogtreecommitdiff
path: root/src/gui/guiConfirmRegistration.h
diff options
context:
space:
mode:
authorMuhammad Rifqi Priyo Susanto <muhammadrifqipriyosusanto@gmail.com>2018-01-13 18:07:16 +0700
committerLoïc Blot <nerzhul@users.noreply.github.com>2018-01-13 12:07:16 +0100
commit792752997c5ae2aaa4f54d0a2e2af2a96d7d1e9f (patch)
tree568b578dd8cd5d0e579a4debc560d088c880d5e7 /src/gui/guiConfirmRegistration.h
parentfad263dec9e1fa7ae0886f768e22d8ee74e8553b (diff)
downloaddragonfireclient-792752997c5ae2aaa4f54d0a2e2af2a96d7d1e9f.tar.xz
Add confirmation on new player registration (#6849)
* Attempt to add registration confirmation Using SRP auth mechanism, if server sent AUTH_MECHANISM_FIRST_SRP that means the player isn't exist. Also tell player about the server and chosen username. Local game has localhost as IP address of the server. Add RenderingEngine::draw_menu_scene() to draw GUI and clouds background. aborted -> connection_aborted * Rewrite information message text Client::promptConfirmRegister() -> Client::promptConfirmRegistration()
Diffstat (limited to 'src/gui/guiConfirmRegistration.h')
-rw-r--r--src/gui/guiConfirmRegistration.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/gui/guiConfirmRegistration.h b/src/gui/guiConfirmRegistration.h
new file mode 100644
index 000000000..e14066e0e
--- /dev/null
+++ b/src/gui/guiConfirmRegistration.h
@@ -0,0 +1,61 @@
+/*
+Minetest
+Copyright (C) 2018 srifqi, Muhammad Rifqi Priyo Susanto
+ <muhammadrifqipriyosusanto@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
+the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser 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.
+*/
+
+#pragma once
+
+#include "irrlichttypes_extrabloated.h"
+#include "modalMenu.h"
+#include <string>
+
+class Client;
+
+class GUIConfirmRegistration : public GUIModalMenu
+{
+public:
+ GUIConfirmRegistration(gui::IGUIEnvironment *env, gui::IGUIElement *parent,
+ s32 id, IMenuManager *menumgr, Client *client,
+ const std::string &playername, const std::string &password,
+ const std::string &address, bool *aborted);
+ ~GUIConfirmRegistration();
+
+ void removeChildren();
+ /*
+ Remove and re-add (or reposition) stuff
+ */
+ void regenerateGui(v2u32 screensize);
+
+ void drawMenu();
+
+ void closeMenu(bool goNext);
+
+ void acceptInput();
+
+ bool processInput();
+
+ bool OnEvent(const SEvent &event);
+
+private:
+ Client *m_client = nullptr;
+ const std::string &m_playername;
+ const std::string &m_password;
+ const std::string &m_address;
+ bool *m_aborted = nullptr;
+ std::wstring m_pass_confirm = L"";
+};