Prepare colored name support
This commit is contained in:
parent
f213b9e056
commit
89508ea244
@ -4,9 +4,15 @@
|
|||||||
#include "game/game.hpp"
|
#include "game/game.hpp"
|
||||||
|
|
||||||
#include <utils/hook.hpp>
|
#include <utils/hook.hpp>
|
||||||
|
#include <utils/string.hpp>
|
||||||
|
|
||||||
namespace colors
|
namespace colors
|
||||||
{
|
{
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
utils::hook::detour get_player_name_hook;
|
||||||
|
utils::hook::detour get_gamer_tag_hook;
|
||||||
|
|
||||||
template <size_t index>
|
template <size_t index>
|
||||||
void patch_color(const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t a = 255)
|
void patch_color(const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t a = 255)
|
||||||
{
|
{
|
||||||
@ -30,6 +36,26 @@ namespace colors
|
|||||||
utils::hook::copy(g_color_table + index * 4, color_float, sizeof(color_float));
|
utils::hook::copy(g_color_table + index * 4, color_float, sizeof(color_float));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t get_player_name_stub(const uint64_t client, int client_num, char* buffer, const int size,
|
||||||
|
const bool has_clan_tag)
|
||||||
|
{
|
||||||
|
const auto res = get_player_name_hook.invoke<uint64_t>(client, client_num, buffer, size, has_clan_tag);
|
||||||
|
|
||||||
|
if (_ReturnAddress() != reinterpret_cast<void*>(0x1406A7B56_g))
|
||||||
|
{
|
||||||
|
const auto val = utils::string::va("^%d%s", rand() % 7, buffer);
|
||||||
|
strncpy_s(buffer, size, val, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* get_gamer_tag_stub(const uint64_t num)
|
||||||
|
{
|
||||||
|
return utils::string::va("^3%s", get_gamer_tag_hook.invoke<const char*>(num));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct component final : client_component
|
struct component final : client_component
|
||||||
{
|
{
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
@ -40,6 +66,15 @@ namespace colors
|
|||||||
patch_color<4>(0, 135, 193); // 4 - Blue
|
patch_color<4>(0, 135, 193); // 4 - Blue
|
||||||
patch_color<5>(32, 197, 255); // 5 - Light Blue
|
patch_color<5>(32, 197, 255); // 5 - Light Blue
|
||||||
patch_color<6>(151, 80, 221); // 6 - Pink
|
patch_color<6>(151, 80, 221); // 6 - Pink
|
||||||
|
|
||||||
|
//utils::hook::set<uint8_t>(0x141EB0457_g, 0xEB);
|
||||||
|
//utils::hook::set<uint8_t>(0x141EB0350_g, 0xC3);
|
||||||
|
|
||||||
|
//utils::hook::jump(game::select(0x14166F580, 0x140278840), clean_client_name_stub);
|
||||||
|
//utils::hook::call(game::select(0x1413E31E6, 0), clean_str);
|
||||||
|
|
||||||
|
get_player_name_hook.create(0x1413E3140_g, get_player_name_stub);
|
||||||
|
get_gamer_tag_hook.create(0x141EC7370_g, get_gamer_tag_stub);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user