Add boost OSD
This commit is contained in:
27
external/reshade/shaders/OSD.fx
vendored
27
external/reshade/shaders/OSD.fx
vendored
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user