diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-08-01 14:46:37 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-08-01 14:46:37 +0200 |
commit | 107dec6c0f1be1de9c1049ba4004e5c08d2e34e3 (patch) | |
tree | 44b8031f5e0a9fcba281252f5e2dcd655d599421 /src | |
parent | f1760622ec4708decfe34e268a63a9d83d2978a7 (diff) | |
download | dragonfireclient-107dec6c0f1be1de9c1049ba4004e5c08d2e34e3.tar.xz |
Added Coords
Diffstat (limited to 'src')
-rw-r--r-- | src/client/gameui.cpp | 22 | ||||
-rw-r--r-- | src/client/gameui.h | 3 | ||||
-rw-r--r-- | src/defaultsettings.cpp | 1 |
3 files changed, 22 insertions, 4 deletions
diff --git a/src/client/gameui.cpp b/src/client/gameui.cpp index d34f7343c..8e6c82b11 100644 --- a/src/client/gameui.cpp +++ b/src/client/gameui.cpp @@ -53,6 +53,9 @@ GameUI::GameUI() } void GameUI::init() { + m_guitext_coords = gui::StaticText::add(guienv, L"", core::rect<s32>(0, 0, 0, 0), false, + false, guiroot); + // First line of debug text m_guitext = gui::StaticText::add(guienv, utf8_to_wide(PROJECT_NAME_C).c_str(), core::rect<s32>(0, 0, 0, 0), false, false, guiroot); @@ -94,8 +97,24 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_ const CameraOrientation &cam, const PointedThing &pointed_old, const GUIChatConsole *chat_console, float dtime) { + LocalPlayer *player = client->getEnv().getLocalPlayer(); + v3f player_position = player->getPosition(); v2u32 screensize = RenderingEngine::get_instance()->getWindowSize(); + bool show_coords = g_settings->getBool("coords"); + + if (show_coords) { + std::ostringstream os(std::ios_base::binary); + os << std::setprecision(1) << std::fixed + << (player_position.X / BS) + << ", " << (player_position.Y / BS) + << ", " << (player_position.Z / BS); + setStaticText(m_guitext_coords, utf8_to_wide(os.str()).c_str()); + m_guitext_coords->setRelativePosition(core::rect<s32>(5, screensize.Y - 5 - g_fontengine->getTextHeight(), screensize.X, screensize.Y)); + } + + m_guitext_coords->setVisible(show_coords); + if (m_flags.show_debug) { static float drawtime_avg = 0; drawtime_avg = drawtime_avg * 0.95 + stats.drawtime * 0.05; @@ -125,9 +144,6 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_ m_guitext->setVisible(m_flags.show_debug); if (m_flags.show_debug) { - LocalPlayer *player = client->getEnv().getLocalPlayer(); - v3f player_position = player->getPosition(); - std::ostringstream os(std::ios_base::binary); os << std::setprecision(1) << std::fixed << "pos: (" << (player_position.X / BS) diff --git a/src/client/gameui.h b/src/client/gameui.h index 0b6298c78..8a1b5650d 100644 --- a/src/client/gameui.h +++ b/src/client/gameui.h @@ -111,7 +111,8 @@ private: gui::IGUIStaticText *m_guitext = nullptr; // First line of debug text gui::IGUIStaticText *m_guitext2 = nullptr; // Second line of debug text - + gui::IGUIStaticText *m_guitext_coords = nullptr; + gui::IGUIStaticText *m_guitext_info = nullptr; // At the middle of the screen std::wstring m_infotext; diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index fe3dc3836..77592009f 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -87,6 +87,7 @@ void set_default_settings(Settings *settings) settings->setDefault("instant_break", "false"); settings->setDefault("highway", "false"); settings->setDefault("no_night", "false"); + settings->setDefault("coords", "false"); // Keymap settings->setDefault("remote_port", "30000"); |