summaryrefslogtreecommitdiff
path: root/src/client.cpp
diff options
context:
space:
mode:
authorLoïc Blot <nerzhul@users.noreply.github.com>2017-03-19 13:18:52 +0100
committerGitHub <noreply@github.com>2017-03-19 13:18:52 +0100
commit3c4ac70348db5375118d1e714a6d4681c3cfcd05 (patch)
tree351f00d7c980d4c2668d67d5b04fee9f09f9fe5d /src/client.cpp
parent2e3778ec0c1f77007d064d15310fa816e2a07e88 (diff)
downloadminetest-3c4ac70348db5375118d1e714a6d4681c3cfcd05.tar.gz
minetest-3c4ac70348db5375118d1e714a6d4681c3cfcd05.tar.bz2
minetest-3c4ac70348db5375118d1e714a6d4681c3cfcd05.zip
Refactor Game class (part 2) (#5422)
* showPauseMenu is now part of game * remove many flags parameters passed to game functions, use the member. * rename VolatileRunFlags to GameUIFlags (this will permit to share structure with client and CSM * updatePointedThing: remove pointer ref, we already have the pointer in rundata * move some attributes outside of VolatileRunFlags after renaming, to game class * rename statustext to m_statustext * make some const variables static * All those changes permit to reduce a little bit function class cost and will permit to interface CSM with some interesting Game flags * Expose GameUIFlags to client * Client now have GameUIFlags parameter and setters for other classes * Fix minimap show/hide in Lua because we now have access to the real flag
Diffstat (limited to 'src/client.cpp')
-rw-r--r--src/client.cpp37
1 files changed, 35 insertions, 2 deletions
diff --git a/src/client.cpp b/src/client.cpp
index e87c0ff94..0c4819bc5 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -46,6 +46,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "serialization.h"
#include "guiscalingfilter.h"
#include "script/clientscripting.h"
+#include "game.h"
extern gui::IGUIEnvironment* guienv;
@@ -198,7 +199,8 @@ Client::Client(
IWritableNodeDefManager *nodedef,
ISoundManager *sound,
MtEventManager *event,
- bool ipv6
+ bool ipv6,
+ GameUIFlags *game_ui_flags
):
m_packetcounter_timer(0.0),
m_connection_reinit_timer(0.1),
@@ -250,7 +252,8 @@ Client::Client(
m_state(LC_Created),
m_localdb(NULL),
m_script(NULL),
- m_mod_storage_save_timer(10.0f)
+ m_mod_storage_save_timer(10.0f),
+ m_game_ui_flags(game_ui_flags)
{
// Add local player
m_env.setLocalPlayer(new LocalPlayer(this, playername));
@@ -1935,6 +1938,36 @@ bool Client::shouldShowMinimap() const
return !m_minimap_disabled_by_server;
}
+void Client::showGameChat(const bool show)
+{
+ m_game_ui_flags->show_chat = show;
+}
+
+void Client::showGameHud(const bool show)
+{
+ m_game_ui_flags->show_hud = show;
+}
+
+void Client::showMinimap(const bool show)
+{
+ m_game_ui_flags->show_minimap = show;
+}
+
+void Client::showProfiler(const bool show)
+{
+ m_game_ui_flags->show_profiler_graph = show;
+}
+
+void Client::showGameFog(const bool show)
+{
+ m_game_ui_flags->force_fog_off = !show;
+}
+
+void Client::showGameDebug(const bool show)
+{
+ m_game_ui_flags->show_debug = show;
+}
+
// IGameDef interface
// Under envlock
IItemDefManager* Client::getItemDefManager()