Color dvar
This commit is contained in:
parent
234c58161e
commit
86a2159c17
@ -3,6 +3,7 @@
|
|||||||
namespace Components
|
namespace Components
|
||||||
{
|
{
|
||||||
Dvar::Var Colors::NewColors;
|
Dvar::Var Colors::NewColors;
|
||||||
|
Dvar::Var Colors::ColorBlind;
|
||||||
std::vector<DWORD> Colors::ColorTable;
|
std::vector<DWORD> Colors::ColorTable;
|
||||||
|
|
||||||
DWORD Colors::HsvToRgb(Colors::HsvColor hsv)
|
DWORD Colors::HsvToRgb(Colors::HsvColor hsv)
|
||||||
@ -220,18 +221,21 @@ namespace Components
|
|||||||
|
|
||||||
|
|
||||||
// Patches team overhead normally
|
// Patches team overhead normally
|
||||||
signed int __cdecl Colors::Dvar_GetUnpackedColorByName(const char* name, float* color) {
|
signed int __cdecl Colors::Dvar_GetUnpackedColorByName(const char* name, float* color)
|
||||||
|
{
|
||||||
if (Dvar::Var("r_colorBlindTeams").get<bool>()) {
|
if (Colors::ColorBlind.get<bool>())
|
||||||
|
{
|
||||||
auto str = std::string(name);
|
auto str = std::string(name);
|
||||||
if (str.compare("g_TeamColor_EnemyTeam") == 0) {
|
if (str.compare("g_TeamColor_EnemyTeam") == 0)
|
||||||
|
{
|
||||||
// A dark red
|
// A dark red
|
||||||
color[0] = 0.659f;
|
color[0] = 0.659f;
|
||||||
color[1] = 0.088f;
|
color[1] = 0.088f;
|
||||||
color[2] = 0.145f;
|
color[2] = 0.145f;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (str.compare("g_TeamColor_MyTeam") == 0) {
|
else if (str.compare("g_TeamColor_MyTeam") == 0)
|
||||||
|
{
|
||||||
// A bright yellow
|
// A bright yellow
|
||||||
color[0] = 1.f;
|
color[0] = 1.f;
|
||||||
color[1] = 0.859f;
|
color[1] = 0.859f;
|
||||||
@ -246,7 +250,7 @@ namespace Components
|
|||||||
Colors::Colors()
|
Colors::Colors()
|
||||||
{
|
{
|
||||||
// Add a colorblind mode for team colors
|
// Add a colorblind mode for team colors
|
||||||
Dvar::Register<bool>("r_colorBlindTeams", false, Game::dvar_flag::DVAR_FLAG_SAVED, "Use color-blindness-friendly colors for ingame team names");
|
Colors::ColorBlind = Dvar::Register<bool>("r_colorBlindTeams", false, Game::dvar_flag::DVAR_FLAG_SAVED, "Use color-blindness-friendly colors for ingame team names");
|
||||||
Utils::Hook(0x4C09BE, Colors::Dvar_GetUnpackedColorByName, HOOK_CALL).install()->quick();
|
Utils::Hook(0x4C09BE, Colors::Dvar_GetUnpackedColorByName, HOOK_CALL).install()->quick();
|
||||||
Utils::Hook(0x583661, Colors::Dvar_GetUnpackedColorByName, HOOK_CALL).install()->quick();
|
Utils::Hook(0x583661, Colors::Dvar_GetUnpackedColorByName, HOOK_CALL).install()->quick();
|
||||||
Utils::Hook(0x5836A5, Colors::Dvar_GetUnpackedColorByName, HOOK_CALL).install()->quick();
|
Utils::Hook(0x5836A5, Colors::Dvar_GetUnpackedColorByName, HOOK_CALL).install()->quick();
|
||||||
@ -272,7 +276,7 @@ namespace Components
|
|||||||
Utils::Hook(0x4AD470, Colors::CleanStrStub, HOOK_JUMP).install()->quick();
|
Utils::Hook(0x4AD470, Colors::CleanStrStub, HOOK_JUMP).install()->quick();
|
||||||
|
|
||||||
// Register dvar
|
// Register dvar
|
||||||
Colors::NewColors = Dvar::Register<bool>("cg_newColors", true, Game::dvar_flag::DVAR_FLAG_SAVED, "Use Warfare² color code style.");
|
Colors::NewColors = Dvar::Register<bool>("cg_newColors", true, Game::dvar_flag::DVAR_FLAG_SAVED, "Use Warfare<EFBFBD> color code style.");
|
||||||
Game::Dvar_RegisterColor("sv_customTextColor", 1, 0.7f, 0, 1, Game::dvar_flag::DVAR_FLAG_REPLICATED, "Color for the extended color code.");
|
Game::Dvar_RegisterColor("sv_customTextColor", 1, 0.7f, 0, 1, Game::dvar_flag::DVAR_FLAG_REPLICATED, "Color for the extended color code.");
|
||||||
Dvar::Register<bool>("sv_allowColoredNames", true, Game::dvar_flag::DVAR_FLAG_NONE, "Allow colored names on the server");
|
Dvar::Register<bool>("sv_allowColoredNames", true, Game::dvar_flag::DVAR_FLAG_NONE, "Allow colored names on the server");
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ namespace Components
|
|||||||
};
|
};
|
||||||
|
|
||||||
static Dvar::Var NewColors;
|
static Dvar::Var NewColors;
|
||||||
|
static Dvar::Var ColorBlind;
|
||||||
|
|
||||||
static DWORD HsvToRgb(HsvColor hsv);
|
static DWORD HsvToRgb(HsvColor hsv);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user