t7x/src/client/component/branding.cpp

48 lines
1.1 KiB
C++
Raw Normal View History

2022-09-16 14:55:36 -04:00
#include <std_include.hpp>
#include "loader/component_loader.hpp"
#include "game/game.hpp"
#include <utils/hook.hpp>
2022-09-17 03:16:24 -04:00
#include <version.hpp>
2022-09-16 14:55:36 -04:00
namespace branding
{
namespace
{
utils::hook::detour r_end_frame_hook;
void draw_branding()
{
constexpr auto x = 4;
2022-09-17 03:16:24 -04:00
constexpr auto y = 0;
constexpr auto scale = 0.5f;
2022-09-16 14:55:36 -04:00
//float color[4] = {0.666f, 0.666f, 0.666f, 0.666f};
float color[4] = {236 / 255.0f, 113 / 255.0f, 10 / 255.0f, 1.0f};
auto* font = reinterpret_cast<uint32_t*(*)()>(0x141CAC8E0_g)();
if (!font) return;
2022-09-17 03:16:24 -04:00
game::R_AddCmdDrawText("BOIII: " VERSION, 0x7FFFFFFF, font, static_cast<float>(x),
2022-09-16 14:55:36 -04:00
y + static_cast<float>(font[2]) * scale,
2022-09-17 03:16:24 -04:00
scale, scale, 0.0f, color, game::ITEM_TEXTSTYLE_SHADOWEDMORE);
2022-09-16 14:55:36 -04:00
}
void r_end_frame_stub()
{
draw_branding();
r_end_frame_hook.invoke<void>();
}
}
class component final : public component_interface
{
public:
void post_unpack() override
{
r_end_frame_hook.create(0x142273560_g, r_end_frame_stub);
}
};
}
REGISTER_COMPONENT(branding::component)