diff --git a/external/reshade/shaders/OSD.fx b/external/reshade/shaders/OSD.fx index e0c2bfc..24d4afe 100644 --- a/external/reshade/shaders/OSD.fx +++ b/external/reshade/shaders/OSD.fx @@ -27,6 +27,9 @@ uniform bool Stamina_Enabled = false; // Mana uniform bool OSD_ShowMana = false; uniform bool Mana_Enabled = false; +// Boost +uniform bool OSD_ShowBoost = false; +uniform bool Boost_Enabled = false; // --- Character arrays for labels --- static const int ON_LENGTH = 2; @@ -104,6 +107,15 @@ static float MANA_CHARS[32] = { 0, 0, 0, 0, 0, 0, 0, 0 }; +static const int BOOST_LEN = 6; +static float BOOST_CHARS[32] = +{ + 66 - 32, 111 - 32, 111 - 32, 115 - 32, 116 - 32, 32 - 32, 0, 0, // Boost + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; + // --- SDF Rectangle --- float sdRoundRect(float2 p, float2 b, float r) { float2 q = abs(p) - b + r; @@ -198,7 +210,7 @@ float4 DrawFlag(float2 uv, inout float2 pen, float2 charSize, const float label[ float4 PS_OSD(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target { float4 col = tex2D(ReShade::BackBuffer, uv); - if (!OSD_ShowTD && !OSD_ShowGodMode && !OSD_ShowIgnoreHits && !OSD_ShowStealth && !OSD_ShowStamina && !OSD_ShowMana) + if (!OSD_ShowTD && !OSD_ShowGodMode && !OSD_ShowIgnoreHits && !OSD_ShowStealth && !OSD_ShowStamina && !OSD_ShowMana && !OSD_ShowBoost) return col; float2 pixelPos = uv * ReShade::ScreenSize; @@ -261,6 +273,16 @@ float4 PS_OSD(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target { totalLen = MANA_LEN + OFF_LENGTH; color = float3(1.0, 0.3, 0.3); } + if (Boost_Enabled && OSD_ShowBoost) + { + totalLen = BOOST_LEN + ON_LENGTH; + color = float3(0.3, 1.0, 0.3); + } + if (!Boost_Enabled && OSD_ShowBoost) + { + totalLen = BOOST_LEN + OFF_LENGTH; + color = float3(1.0, 0.3, 0.3); + } float verticalPadding = 6.0; // ajuste ici float2 sizePx = float2(totalLen * charAdvance * 0.5 + charAdvance, @@ -312,6 +334,9 @@ float4 PS_OSD(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target { if (OSD_ShowMana) AlphaBlend(combined, DrawFlag(uv, pen, charSize, MANA_CHARS, MANA_LEN, Mana_Enabled)); + if (OSD_ShowBoost) + AlphaBlend(combined, DrawFlag(uv, pen, charSize, BOOST_CHARS, BOOST_LEN, Boost_Enabled)); + combined.rgb *= color; col.rgb = lerp(col.rgb, combined.rgb, combined.a);