From 9146c6a50fdf81196bab3d517b8313fb4fa3bc71 Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Fri, 5 Jan 2018 19:39:06 +0100 Subject: [PATCH] Don't recalculate statustext initial color everytime & review fixes --- src/client/gameui.cpp | 22 ++++++++++++---------- src/client/gameui.h | 7 ++++--- src/game.cpp | 9 ++++----- src/gui/guiFormSpecMenu.cpp | 2 +- src/irrlicht_changes/static_text.h | 3 ++- util/updatepo.sh | 2 +- 6 files changed, 24 insertions(+), 21 deletions(-) diff --git a/src/client/gameui.cpp b/src/client/gameui.cpp index 6f6d2c2a8..84b6ef2d3 100644 --- a/src/client/gameui.cpp +++ b/src/client/gameui.cpp @@ -41,6 +41,14 @@ inline static const char *yawToDirectionString(int yaw) return direction[yaw]; } +GameUI::GameUI() +{ + if (guienv && guienv->getSkin()) + m_statustext_initial_color = guienv->getSkin()->getColor(gui::EGDC_BUTTON_TEXT); + else + m_statustext_initial_color = video::SColor(255, 0, 0, 0); + +} void GameUI::init() { // First line of debug text @@ -169,16 +177,10 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_ status_y - status_height, status_x + status_width, status_y)); // Fade out - video::SColor initial_color(255, 0, 0, 0); - - if (guienv->getSkin()) - initial_color = guienv->getSkin()->getColor(gui::EGDC_BUTTON_TEXT); - - video::SColor final_color = initial_color; + video::SColor final_color = m_statustext_initial_color; final_color.setAlpha(0); - video::SColor fade_color = initial_color.getInterpolated_quadratic( - initial_color, final_color, - pow(m_statustext_time / statustext_time_max, 2.0f)); + video::SColor fade_color = m_statustext_initial_color.getInterpolated_quadratic( + m_statustext_initial_color, final_color, m_statustext_time / statustext_time_max); m_guitext_status->setOverrideColor(fade_color); m_guitext_status->enableOverrideColor(true); } @@ -244,7 +246,7 @@ void GameUI::updateProfiler() if (w < 400) w = 400; - unsigned text_height = g_fontengine->getTextHeight(); + u32 text_height = g_fontengine->getTextHeight(); core::position2di upper_left, lower_right; diff --git a/src/client/gameui.h b/src/client/gameui.h index ebb7842c4..04946084e 100644 --- a/src/client/gameui.h +++ b/src/client/gameui.h @@ -46,7 +46,7 @@ class GameUI friend class TestGameUI; public: - GameUI() = default; + GameUI(); ~GameUI() = default; // Flags that can, or may, change during main game loop @@ -100,10 +100,11 @@ private: gui::IGUIStaticText *m_guitext_status = nullptr; std::wstring m_statustext; float m_statustext_time = 0.0f; + video::SColor m_statustext_initial_color; - gui::IGUIStaticText *m_guitext_chat; // Chat text + gui::IGUIStaticText *m_guitext_chat = nullptr; // Chat text - gui::IGUIStaticText *m_guitext_profiler; // Profiler text + gui::IGUIStaticText *m_guitext_profiler = nullptr; // Profiler text u8 m_profiler_current_page = 0; const u8 m_profiler_max_page = 3; }; diff --git a/src/game.cpp b/src/game.cpp index 924ca8c47..1ab360d3c 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1277,7 +1277,7 @@ private: void updateChat(f32 dtime, const v2u32 &screensize); static const ClientEventHandler clientEventHandler[CLIENTEVENT_MAX]; - InputHandler *input; + InputHandler *input = nullptr; Client *client = nullptr; Server *server = nullptr; @@ -2669,9 +2669,9 @@ void Game::toggleFog() { m_flags.force_fog_off = !m_flags.force_fog_off; if (m_flags.force_fog_off) - m_game_ui->showTranslatedStatusText("Fog disabled"); + m_game_ui->showTranslatedStatusText("Fog disabled"); else - m_game_ui->showTranslatedStatusText("Fog enabled"); + m_game_ui->showTranslatedStatusText("Fog enabled"); } @@ -2912,9 +2912,8 @@ inline void Game::step(f32 *dtime) if (can_be_and_is_paused) { // This is for a singleplayer server *dtime = 0; // No time passes } else { - if (server) { + if (server) server->step(*dtime); - } client->step(*dtime); } diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp index 5926cca3a..6ca4a2e16 100644 --- a/src/gui/guiFormSpecMenu.cpp +++ b/src/gui/guiFormSpecMenu.cpp @@ -2026,7 +2026,7 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize) assert(!m_tooltip_element); // Note: parent != this so that the tooltip isn't clipped by the menu rectangle m_tooltip_element = gui::StaticText::add(Environment, L"", - core::rect(0,0,110,18)); + core::rect(0, 0, 110, 18)); m_tooltip_element->enableOverrideColor(true); m_tooltip_element->setBackgroundColor(m_default_tooltip_bgcolor); m_tooltip_element->setDrawBackground(true); diff --git a/src/irrlicht_changes/static_text.h b/src/irrlicht_changes/static_text.h index 6bb85bd6b..c95d5b95f 100644 --- a/src/irrlicht_changes/static_text.h +++ b/src/irrlicht_changes/static_text.h @@ -92,7 +92,8 @@ namespace gui s32 id = -1, bool fillBackground = false) { - return add(guienv, EnrichedString(text), rectangle, border, wordWrap, parent, id, fillBackground); + return add(guienv, EnrichedString(text), rectangle, border, wordWrap, parent, + id, fillBackground); } //! draws the element and its children diff --git a/util/updatepo.sh b/util/updatepo.sh index 99cb38a0a..84dfd3ddb 100755 --- a/util/updatepo.sh +++ b/util/updatepo.sh @@ -57,7 +57,7 @@ xgettext --package-name=minetest \ --keyword=fgettext_ne \ --keyword=strgettext \ --keyword=wstrgettext \ - --keyword=showStatusTextSimple \ + --keyword=showTranslatedStatusText \ --output $potfile \ --from-code=utf-8 \ `find src/ -name '*.cpp' -o -name '*.h'` \