Kill Seperated Mindshield Icons (#25303)

* Unghettoify mindshield icons

Adds support for layers in status icons, through the StatusIconLayer enum and the new "layer" datafield. Defaults to the Base layer where functionally remains unchanged.

* TG icon for shield

probably better than the shitty one I made in paint

* forgor meta.json

I forgor

* Emo review

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
This commit is contained in:
Golinth
2024-02-16 09:58:28 -06:00
committed by GitHub
parent 0a64e086c4
commit bced73f676
5 changed files with 26 additions and 7 deletions

View File

@@ -84,21 +84,27 @@ public sealed class StatusIconOverlay : Overlay
{ {
if (accOffsetL + texture.Height > sprite.Bounds.Height * EyeManager.PixelsPerMeter) if (accOffsetL + texture.Height > sprite.Bounds.Height * EyeManager.PixelsPerMeter)
break; break;
if (proto.Layer == StatusIconLayer.Base)
{
accOffsetL += texture.Height; accOffsetL += texture.Height;
countL++;
}
yOffset = (bounds.Height + sprite.Offset.Y) / 2f - (float) accOffsetL / EyeManager.PixelsPerMeter; yOffset = (bounds.Height + sprite.Offset.Y) / 2f - (float) accOffsetL / EyeManager.PixelsPerMeter;
xOffset = -(bounds.Width + sprite.Offset.X) / 2f; xOffset = -(bounds.Width + sprite.Offset.X) / 2f;
countL++;
} }
else else
{ {
if (accOffsetR + texture.Height > sprite.Bounds.Height * EyeManager.PixelsPerMeter) if (accOffsetR + texture.Height > sprite.Bounds.Height * EyeManager.PixelsPerMeter)
break; break;
if (proto.Layer == StatusIconLayer.Base)
{
accOffsetR += texture.Height; accOffsetR += texture.Height;
countR++;
}
yOffset = (bounds.Height + sprite.Offset.Y) / 2f - (float) accOffsetR / EyeManager.PixelsPerMeter; yOffset = (bounds.Height + sprite.Offset.Y) / 2f - (float) accOffsetR / EyeManager.PixelsPerMeter;
xOffset = (bounds.Width + sprite.Offset.X) / 2f - (float) texture.Width / EyeManager.PixelsPerMeter; xOffset = (bounds.Width + sprite.Offset.X) / 2f - (float) texture.Width / EyeManager.PixelsPerMeter;
countR++;
} }
var position = new Vector2(xOffset, yOffset); var position = new Vector2(xOffset, yOffset);

View File

@@ -34,6 +34,12 @@ public partial class StatusIconData : IComparable<StatusIconData>
{ {
return Priority.CompareTo(other?.Priority ?? int.MaxValue); return Priority.CompareTo(other?.Priority ?? int.MaxValue);
} }
/// <summary>
/// The layer the icon is displayed on. Mod is drawn above Base. Base | Mod
/// </summary>
[DataField]
public StatusIconLayer Layer = StatusIconLayer.Base;
} }
/// <summary> /// <summary>
@@ -63,3 +69,9 @@ public enum StatusIconLocationPreference : byte
Left, Left,
Right, Right,
} }
public enum StatusIconLayer : byte
{
Base,
Mod,
}

View File

@@ -23,6 +23,7 @@
id: MindShieldIcon id: MindShieldIcon
priority: 2 priority: 2
locationPreference: Right locationPreference: Right
layer: Mod
icon: icon:
sprite: Interface/Misc/job_icons.rsi sprite: Interface/Misc/job_icons.rsi
state: MindShield state: MindShield

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CC-BY-SA-3.0", "license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/vgstation-coders/vgstation13/blob/e71d6c4fba5a51f99b81c295dcaec4fc2f58fb19/icons/mob/screen1.dmi | Brigmedic icon made by PuroSlavKing (Github) | Zombie icon made by RamZ | Zookeper by netwy (discort) | Rev and Head Rev icon taken from https://tgstation13.org/wiki/HUD and edited by coolmankid12345 (Discord) | Mindshield icon made by Psychpsyo (Github)", "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/blob/e71d6c4fba5a51f99b81c295dcaec4fc2f58fb19/icons/mob/screen1.dmi | Brigmedic icon made by PuroSlavKing (Github) | Zombie icon made by RamZ | Zookeper by netwy (discort) | Rev and Head Rev icon taken from https://tgstation13.org/wiki/HUD and edited by coolmankid12345 (Discord) | Mindshield icon taken from https://github.com/tgstation/tgstation/blob/master/icons/mob/huds/hud.dmi and edited by Golinth (Github)",
"size": { "size": {
"x": 8, "x": 8,