Added Coords

This commit is contained in:
Elias Fleckenstein 2020-08-01 14:46:37 +02:00
parent f1760622ec
commit 107dec6c0f
4 changed files with 23 additions and 4 deletions

View File

@ -20,6 +20,7 @@ core.cheats = {
["HUDBypass"] = "hud_flags_bypass",
["NoHurtCam"] = "no_hurt_cam",
["BrightNight"] = "no_night",
["Coords"] = "coords",
},
["World"] = {
["FastDig"] = "fastdig",

View File

@ -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)

View File

@ -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;

View File

@ -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");