ESP + GLOW + MENU
This commit is contained in:
@@ -127,7 +127,7 @@
|
|||||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
<LanguageStandard>stdcpplatest</LanguageStandard>
|
||||||
<LanguageStandard_C>stdclatest</LanguageStandard_C>
|
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
|
|||||||
@@ -10,6 +10,10 @@
|
|||||||
#include <GameClient/CEntityCache/CEntityCache.hpp>
|
#include <GameClient/CEntityCache/CEntityCache.hpp>
|
||||||
#include <GameClient/CL_Players.hpp>
|
#include <GameClient/CL_Players.hpp>
|
||||||
#include <GameClient/CL_VisibleCheck.hpp>
|
#include <GameClient/CL_VisibleCheck.hpp>
|
||||||
|
#include <GameClient/CL_Bones.hpp>
|
||||||
|
#include <CS2/SDK/Math/Math.hpp>
|
||||||
|
#include <CS2/SDK/Types/CEntityData.hpp>
|
||||||
|
#include <CS2/SDK/Types/Color.hpp>
|
||||||
|
|
||||||
static CVisual g_CVisual{};
|
static CVisual g_CVisual{};
|
||||||
|
|
||||||
@@ -114,9 +118,127 @@ auto CVisual::OnRenderPlayerEsp( CCSPlayerController* pCCSPlayerController , con
|
|||||||
else if ( Settings::Visual::PlayerBoxType == EVisualBoxType_t::OUTLINE_COAL_BOX )
|
else if ( Settings::Visual::PlayerBoxType == EVisualBoxType_t::OUTLINE_COAL_BOX )
|
||||||
GetRenderStackSystem()->DrawOutlineCoalBox( min , max , PlayerColor );
|
GetRenderStackSystem()->DrawOutlineCoalBox( min , max , PlayerColor );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( Settings::Visual::BoneESP )
|
||||||
|
{
|
||||||
|
auto ShouldDrawBone = false;
|
||||||
|
|
||||||
|
if ( Settings::Visual::BoneESPTeam && !IsEnemy )
|
||||||
|
ShouldDrawBone = true;
|
||||||
|
|
||||||
|
if ( Settings::Visual::BoneESPEnemy && IsEnemy )
|
||||||
|
ShouldDrawBone = true;
|
||||||
|
|
||||||
|
if ( Settings::Visual::OnlyVisible && !bVisible )
|
||||||
|
ShouldDrawBone = false;
|
||||||
|
|
||||||
|
if ( ShouldDrawBone )
|
||||||
|
{
|
||||||
|
DrawBoneESP( pC_CSPlayerPawn , bVisible , pCCSPlayerController->m_iTeamNum() );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto CVisual::ApplyGlow( C_CSPlayerPawn* pC_CSPlayerPawn , const bool bVisible , const int iTeamNum ) -> void
|
||||||
|
{
|
||||||
|
if ( !pC_CSPlayerPawn || !pC_CSPlayerPawn->IsPlayerPawn() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto IsEnemy = false;
|
||||||
|
C_CSPlayerPawn* pLocalPawn = nullptr;
|
||||||
|
|
||||||
|
if ( auto* pLocalPlayerController = GetCL_Players()->GetLocalPlayerController(); pLocalPlayerController )
|
||||||
|
{
|
||||||
|
pLocalPawn = pLocalPlayerController->m_hPawn().Get<C_CSPlayerPawn>();
|
||||||
|
if ( pLocalPawn )
|
||||||
|
{
|
||||||
|
IsEnemy = iTeamNum != pLocalPawn->m_iTeamNum();
|
||||||
|
|
||||||
|
// Local player'dan glow'u kaldır
|
||||||
|
if ( pC_CSPlayerPawn == pLocalPawn )
|
||||||
|
{
|
||||||
|
auto& Glow = pC_CSPlayerPawn->m_Glow();
|
||||||
|
Glow.m_bGlowing() = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
auto DrawGlow = false;
|
||||||
|
|
||||||
|
if ( Settings::Visual::GlowTeam && !IsEnemy )
|
||||||
|
DrawGlow = true;
|
||||||
|
|
||||||
|
if ( Settings::Visual::GlowEnemy && IsEnemy )
|
||||||
|
DrawGlow = true;
|
||||||
|
|
||||||
|
if ( Settings::Visual::OnlyVisible && !bVisible )
|
||||||
|
DrawGlow = false;
|
||||||
|
|
||||||
|
if ( !DrawGlow )
|
||||||
|
{
|
||||||
|
// Glow'u kapat
|
||||||
|
auto& Glow = pC_CSPlayerPawn->m_Glow();
|
||||||
|
Glow.m_bGlowing() = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto GlowColor = Color( 255 , 255 , 255 , 255 );
|
||||||
|
|
||||||
|
if ( iTeamNum == TEAM_TT )
|
||||||
|
{
|
||||||
|
const auto& ColorVec = Settings::Colors::Visual::GlowTT;
|
||||||
|
if ( bVisible )
|
||||||
|
{
|
||||||
|
const auto& VisibleColorVec = Settings::Colors::Visual::GlowTT_Visible;
|
||||||
|
GlowColor = Color(
|
||||||
|
static_cast<BYTE>( VisibleColorVec.x * 255.f ) ,
|
||||||
|
static_cast<BYTE>( VisibleColorVec.y * 255.f ) ,
|
||||||
|
static_cast<BYTE>( VisibleColorVec.z * 255.f ) ,
|
||||||
|
static_cast<BYTE>( VisibleColorVec.w * 255.f )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GlowColor = Color(
|
||||||
|
static_cast<BYTE>( ColorVec.x * 255.f ) ,
|
||||||
|
static_cast<BYTE>( ColorVec.y * 255.f ) ,
|
||||||
|
static_cast<BYTE>( ColorVec.z * 255.f ) ,
|
||||||
|
static_cast<BYTE>( ColorVec.w * 255.f )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ( iTeamNum == TEAM_CT )
|
||||||
|
{
|
||||||
|
const auto& ColorVec = Settings::Colors::Visual::GlowCT;
|
||||||
|
if ( bVisible )
|
||||||
|
{
|
||||||
|
const auto& VisibleColorVec = Settings::Colors::Visual::GlowCT_Visible;
|
||||||
|
GlowColor = Color(
|
||||||
|
static_cast<BYTE>( VisibleColorVec.x * 255.f ) ,
|
||||||
|
static_cast<BYTE>( VisibleColorVec.y * 255.f ) ,
|
||||||
|
static_cast<BYTE>( VisibleColorVec.z * 255.f ) ,
|
||||||
|
static_cast<BYTE>( VisibleColorVec.w * 255.f )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GlowColor = Color(
|
||||||
|
static_cast<BYTE>( ColorVec.x * 255.f ) ,
|
||||||
|
static_cast<BYTE>( ColorVec.y * 255.f ) ,
|
||||||
|
static_cast<BYTE>( ColorVec.z * 255.f ) ,
|
||||||
|
static_cast<BYTE>( ColorVec.w * 255.f )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Glow'u uygula
|
||||||
|
auto& Glow = pC_CSPlayerPawn->m_Glow();
|
||||||
|
Glow.m_bGlowing() = true;
|
||||||
|
Glow.m_glowColorOverride() = GlowColor;
|
||||||
|
}
|
||||||
|
|
||||||
auto CVisual::OnClientOutput() -> void
|
auto CVisual::OnClientOutput() -> void
|
||||||
{
|
{
|
||||||
OnRender();
|
OnRender();
|
||||||
@@ -148,6 +270,15 @@ auto CVisual::OnCreateMove() -> void
|
|||||||
auto* pCCSPlayerController = reinterpret_cast<CCSPlayerController*>( pEntity );
|
auto* pCCSPlayerController = reinterpret_cast<CCSPlayerController*>( pEntity );
|
||||||
|
|
||||||
CachedEntity.m_bVisible = GetCL_VisibleCheck()->IsPlayerControllerVisible( pCCSPlayerController );
|
CachedEntity.m_bVisible = GetCL_VisibleCheck()->IsPlayerControllerVisible( pCCSPlayerController );
|
||||||
|
|
||||||
|
if ( Settings::Visual::Glow && pCCSPlayerController->m_bPawnIsAlive() )
|
||||||
|
{
|
||||||
|
auto* pC_CSPlayerPawn = pCCSPlayerController->m_hPawn().Get<C_CSPlayerPawn>();
|
||||||
|
if ( pC_CSPlayerPawn && pC_CSPlayerPawn->IsPlayerPawn() )
|
||||||
|
{
|
||||||
|
ApplyGlow( pC_CSPlayerPawn , CachedEntity.m_bVisible , pCCSPlayerController->m_iTeamNum() );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -192,6 +323,84 @@ auto CVisual::CalculateBoundingBoxes() -> void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto CVisual::DrawBoneESP( C_CSPlayerPawn* pC_CSPlayerPawn , const bool bVisible , const int iTeamNum ) -> void
|
||||||
|
{
|
||||||
|
if ( !pC_CSPlayerPawn || !pC_CSPlayerPawn->IsPlayerPawn() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto BoneColor = ImColor( 255 , 255 , 255 );
|
||||||
|
|
||||||
|
if ( iTeamNum == TEAM_TT )
|
||||||
|
{
|
||||||
|
BoneColor = Settings::Colors::Visual::BoneESPTT;
|
||||||
|
|
||||||
|
if ( bVisible )
|
||||||
|
BoneColor = Settings::Colors::Visual::BoneESPTT_Visible;
|
||||||
|
}
|
||||||
|
else if ( iTeamNum == TEAM_CT )
|
||||||
|
{
|
||||||
|
BoneColor = Settings::Colors::Visual::BoneESPCT;
|
||||||
|
|
||||||
|
if ( bVisible )
|
||||||
|
BoneColor = Settings::Colors::Visual::BoneESPCT_Visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bone connections structure for CS2 skeleton
|
||||||
|
struct BoneConnection_t
|
||||||
|
{
|
||||||
|
const char* szFrom;
|
||||||
|
const char* szTo;
|
||||||
|
};
|
||||||
|
|
||||||
|
static const BoneConnection_t BoneConnections[] =
|
||||||
|
{
|
||||||
|
// Head to spine chain
|
||||||
|
{ "head_0" , "neck_0" },
|
||||||
|
{ "neck_0" , "spine_1" },
|
||||||
|
{ "spine_1" , "spine_2" },
|
||||||
|
{ "spine_2" , "spine_3" },
|
||||||
|
{ "spine_3" , "pelvis" },
|
||||||
|
|
||||||
|
// Left arm
|
||||||
|
{ "neck_0" , "clavicle_l" },
|
||||||
|
{ "clavicle_l" , "arm_upper_l" },
|
||||||
|
{ "arm_upper_l" , "arm_lower_l" },
|
||||||
|
{ "arm_lower_l" , "hand_l" },
|
||||||
|
|
||||||
|
// Right arm
|
||||||
|
{ "neck_0" , "clavicle_r" },
|
||||||
|
{ "clavicle_r" , "arm_upper_r" },
|
||||||
|
{ "arm_upper_r" , "arm_lower_r" },
|
||||||
|
{ "arm_lower_r" , "hand_r" },
|
||||||
|
|
||||||
|
// Left leg
|
||||||
|
{ "pelvis" , "leg_upper_l" },
|
||||||
|
{ "leg_upper_l" , "leg_lower_l" },
|
||||||
|
{ "leg_lower_l" , "ankle_l" },
|
||||||
|
|
||||||
|
// Right leg
|
||||||
|
{ "pelvis" , "leg_upper_r" },
|
||||||
|
{ "leg_upper_r" , "leg_lower_r" },
|
||||||
|
{ "leg_lower_r" , "ankle_r" },
|
||||||
|
};
|
||||||
|
|
||||||
|
for ( const auto& Connection : BoneConnections )
|
||||||
|
{
|
||||||
|
const Vector3 FromBone = GetCL_Bones()->GetBonePositionByName( pC_CSPlayerPawn , Connection.szFrom );
|
||||||
|
const Vector3 ToBone = GetCL_Bones()->GetBonePositionByName( pC_CSPlayerPawn , Connection.szTo );
|
||||||
|
|
||||||
|
if ( FromBone.IsZero() || ToBone.IsZero() )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
ImVec2 FromScreen , ToScreen;
|
||||||
|
|
||||||
|
if ( Math::WorldToScreen( FromBone , FromScreen ) && Math::WorldToScreen( ToBone , ToScreen ) )
|
||||||
|
{
|
||||||
|
GetRenderStackSystem()->DrawLine( FromScreen , ToScreen , BoneColor , 1.5f );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
auto GetVisual() -> CVisual*
|
auto GetVisual() -> CVisual*
|
||||||
{
|
{
|
||||||
return &g_CVisual;
|
return &g_CVisual;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
#include <CS2/SDK/Math/Rect_t.hpp>
|
#include <CS2/SDK/Math/Rect_t.hpp>
|
||||||
|
|
||||||
class CCSPlayerController;
|
class CCSPlayerController;
|
||||||
|
class C_CSPlayerPawn;
|
||||||
|
|
||||||
class IVisual
|
class IVisual
|
||||||
{
|
{
|
||||||
@@ -32,6 +33,8 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
auto OnRenderPlayerEsp( CCSPlayerController* pCCSPlayerController , const Rect_t& bBox , const bool bVisible ) -> void;
|
auto OnRenderPlayerEsp( CCSPlayerController* pCCSPlayerController , const Rect_t& bBox , const bool bVisible ) -> void;
|
||||||
|
auto DrawBoneESP( C_CSPlayerPawn* pC_CSPlayerPawn , const bool bVisible , const int iTeamNum ) -> void;
|
||||||
|
auto ApplyGlow( C_CSPlayerPawn* pC_CSPlayerPawn , const bool bVisible , const int iTeamNum ) -> void;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
auto CalculateBoundingBoxes() -> void;
|
auto CalculateBoundingBoxes() -> void;
|
||||||
|
|||||||
@@ -31,6 +31,24 @@ auto CAndromedaMenu::OnRenderMenu() -> void
|
|||||||
};
|
};
|
||||||
|
|
||||||
RenderComboBox( XorStr( "PlayerBox Type" ) , XorStr( "##Visual.PlayerBoxType" ) , Settings::Visual::PlayerBoxType , PlayerBoxTypeItems , IM_ARRAYSIZE( PlayerBoxTypeItems ) );
|
RenderComboBox( XorStr( "PlayerBox Type" ) , XorStr( "##Visual.PlayerBoxType" ) , Settings::Visual::PlayerBoxType , PlayerBoxTypeItems , IM_ARRAYSIZE( PlayerBoxTypeItems ) );
|
||||||
|
|
||||||
|
RenderCheckBox( XorStr( "Bone ESP" ) , XorStr( "##Visual.BoneESP" ) , Settings::Visual::BoneESP );
|
||||||
|
if ( Settings::Visual::BoneESP )
|
||||||
|
{
|
||||||
|
ImGui::Indent();
|
||||||
|
RenderCheckBox( XorStr( " Bone ESP Team" ) , XorStr( "##Visual.BoneESPTeam" ) , Settings::Visual::BoneESPTeam );
|
||||||
|
RenderCheckBox( XorStr( " Bone ESP Enemy" ) , XorStr( "##Visual.BoneESPEnemy" ) , Settings::Visual::BoneESPEnemy );
|
||||||
|
ImGui::Unindent();
|
||||||
|
}
|
||||||
|
|
||||||
|
RenderCheckBox( XorStr( "Glow" ) , XorStr( "##Visual.Glow" ) , Settings::Visual::Glow );
|
||||||
|
if ( Settings::Visual::Glow )
|
||||||
|
{
|
||||||
|
ImGui::Indent();
|
||||||
|
RenderCheckBox( XorStr( " Glow Team" ) , XorStr( "##Visual.GlowTeam" ) , Settings::Visual::GlowTeam );
|
||||||
|
RenderCheckBox( XorStr( " Glow Enemy" ) , XorStr( "##Visual.GlowEnemy" ) , Settings::Visual::GlowEnemy );
|
||||||
|
ImGui::Unindent();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ImGui::CollapsingHeader( XorStr( "Colors" ) ) )
|
if ( ImGui::CollapsingHeader( XorStr( "Colors" ) ) )
|
||||||
@@ -39,11 +57,21 @@ auto CAndromedaMenu::OnRenderMenu() -> void
|
|||||||
RenderColorEdit( XorStr( "Player Box TT Visible" ) , XorStr( "##Colors.Visual.PlayerBoxTT_Visible" ) , &Settings::Colors::Visual::PlayerBoxTT_Visible.x );
|
RenderColorEdit( XorStr( "Player Box TT Visible" ) , XorStr( "##Colors.Visual.PlayerBoxTT_Visible" ) , &Settings::Colors::Visual::PlayerBoxTT_Visible.x );
|
||||||
RenderColorEdit( XorStr( "Player Box CT" ) , XorStr( "##Colors.Visual.PlayerBoxCT" ) , &Settings::Colors::Visual::PlayerBoxCT.x );
|
RenderColorEdit( XorStr( "Player Box CT" ) , XorStr( "##Colors.Visual.PlayerBoxCT" ) , &Settings::Colors::Visual::PlayerBoxCT.x );
|
||||||
RenderColorEdit( XorStr( "Player Box CT Visible" ) , XorStr( "##Colors.Visual.PlayerBoxCT_Visible" ) , &Settings::Colors::Visual::PlayerBoxCT_Visible.x );
|
RenderColorEdit( XorStr( "Player Box CT Visible" ) , XorStr( "##Colors.Visual.PlayerBoxCT_Visible" ) , &Settings::Colors::Visual::PlayerBoxCT_Visible.x );
|
||||||
|
|
||||||
|
RenderColorEdit( XorStr( "Bone ESP TT" ) , XorStr( "##Colors.Visual.BoneESPTT" ) , &Settings::Colors::Visual::BoneESPTT.x );
|
||||||
|
RenderColorEdit( XorStr( "Bone ESP TT Visible" ) , XorStr( "##Colors.Visual.BoneESPTT_Visible" ) , &Settings::Colors::Visual::BoneESPTT_Visible.x );
|
||||||
|
RenderColorEdit( XorStr( "Bone ESP CT" ) , XorStr( "##Colors.Visual.BoneESPCT" ) , &Settings::Colors::Visual::BoneESPCT.x );
|
||||||
|
RenderColorEdit( XorStr( "Bone ESP CT Visible" ) , XorStr( "##Colors.Visual.BoneESPCT_Visible" ) , &Settings::Colors::Visual::BoneESPCT_Visible.x );
|
||||||
|
|
||||||
|
RenderColorEdit( XorStr( "Glow TT" ) , XorStr( "##Colors.Visual.GlowTT" ) , &Settings::Colors::Visual::GlowTT.x );
|
||||||
|
RenderColorEdit( XorStr( "Glow TT Visible" ) , XorStr( "##Colors.Visual.GlowTT_Visible" ) , &Settings::Colors::Visual::GlowTT_Visible.x );
|
||||||
|
RenderColorEdit( XorStr( "Glow CT" ) , XorStr( "##Colors.Visual.GlowCT" ) , &Settings::Colors::Visual::GlowCT.x );
|
||||||
|
RenderColorEdit( XorStr( "Glow CT Visible" ) , XorStr( "##Colors.Visual.GlowCT_Visible" ) , &Settings::Colors::Visual::GlowCT_Visible.x );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ImGui::CollapsingHeader( XorStr( "Menu" ) ) )
|
if ( ImGui::CollapsingHeader( XorStr( "Menu" ) ) )
|
||||||
{
|
{
|
||||||
RenderSliderInt( XorStr( "Menu Alpha" ) , XorStr( "##Menu.MenuAlpha" ) , Settings::Menu::MenuAlpha , 0 , 255 );
|
RenderSliderInt( XorStr( "Menu Alpha" ) , XorStr( "##Menu.MenuAlpha" ) , Settings::Menu::MenuAlpha , 100 , 255 );
|
||||||
|
|
||||||
const char* MenuStyleItems[] =
|
const char* MenuStyleItems[] =
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,6 +12,12 @@ namespace Settings
|
|||||||
inline auto Enemy = true;
|
inline auto Enemy = true;
|
||||||
inline auto OnlyVisible = false;
|
inline auto OnlyVisible = false;
|
||||||
inline auto PlayerBox = true;
|
inline auto PlayerBox = true;
|
||||||
|
inline auto BoneESP = true;
|
||||||
|
inline auto BoneESPTeam = true;
|
||||||
|
inline auto BoneESPEnemy = true;
|
||||||
|
inline auto Glow = true;
|
||||||
|
inline auto GlowTeam = true;
|
||||||
|
inline auto GlowEnemy = true;
|
||||||
|
|
||||||
inline auto PlayerBoxType = 3;
|
inline auto PlayerBoxType = 3;
|
||||||
}
|
}
|
||||||
@@ -28,6 +34,14 @@ namespace Settings
|
|||||||
inline ImVec4 PlayerBoxTT_Visible = { 0 , 1.f , 0.f , 1.f };
|
inline ImVec4 PlayerBoxTT_Visible = { 0 , 1.f , 0.f , 1.f };
|
||||||
inline ImVec4 PlayerBoxCT = { 65.f / 255.f , 200 / 255.f , 255.f / 255.f , 1.f };
|
inline ImVec4 PlayerBoxCT = { 65.f / 255.f , 200 / 255.f , 255.f / 255.f , 1.f };
|
||||||
inline ImVec4 PlayerBoxCT_Visible = { 0 , 1.f , 0.f , 1.f };
|
inline ImVec4 PlayerBoxCT_Visible = { 0 , 1.f , 0.f , 1.f };
|
||||||
|
inline ImVec4 BoneESPTT = { 255.f / 255.f , 75.f / 255.f , 75.f / 255.f , 1.f };
|
||||||
|
inline ImVec4 BoneESPTT_Visible = { 0 , 1.f , 0.f , 1.f };
|
||||||
|
inline ImVec4 BoneESPCT = { 65.f / 255.f , 200 / 255.f , 255.f / 255.f , 1.f };
|
||||||
|
inline ImVec4 BoneESPCT_Visible = { 0 , 1.f , 0.f , 1.f };
|
||||||
|
inline ImVec4 GlowTT = { 255.f / 255.f , 75.f / 255.f , 75.f / 255.f , 1.f };
|
||||||
|
inline ImVec4 GlowTT_Visible = { 0 , 1.f , 0.f , 1.f };
|
||||||
|
inline ImVec4 GlowCT = { 65.f / 255.f , 200 / 255.f , 255.f / 255.f , 1.f };
|
||||||
|
inline ImVec4 GlowCT_Visible = { 0 , 1.f , 0.f , 1.f };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user