diff --git a/Content.Client/StatusIcon/StatusIconOverlay.cs b/Content.Client/StatusIcon/StatusIconOverlay.cs index eee0ebf6b4..225dd3ceea 100644 --- a/Content.Client/StatusIcon/StatusIconOverlay.cs +++ b/Content.Client/StatusIcon/StatusIconOverlay.cs @@ -4,17 +4,21 @@ using Robust.Client.GameObjects; using Robust.Client.Graphics; using Robust.Shared.Enums; using System.Numerics; +using Robust.Shared.Prototypes; namespace Content.Client.StatusIcon; public sealed class StatusIconOverlay : Overlay { [Dependency] private readonly IEntityManager _entity = default!; + [Dependency] private readonly IPrototypeManager _prototype = default!; private readonly SpriteSystem _sprite; private readonly TransformSystem _transform; private readonly StatusIconSystem _statusIcon; + private readonly ShaderInstance _shader; + public override OverlaySpace Space => OverlaySpace.WorldSpaceBelowFOV; internal StatusIconOverlay() @@ -24,6 +28,8 @@ public sealed class StatusIconOverlay : Overlay _sprite = _entity.System(); _transform = _entity.System(); _statusIcon = _entity.System(); + + _shader = _prototype.Index("unshaded").Instance(); } protected override void Draw(in OverlayDrawArgs args) @@ -36,6 +42,8 @@ public sealed class StatusIconOverlay : Overlay var scaleMatrix = Matrix3.CreateScale(new Vector2(1, 1)); var rotationMatrix = Matrix3.CreateRotation(-eyeRot); + handle.UseShader(_shader); + var query = _entity.AllEntityQueryEnumerator(); while (query.MoveNext(out var uid, out var comp, out var sprite, out var xform, out var meta)) { @@ -99,5 +107,7 @@ public sealed class StatusIconOverlay : Overlay handle.DrawTexture(texture, position); } } + + handle.UseShader(null); } }