#include #include "version.hpp" #include "scheduler.hpp" #include "definitions/game.hpp" #include "loader/component_loader.hpp" namespace watermark { namespace { void draw_version() { auto* font = reinterpret_cast(game::sharedUiInfo->assets.bigFont); constexpr auto scale = 0.4f; constexpr const char* text = "Project-BO4: " VERSION; if (!font /*|| *game::keyCatchers & 1*/) return; auto screenWidth = game::ScrPlace_GetView(0)->realViewportSize[0]; auto textWidth = game::UI_TextWidth(0, text, 0x7FFFFFFF, font, scale); auto x = screenWidth - (textWidth + 14.0f); auto y = game::UI_TextHeight(font, scale) + 12.0f; float color[4] = { 0.666f, 0.666f, 0.666f, 0.666f }; game::R_AddCmdDrawText(text, 0x7FFFFFFF, font, x, y, scale, scale, 0.0f, color, game::ITEM_TEXTSTYLE_NORMAL); } } class component final : public component_interface { public: void post_unpack() override { scheduler::loop(draw_version, scheduler::renderer); } }; } REGISTER_COMPONENT(watermark::component)