diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-04 04:42:16 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-04 04:42:16 +1000 |
commit | c343a7dfafb0b2e5e063ec83fd87cd05d5387b13 (patch) | |
tree | d525d784492eadc66963fb4af20b8d2b9f6ec48b /source/frontend/StarMainInterface.cpp | |
parent | 081dd693ca57ef624342e729c5b27b2e5da98410 (diff) |
Add toggle for debug HUD
Diffstat (limited to 'source/frontend/StarMainInterface.cpp')
-rw-r--r-- | source/frontend/StarMainInterface.cpp | 74 |
1 files changed, 38 insertions, 36 deletions
diff --git a/source/frontend/StarMainInterface.cpp b/source/frontend/StarMainInterface.cpp index fb28e84..0475663 100644 --- a/source/frontend/StarMainInterface.cpp +++ b/source/frontend/StarMainInterface.cpp @@ -1257,50 +1257,52 @@ void MainInterface::renderDebug() { LogMap::clear(); return; } + + if (m_clientCommandProcessor->debugHudEnabled()) { + auto assets = Root::singleton().assets(); + m_guiContext->setFontSize(m_config->debugFontSize); + m_guiContext->setFont(m_config->debugFont); + m_guiContext->setLineSpacing(0.5f); + m_guiContext->setFontProcessingDirectives(m_config->debugFontDirectives); + m_guiContext->setFontColor(Color::White.toRgba()); + m_guiContext->setFontMode(FontMode::Normal); - auto assets = Root::singleton().assets(); - m_guiContext->setFontSize(m_config->debugFontSize); - m_guiContext->setFont(m_config->debugFont); - m_guiContext->setLineSpacing(0.5f); - m_guiContext->setFontProcessingDirectives(m_config->debugFontDirectives); - m_guiContext->setFontColor(Color::White.toRgba()); - m_guiContext->setFontMode(FontMode::Normal); - - bool clearMap = m_debugMapClearTimer.wrapTick(); - auto logMapValues = LogMap::getValues(); - if (clearMap) - LogMap::clear(); + bool clearMap = m_debugMapClearTimer.wrapTick(); + auto logMapValues = LogMap::getValues(); + if (clearMap) + LogMap::clear(); - List<String> formatted; - formatted.reserve(logMapValues.size()); + List<String> formatted; + formatted.reserve(logMapValues.size()); - int counter = 0; - for (auto const& pair : logMapValues) { - TextPositioning positioning = {Vec2F(m_config->debugOffset[0], windowHeight() - m_config->debugOffset[1] - m_config->fontSize * interfaceScale() * counter++)}; - String& text = formatted.emplace_back(strf("{}^lightgray;:^green,set; {}", pair.first, pair.second)); - m_debugTextRect.combine(m_guiContext->determineTextSize(text, positioning).padded(m_config->debugBackgroundPad)); - } + int counter = 0; + for (auto const& pair : logMapValues) { + TextPositioning positioning = { Vec2F(m_config->debugOffset[0], windowHeight() - m_config->debugOffset[1] - m_config->fontSize * interfaceScale() * counter++) }; + String& text = formatted.emplace_back(strf("{}^lightgray;:^green,set; {}", pair.first, pair.second)); + m_debugTextRect.combine(m_guiContext->determineTextSize(text, positioning).padded(m_config->debugBackgroundPad)); + } - if (!m_debugTextRect.isNull()) { - RenderQuad& quad = m_guiContext->renderer()->immediatePrimitives() - .emplace_back(std::in_place_type_t<RenderQuad>(), m_debugTextRect, m_config->debugBackgroundColor.toRgba(), 0.0f).get<RenderQuad>(); + if (!m_debugTextRect.isNull()) { + RenderQuad& quad = m_guiContext->renderer()->immediatePrimitives() + .emplace_back(std::in_place_type_t<RenderQuad>(), m_debugTextRect, m_config->debugBackgroundColor.toRgba(), 0.0f).get<RenderQuad>(); - quad.b.color[3] = quad.c.color[3] = 0; - }; + quad.b.color[3] = quad.c.color[3] = 0; + }; - m_debugTextRect = RectF::null(); + m_debugTextRect = RectF::null(); - counter = 0; - for (auto const& pair : logMapValues) { - TextPositioning positioning = {Vec2F(m_config->debugOffset[0], windowHeight() - m_config->debugOffset[1] - m_config->fontSize * interfaceScale() * counter)}; - m_guiContext->renderText(formatted[counter], positioning); - ++counter; + counter = 0; + for (auto const& pair : logMapValues) { + TextPositioning positioning = { Vec2F(m_config->debugOffset[0], windowHeight() - m_config->debugOffset[1] - m_config->fontSize * interfaceScale() * counter) }; + m_guiContext->renderText(formatted[counter], positioning); + ++counter; + } + m_guiContext->setFontSize(8); + m_guiContext->setDefaultFont(); + m_guiContext->setDefaultLineSpacing(); + m_guiContext->setFontColor(Vec4B::filled(255)); + m_guiContext->setFontProcessingDirectives(""); } - m_guiContext->setFontSize(8); - m_guiContext->setDefaultFont(); - m_guiContext->setDefaultLineSpacing(); - m_guiContext->setFontColor(Vec4B::filled(255)); - m_guiContext->setFontProcessingDirectives(""); auto const& camera = m_worldPainter->camera(); |