diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/client/gameui.cpp | 35 | ||||
-rw-r--r-- | src/client/gameui.h | 60 |
3 files changed, 96 insertions, 0 deletions
diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index 3cc6c0351..3462636f4 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -9,6 +9,7 @@ set(client_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/render/stereo.cpp ${CMAKE_CURRENT_SOURCE_DIR}/renderingengine.cpp ${CMAKE_CURRENT_SOURCE_DIR}/clientlauncher.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/gameui.cpp ${CMAKE_CURRENT_SOURCE_DIR}/inputhandler.cpp ${CMAKE_CURRENT_SOURCE_DIR}/tile.cpp ${CMAKE_CURRENT_SOURCE_DIR}/joystick_controller.cpp diff --git a/src/client/gameui.cpp b/src/client/gameui.cpp new file mode 100644 index 000000000..7307daf75 --- /dev/null +++ b/src/client/gameui.cpp @@ -0,0 +1,35 @@ +/* +Minetest +Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com> +Copyright (C) 2018 nerzhul, Loic Blot <loic.blot@unix-experience.fr> + +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. +*/ + +#include "gameui.h" +#include "settings.h" + +void GameUI::initFlags() +{ + memset(&m_flags, 0, sizeof(GameUI::Flags)); + m_flags.show_chat = true; + m_flags.show_hud = true; + m_flags.show_debug = g_settings->getBool("show_debug"); +} + +void GameUI::showMinimap(const bool show) +{ + m_flags.show_minimap = show; +} diff --git a/src/client/gameui.h b/src/client/gameui.h new file mode 100644 index 000000000..bd9c0f626 --- /dev/null +++ b/src/client/gameui.h @@ -0,0 +1,60 @@ +/* +Minetest +Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com> +Copyright (C) 2018 nerzhul, Loic Blot <loic.blot@unix-experience.fr> + +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 "IGUIEnvironment.h" + +using namespace irr; + +class GameUI +{ + // Temporary between coding time to move things here + friend class Game; + +public: + // Flags that can, or may, change during main game loop + struct Flags + { + bool show_chat; + bool show_hud; + bool show_minimap; + bool force_fog_off; + bool show_debug; + bool show_profiler_graph; + bool disable_camera_update; + }; + + void initFlags(); + const Flags &getFlags() const { return m_flags; } + + void showMinimap(const bool show); + +private: + Flags m_flags; + + // @TODO future move + // gui::IGUIStaticText *m_guitext; // First line of debug text + // gui::IGUIStaticText *m_guitext2; // Second line of debug text + // gui::IGUIStaticText *m_guitext_info; // At the middle of the screen + // gui::IGUIStaticText *m_guitext_status; + // gui::IGUIStaticText *m_guitext_chat; // Chat text + // gui::IGUIStaticText *m_guitext_profiler; // Profiler text +}; |