~widelands-dev/widelands/1733279-ingame-clock

« back to all changes in this revision

Viewing changes to src/wui/interactive_base.cc

  • Committer: GunChleoc
  • Date: 2018-04-18 07:48:37 UTC
  • Revision ID: fios@foramnagaidhlig.net-20180418074837-n150gcsj7c2d2jyd
Show in-game clock in release builds too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
428
428
                }
429
429
        }
430
430
 
431
 
        // Blit node information when in debug mode.
432
 
        if (get_display_flag(dfDebug) || game == nullptr) {
433
 
                std::string node_text;
434
 
                if (game != nullptr) {
435
 
                        const std::string gametime(gametimestring(egbase().get_gametime(), true));
436
 
                        std::shared_ptr<const UI::RenderedText> rendered_text =
437
 
                           UI::g_fh1->render(as_condensed(gametime));
438
 
                        rendered_text->draw(dst, Vector2i(5, 5));
439
 
 
440
 
                        static boost::format node_format("(%i, %i)");
441
 
                        node_text = as_condensed((node_format % sel_.pos.node.x % sel_.pos.node.y).str());
442
 
                } else {  // This is an editor
443
 
                        static boost::format node_format("(%i, %i, %i)");
444
 
                        const int32_t height = egbase().map()[sel_.pos.node].get_height();
445
 
                        node_text = as_condensed((node_format % sel_.pos.node.x % sel_.pos.node.y % height).str());
446
 
                }
447
 
                std::shared_ptr<const UI::RenderedText> rendered_text = UI::g_fh1->render(node_text);
 
431
        // Node information
 
432
        std::string node_text("");
 
433
        if (game == nullptr) {
 
434
                // Always blit node information in the editor
 
435
                static boost::format node_format("(%i, %i, %i)");
 
436
                const int32_t height = egbase().map()[sel_.pos.node].get_height();
 
437
                node_text = (node_format % sel_.pos.node.x % sel_.pos.node.y % height).str();
 
438
        } else if (get_display_flag(dfDebug)) {
 
439
                // Blit node information for games in debug mode - we're not interested in the height
 
440
                static boost::format node_format("(%i, %i)");
 
441
                node_text = (node_format % sel_.pos.node.x % sel_.pos.node.y).str();
 
442
        }
 
443
        if (!node_text.empty()) {
 
444
                std::shared_ptr<const UI::RenderedText> rendered_text = UI::g_fh1->render(as_condensed(node_text));
448
445
                rendered_text->draw(
449
 
                   dst, Vector2i(get_w() - 5, get_h() - rendered_text->height() - 5), UI::Align::kRight);
 
446
                        dst, Vector2i(get_w() - 5, get_h() - rendered_text->height() - 5), UI::Align::kRight);
450
447
        }
451
448
 
452
 
        // Blit FPS when playing a game in debug mode.
453
 
        if (get_display_flag(dfDebug) && game != nullptr) {
454
 
                static boost::format fps_format("%5.1f fps (avg: %5.1f fps)");
455
 
                std::shared_ptr<const UI::RenderedText> rendered_text = UI::g_fh1->render(as_condensed(
456
 
                   (fps_format % (1000.0 / frametime_) % (1000.0 / (avg_usframetime_ / 1000))).str()));
457
 
                rendered_text->draw(dst, Vector2i((get_w() - rendered_text->width()) / 2, 5));
 
449
        // In-game clock and FPS
 
450
        if (game != nullptr) {
 
451
                // Blit in-game clock.
 
452
                const std::string gametime(gametimestring(egbase().get_gametime(), true));
 
453
                std::shared_ptr<const UI::RenderedText> rendered_text =
 
454
                   UI::g_fh1->render(as_condensed(gametime));
 
455
                rendered_text->draw(dst, Vector2i(5, 5));
 
456
 
 
457
                // Blit FPS when playing a game in debug mode.
 
458
                if (get_display_flag(dfDebug)) {
 
459
                        static boost::format fps_format("%5.1f fps (avg: %5.1f fps)");
 
460
                        rendered_text = UI::g_fh1->render(as_condensed(
 
461
                           (fps_format % (1000.0 / frametime_) % (1000.0 / (avg_usframetime_ / 1000))).str()));
 
462
                        rendered_text->draw(dst, Vector2i((get_w() - rendered_text->width()) / 2, 5));
 
463
                }
458
464
        }
459
465
}
460
466