From f9670d36c41bf9786b482a586069232062c687f9 Mon Sep 17 00:00:00 2001 From: chairbender Date: Wed, 20 Jan 2021 00:32:44 -0800 Subject: [PATCH] Improved Inventory / Hand Slots UI (#2965) --- .../HumanInventoryInterfaceController.cs | 27 +++-- Content.Client/UserInterface/GameHud.cs | 56 +++++----- Content.Client/UserInterface/HandButton.cs | 22 ++++ Content.Client/UserInterface/HandsGui.cs | 37 +------ .../UserInterface/ItemSlotButton.cs | 22 ++-- .../UserInterface/ItemStatusPanel.cs | 28 +++-- .../UserInterface/Stylesheets/StyleNano.cs | 31 ++++++ .../Inventory/hand_slot_highlight.png | Bin 0 -> 146 bytes .../Inventory/inv_slot_background.png | Bin 0 -> 147 bytes .../Interface/Nano/item_status_left.svg | 64 +++++------ .../Nano/item_status_left.svg.96dpi.png | Bin 225 -> 453 bytes .../Interface/Nano/item_status_middle.svg | 100 ++++++++++++++++++ .../Nano/item_status_middle.svg.96dpi.png | Bin 0 -> 458 bytes .../Interface/Nano/item_status_right.svg | 69 ++++++------ .../Nano/item_status_right.svg.96dpi.png | Bin 228 -> 431 bytes 15 files changed, 304 insertions(+), 152 deletions(-) create mode 100644 Resources/Textures/Interface/Inventory/hand_slot_highlight.png create mode 100644 Resources/Textures/Interface/Inventory/inv_slot_background.png create mode 100644 Resources/Textures/Interface/Nano/item_status_middle.svg create mode 100644 Resources/Textures/Interface/Nano/item_status_middle.svg.96dpi.png diff --git a/Content.Client/GameObjects/Components/HUD/Inventory/HumanInventoryInterfaceController.cs b/Content.Client/GameObjects/Components/HUD/Inventory/HumanInventoryInterfaceController.cs index 135b9ca531..ecacae0d2b 100644 --- a/Content.Client/GameObjects/Components/HUD/Inventory/HumanInventoryInterfaceController.cs +++ b/Content.Client/GameObjects/Components/HUD/Inventory/HumanInventoryInterfaceController.cs @@ -30,7 +30,8 @@ namespace Content.Client.GameObjects.Components.HUD.Inventory private ItemSlotButton _hudButtonBelt; private ItemSlotButton _hudButtonBack; private ItemSlotButton _hudButtonId; - private Control _quickButtonsContainer; + private Control _rightQuickButtonsContainer; + private Control _leftQuickButtonsContainer; public HumanInventoryInterfaceController(ClientInventoryComponent owner) : base(owner) { @@ -69,16 +70,26 @@ namespace Content.Client.GameObjects.Components.HUD.Inventory AddButton(out _hudButtonBelt, Slots.BELT, "belt"); AddButton(out _hudButtonId, Slots.IDCARD, "id"); - _quickButtonsContainer = new HBoxContainer + _leftQuickButtonsContainer = new HBoxContainer { Children = { _hudButtonId, - _hudButtonBelt, _hudButtonBack, + _hudButtonBelt, + }, + SeparationOverride = 5 + }; + _rightQuickButtonsContainer = new HBoxContainer + { + Children = + { _hudButtonPocket1, _hudButtonPocket2, - } + // keeps this "balanced" with the left, so the hands will appear perfectly in the center + new Control{CustomMinimumSize = (64, 64)} + }, + SeparationOverride = 5 }; } @@ -161,7 +172,8 @@ namespace Content.Client.GameObjects.Components.HUD.Inventory { base.PlayerAttached(); - GameHud.InventoryQuickButtonContainer.AddChild(_quickButtonsContainer); + GameHud.RightInventoryQuickButtonContainer.AddChild(_rightQuickButtonsContainer); + GameHud.LeftInventoryQuickButtonContainer.AddChild(_leftQuickButtonsContainer); // Update all the buttons to make sure they check out. @@ -183,7 +195,8 @@ namespace Content.Client.GameObjects.Components.HUD.Inventory { base.PlayerDetached(); - GameHud.InventoryQuickButtonContainer.RemoveChild(_quickButtonsContainer); + GameHud.RightInventoryQuickButtonContainer.RemoveChild(_rightQuickButtonsContainer); + GameHud.LeftInventoryQuickButtonContainer.RemoveChild(_leftQuickButtonsContainer); foreach (var (slot, list) in _inventoryButtons) { @@ -197,7 +210,7 @@ namespace Content.Client.GameObjects.Components.HUD.Inventory private class HumanInventoryWindow : SS14Window { private const int ButtonSize = 64; - private const int ButtonSeparation = 2; + private const int ButtonSeparation = 4; private const int RightSeparation = 2; public IReadOnlyDictionary Buttons { get; } diff --git a/Content.Client/UserInterface/GameHud.cs b/Content.Client/UserInterface/GameHud.cs index 07a5db624b..5feb17055d 100644 --- a/Content.Client/UserInterface/GameHud.cs +++ b/Content.Client/UserInterface/GameHud.cs @@ -66,7 +66,8 @@ namespace Content.Client.UserInterface Control HandsContainer { get; } Control SuspicionContainer { get; } - Control InventoryQuickButtonContainer { get; } + Control RightInventoryQuickButtonContainer { get; } + Control LeftInventoryQuickButtonContainer { get; } bool CombatPanelVisible { get; set; } bool CombatModeActive { get; set; } @@ -100,7 +101,8 @@ namespace Content.Client.UserInterface public Control HandsContainer { get; private set; } public Control SuspicionContainer { get; private set; } - public Control InventoryQuickButtonContainer { get; private set; } + public Control RightInventoryQuickButtonContainer { get; private set; } + public Control LeftInventoryQuickButtonContainer { get; private set; } public bool CombatPanelVisible { @@ -260,21 +262,6 @@ namespace Content.Client.UserInterface _inputManager.SetInputCommand(ContentKeyFunctions.OpenTutorial, InputCmdHandler.FromDelegate(s => ButtonTutorialOnOnToggled())); - var inventoryContainer = new HBoxContainer - { - SeparationOverride = 10 - }; - - RootControl.AddChild(inventoryContainer); - - LayoutContainer.SetGrowHorizontal(inventoryContainer, LayoutContainer.GrowDirection.Begin); - LayoutContainer.SetGrowVertical(inventoryContainer, LayoutContainer.GrowDirection.Begin); - LayoutContainer.SetAnchorAndMarginPreset(inventoryContainer, LayoutContainer.LayoutPreset.BottomRight); - - InventoryQuickButtonContainer = new MarginContainer - { - SizeFlagsVertical = Control.SizeFlags.ShrinkEnd - }; _combatPanelContainer = new VBoxContainer { @@ -289,23 +276,40 @@ namespace Content.Client.UserInterface } }; + LayoutContainer.SetGrowHorizontal(_combatPanelContainer, LayoutContainer.GrowDirection.Begin); + LayoutContainer.SetGrowVertical(_combatPanelContainer, LayoutContainer.GrowDirection.Begin); + LayoutContainer.SetAnchorAndMarginPreset(_combatPanelContainer, LayoutContainer.LayoutPreset.BottomRight); + LayoutContainer.SetMarginBottom(_combatPanelContainer, -10f); + RootControl.AddChild(_combatPanelContainer); + _combatModeButton.OnToggled += args => OnCombatModeChanged?.Invoke(args.Pressed); _targetingDoll.OnZoneChanged += args => OnTargetingZoneChanged?.Invoke(args); - inventoryContainer.Children.Add(InventoryQuickButtonContainer); - inventoryContainer.Children.Add(_combatPanelContainer); - + var centerBottomContainer = new HBoxContainer + { + SeparationOverride = 5 + }; + LayoutContainer.SetAnchorAndMarginPreset(centerBottomContainer, LayoutContainer.LayoutPreset.CenterBottom); + LayoutContainer.SetGrowHorizontal(centerBottomContainer, LayoutContainer.GrowDirection.Both); + LayoutContainer.SetGrowVertical(centerBottomContainer, LayoutContainer.GrowDirection.Begin); + LayoutContainer.SetMarginBottom(centerBottomContainer, -10f); + RootControl.AddChild(centerBottomContainer); HandsContainer = new MarginContainer { SizeFlagsVertical = Control.SizeFlags.ShrinkEnd }; - - RootControl.AddChild(HandsContainer); - - LayoutContainer.SetAnchorAndMarginPreset(HandsContainer, LayoutContainer.LayoutPreset.CenterBottom); - LayoutContainer.SetGrowHorizontal(HandsContainer, LayoutContainer.GrowDirection.Both); - LayoutContainer.SetGrowVertical(HandsContainer, LayoutContainer.GrowDirection.Begin); + RightInventoryQuickButtonContainer = new MarginContainer + { + SizeFlagsVertical = Control.SizeFlags.ShrinkEnd + }; + LeftInventoryQuickButtonContainer = new MarginContainer + { + SizeFlagsVertical = Control.SizeFlags.ShrinkEnd + }; + centerBottomContainer.AddChild(LeftInventoryQuickButtonContainer); + centerBottomContainer.AddChild(HandsContainer); + centerBottomContainer.AddChild(RightInventoryQuickButtonContainer); SuspicionContainer = new MarginContainer { diff --git a/Content.Client/UserInterface/HandButton.cs b/Content.Client/UserInterface/HandButton.cs index af152d5d6b..c7120a73ef 100644 --- a/Content.Client/UserInterface/HandButton.cs +++ b/Content.Client/UserInterface/HandButton.cs @@ -1,11 +1,15 @@ using Content.Shared.GameObjects.Components.Items; using Robust.Client.Graphics; using Robust.Client.UserInterface.Controls; +using Robust.Shared.Maths; namespace Content.Client.UserInterface { public class HandButton : ItemSlotButton { + private bool _activeHand; + private bool _highlighted; + public HandButton(Texture texture, Texture storageTexture, Texture blockedTexture, HandLocation location) : base(texture, storageTexture) { Location = location; @@ -21,5 +25,23 @@ namespace Content.Client.UserInterface public HandLocation Location { get; } public TextureRect Blocked { get; } + + public void SetActiveHand(bool active) + { + _activeHand = active; + UpdateHighlight(); + } + + public override void Highlight(bool highlight) + { + _highlighted = highlight; + UpdateHighlight(); + } + + private void UpdateHighlight() + { + // always stay highlighted if active + base.Highlight(_activeHand || _highlighted); + } } } diff --git a/Content.Client/UserInterface/HandsGui.cs b/Content.Client/UserInterface/HandsGui.cs index fca20f2b9a..01796984c1 100644 --- a/Content.Client/UserInterface/HandsGui.cs +++ b/Content.Client/UserInterface/HandsGui.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using Content.Client.GameObjects.Components.Items; +using Content.Client.UserInterface.Stylesheets; using Content.Client.Utility; using Content.Shared.GameObjects.Components.Items; using Content.Shared.Input; @@ -21,8 +22,6 @@ namespace Content.Client.UserInterface [Dependency] private readonly IResourceCache _resourceCache = default!; [Dependency] private readonly IItemSlotManager _itemSlotManager = default!; - private readonly TextureRect _activeHandRect; - private readonly Texture _leftHandTexture; private readonly Texture _middleHandTexture; private readonly Texture _rightHandTexture; @@ -52,24 +51,14 @@ namespace Content.Client.UserInterface Children = { (_topPanel = ItemStatusPanel.FromSide(HandLocation.Middle)), - (_handsContainer = new HBoxContainer {SeparationOverride = 0}) + (_handsContainer = new HBoxContainer()) } }), (_leftPanel = ItemStatusPanel.FromSide(HandLocation.Left)) } }); - - var textureHandActive = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_active.png"); - - // Active hand - _activeHandRect = new TextureRect - { - Texture = textureHandActive, - TextureScale = (2, 2) - }; - _leftHandTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_l.png"); - _middleHandTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_middle.png"); + _middleHandTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_l.png"); _rightHandTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_r.png"); } @@ -119,13 +108,6 @@ namespace Content.Client.UserInterface button.OnStoragePressed += args => _OnStoragePressed(args, slot); _handsContainer.AddChild(button); - - if (_activeHandRect.Parent == null) - { - button.AddChild(_activeHandRect); - _activeHandRect.SetPositionInParent(1); - } - hand.Button = button; } @@ -135,11 +117,6 @@ namespace Content.Client.UserInterface if (button != null) { - if (button.Children.Contains(_activeHandRect)) - { - button.RemoveChild(_activeHandRect); - } - _handsContainer.RemoveChild(button); } } @@ -186,14 +163,8 @@ namespace Content.Client.UserInterface hand.Button!.Button.Texture = HandTexture(hand.Location); hand.Button!.SetPositionInParent(i); _itemSlotManager.SetItemSlot(hand.Button, hand.Entity); - } - _activeHandRect.Parent?.RemoveChild(_activeHandRect); - component.GetHand(component.ActiveIndex)?.Button?.AddChild(_activeHandRect); - - if (hands.Length > 0) - { - _activeHandRect.SetPositionInParent(1); + hand.Button!.SetActiveHand(component.ActiveIndex == hand.Name); } _leftPanel.SetPositionFirst(); diff --git a/Content.Client/UserInterface/ItemSlotButton.cs b/Content.Client/UserInterface/ItemSlotButton.cs index 7715c565d9..773a1fb1bc 100644 --- a/Content.Client/UserInterface/ItemSlotButton.cs +++ b/Content.Client/UserInterface/ItemSlotButton.cs @@ -1,4 +1,5 @@ using System; +using Content.Client.UserInterface.Stylesheets; using Robust.Client.Graphics; using Robust.Client.Graphics.Shaders; using Robust.Client.UserInterface; @@ -26,11 +27,11 @@ namespace Content.Client.UserInterface public bool EntityHover => HoverSpriteView.Sprite != null; public bool MouseIsHovering = false; - private readonly ShaderInstance _highlightShader; + + private readonly PanelContainer _highlightRect; public ItemSlotButton(Texture texture, Texture storageTexture) { - _highlightShader = IoCManager.Resolve().Index(HighlightShader).Instance(); CustomMinimumSize = (64, 64); AddChild(Button = new TextureRect @@ -40,6 +41,13 @@ namespace Content.Client.UserInterface MouseFilter = MouseFilterMode.Stop }); + AddChild(_highlightRect = new PanelContainer + { + StyleClasses = { StyleNano.StyleClassHandSlotHighlight }, + CustomMinimumSize = (32, 32), + Visible = false + }); + Button.OnKeyBindDown += OnButtonPressed; AddChild(SpriteView = new SpriteView @@ -102,18 +110,16 @@ namespace Content.Client.UserInterface } } - public void Highlight(bool on) + public virtual void Highlight(bool highlight) { - // I make no claim that this actually looks good but it's a start. - if (on) + if (highlight) { - Button.ShaderOverride = _highlightShader; + _highlightRect.Visible = true; } else { - Button.ShaderOverride = null; + _highlightRect.Visible = false; } - } private void OnButtonPressed(GUIBoundKeyEventArgs args) diff --git a/Content.Client/UserInterface/ItemStatusPanel.cs b/Content.Client/UserInterface/ItemStatusPanel.cs index ca91e7ec0e..632a4cacf4 100644 --- a/Content.Client/UserInterface/ItemStatusPanel.cs +++ b/Content.Client/UserInterface/ItemStatusPanel.cs @@ -32,7 +32,7 @@ namespace Content.Client.UserInterface [ViewVariables] private IEntity? _entity; - public ItemStatusPanel(Texture texture, StyleBox.Margin margin) + public ItemStatusPanel(Texture texture, StyleBox.Margin cutout, StyleBox.Margin flat, Label.AlignMode textAlign) { var panel = new StyleBoxTexture { @@ -40,7 +40,8 @@ namespace Content.Client.UserInterface }; panel.SetContentMarginOverride(StyleBox.Margin.Vertical, 4); panel.SetContentMarginOverride(StyleBox.Margin.Horizontal, 6); - panel.SetPatchMargin(margin, 13); + panel.SetPatchMargin(flat, 2); + panel.SetPatchMargin(cutout, 13); AddChild(_panel = new PanelContainer { @@ -57,7 +58,8 @@ namespace Content.Client.UserInterface (_itemNameLabel = new Label { ClipText = true, - StyleClasses = {StyleNano.StyleClassItemStatus} + StyleClasses = {StyleNano.StyleClassItemStatus}, + Align = textAlign }) } } @@ -78,27 +80,35 @@ namespace Content.Client.UserInterface public static ItemStatusPanel FromSide(HandLocation location) { string texture; - StyleBox.Margin margin; + StyleBox.Margin cutOut; + StyleBox.Margin flat; + Label.AlignMode textAlign; switch (location) { case HandLocation.Left: texture = "/Textures/Interface/Nano/item_status_right.svg.96dpi.png"; - margin = StyleBox.Margin.Left | StyleBox.Margin.Top; + cutOut = StyleBox.Margin.Left | StyleBox.Margin.Top; + flat = StyleBox.Margin.Right | StyleBox.Margin.Bottom; + textAlign = Label.AlignMode.Right; break; case HandLocation.Middle: - texture = "/Textures/Interface/Nano/item_status_left.svg.96dpi.png"; - margin = StyleBox.Margin.Right | StyleBox.Margin.Top; + texture = "/Textures/Interface/Nano/item_status_middle.svg.96dpi.png"; + cutOut = StyleBox.Margin.Right | StyleBox.Margin.Top; + flat = StyleBox.Margin.Left | StyleBox.Margin.Bottom; + textAlign = Label.AlignMode.Left; break; case HandLocation.Right: texture = "/Textures/Interface/Nano/item_status_left.svg.96dpi.png"; - margin = StyleBox.Margin.Right | StyleBox.Margin.Top; + cutOut = StyleBox.Margin.Right | StyleBox.Margin.Top; + flat = StyleBox.Margin.Left | StyleBox.Margin.Bottom; + textAlign = Label.AlignMode.Left; break; default: throw new ArgumentOutOfRangeException(nameof(location), location, null); } - return new ItemStatusPanel(ResC.GetTexture(texture), margin); + return new ItemStatusPanel(ResC.GetTexture(texture), cutOut, flat, textAlign); } public void Update(IEntity? entity) diff --git a/Content.Client/UserInterface/Stylesheets/StyleNano.cs b/Content.Client/UserInterface/Stylesheets/StyleNano.cs index ba2372b4a4..4f7e058093 100644 --- a/Content.Client/UserInterface/Stylesheets/StyleNano.cs +++ b/Content.Client/UserInterface/Stylesheets/StyleNano.cs @@ -16,6 +16,8 @@ namespace Content.Client.UserInterface.Stylesheets public sealed class StyleNano : StyleBase { public const string StyleClassBorderedWindowPanel = "BorderedWindowPanel"; + public const string StyleClassInventorySlotBackground = "InventorySlotBackground"; + public const string StyleClassHandSlotHighlight = "HandSlotHighlight"; public const string StyleClassTransparentBorderedWindowPanel = "TransparentBorderedWindowPanel"; public const string StyleClassHotbarPanel = "HotbarPanel"; public const string StyleClassTooltipPanel = "tooltipBox"; @@ -103,6 +105,21 @@ namespace Content.Client.UserInterface.Stylesheets }; borderedWindowBackground.SetPatchMargin(StyleBox.Margin.All, 2); + var invSlotBgTex = resCache.GetTexture("/Textures/Interface/Inventory/inv_slot_background.png"); + var invSlotBg = new StyleBoxTexture + { + Texture = invSlotBgTex, + }; + invSlotBg.SetPatchMargin(StyleBox.Margin.All, 2); + invSlotBg.SetContentMarginOverride(StyleBox.Margin.All, 0); + + var handSlotHighlightTex = resCache.GetTexture("/Textures/Interface/Inventory/hand_slot_highlight.png"); + var handSlotHighlight = new StyleBoxTexture + { + Texture = handSlotHighlightTex, + }; + handSlotHighlight.SetPatchMargin(StyleBox.Margin.All, 2); + var borderedTransparentWindowBackgroundTex = resCache.GetTexture("/Textures/Interface/Nano/transparent_window_background_bordered.png"); var borderedTransparentWindowBackground = new StyleBoxTexture { @@ -385,6 +402,20 @@ namespace Content.Client.UserInterface.Stylesheets { new StyleProperty(PanelContainer.StylePropertyPanel, borderedTransparentWindowBackground), }), + // inventory slot background + new StyleRule( + new SelectorElement(null, new[] {StyleClassInventorySlotBackground}, null, null), + new[] + { + new StyleProperty(PanelContainer.StylePropertyPanel, invSlotBg), + }), + // hand slot highlight + new StyleRule( + new SelectorElement(null, new[] {StyleClassHandSlotHighlight}, null, null), + new[] + { + new StyleProperty(PanelContainer.StylePropertyPanel, handSlotHighlight), + }), // Hotbar background new StyleRule(new SelectorElement(typeof(PanelContainer), new[] {StyleClassHotbarPanel}, null, null), new[] diff --git a/Resources/Textures/Interface/Inventory/hand_slot_highlight.png b/Resources/Textures/Interface/Inventory/hand_slot_highlight.png new file mode 100644 index 0000000000000000000000000000000000000000..da20cd46deb47ecb51655b10b817841e85e3b5f0 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=wj^(N7ltN=Wen3Bf7kB-if|Tq zL>4nJ=qZCRW5rVYGN2%PiKnkC`%^|PCR3SQlf{>SLh_z2jv*Y^lXIfX{@OE3B_thS mdeD?Du9MlYQL^(I9|PMJ_HVb0Q`&$^89ZJ6T-G@yGywn|;3csD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Inventory/inv_slot_background.png b/Resources/Textures/Interface/Inventory/inv_slot_background.png new file mode 100644 index 0000000000000000000000000000000000000000..aa85c0f0ba491ace62a53820d794281bfc2c76e8 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=wj^(N7X~W^2Zq2pmG8fRBAf*t zk;M!QddeWoSh3W;3@FH6;_2(k{*;l6QG##JLo*$qkb - - + inkscape:export-filename="C:\ss14\space-station-14\Resources\Textures\Interface\Nano\item_status_left.svg.96dpi.png" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96"> + inkscape:snap-page="true" + inkscape:document-rotation="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0"> + id="grid817" + originx="0.44979165" + originy="1.5931808" /> @@ -66,35 +71,30 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-26.597681,-208.71661)"> + transform="translate(-26.372785,-208.49171)"> - diff --git a/Resources/Textures/Interface/Nano/item_status_left.svg.96dpi.png b/Resources/Textures/Interface/Nano/item_status_left.svg.96dpi.png index 9fb2e1748426d2d9227d0927fe9098c3e1adfebb..5169343ea4fe9a88df5a21d069d3dec0c99b8654 100644 GIT binary patch delta 425 zcmV;a0apIu0mTD0iBL{Q4GJ0x0000DNk~Le0000I0000I2nGNE09MY9R{#J232;bR za{vGi!vFvd!vV){sAQ2vCw~D_Nkl`8^Y(iqf>uk0(zjlrc#sGJfS7ef*m`9e+R;R1*Dsb5K>)y`o(!9H zrj#OpF1ZEac% z)1>TbE}gO+leE5K-D-_et#-lZh5&%bpzPXK+IBJ~fIAyjaptFekJd`JTa7`?dIG>6 zhqy@u4KakR7bbY5G~gwMMp05~V2;-Q%Kw9`<@MYG%~}5sAmtbUU=9C5VrZ04gpil) ThZ}Vi00000NkvXXu0mjf@2j&` delta 195 zcmX@g{E*SLGr-TCmrII^fq{Y7)59eQNDF{43p0>>d-oAYfVtSoGlYYK859IqHcoD6W98;pSn)qh + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/Resources/Textures/Interface/Nano/item_status_middle.svg.96dpi.png b/Resources/Textures/Interface/Nano/item_status_middle.svg.96dpi.png new file mode 100644 index 0000000000000000000000000000000000000000..dc1f84cea83c98404f6a032bcb659a2163e5069f GIT binary patch literal 458 zcmV;*0X6=KP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10ar;x zK~y-6&C)MV96=a>@n`myTp)!6(WC;0#bL;;xFrOEW1G~VP#6@dwi1Ox*YqPGN>WFP z=L--L4rtoFa(e{sW_M=Zw}O8HnjDMaNnSOXUnY~+w9-rf!_$sq@yiDXdneDFJt+c^ z5Y&}}@HoQ&%z6_aw$f~FWXStcdimM#aXQ1R%ipEK2Zf&tiyxDbpy#rKzU%+JC{dY; zM1Lgh)s~*cHzsz{gEMn;GOpJQ|qcSC~PL}qi^%`8)Gkq;CAPV zyko0!5Y(8p=4AdoO+USRF$AD0+V5TrD|_RCC5PXy1>Ip3-E-?*DGEt#=spQSp~fHm zueS%q0CC)mrr*zu*8;|x(E}7U8YXH?G+y(fe-)&;>sB*rcK`qY07*qoM6N<$f>@Hr AOaK4? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Nano/item_status_right.svg b/Resources/Textures/Interface/Nano/item_status_right.svg index d07333ec22..d898bb2ce0 100644 --- a/Resources/Textures/Interface/Nano/item_status_right.svg +++ b/Resources/Textures/Interface/Nano/item_status_right.svg @@ -1,6 +1,4 @@ - - + inkscape:export-filename="C:\ss14\space-station-14\Resources\Textures\Interface\Nano\item_status_right.svg.96dpi.png" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96"> + inkscape:snap-page="true" + inkscape:document-rotation="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0"> - + id="grid817" + originx="0.44979165" + originy="1.5931808" /> @@ -71,35 +71,30 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-26.597681,-208.71661)"> + transform="translate(-26.372785,-208.49171)"> - diff --git a/Resources/Textures/Interface/Nano/item_status_right.svg.96dpi.png b/Resources/Textures/Interface/Nano/item_status_right.svg.96dpi.png index 35e200c21f12576efb7d1db12c6c7c12391890ba..72f7e6de6b8775b85f3ef9e546634889061758c4 100644 GIT binary patch delta 403 zcmV;E0c`%{0j~o#iBL{Q4GJ0x0000DNk~Le0000I0000I2nGNE09MY9R{#J232;bR za{vGi!vFvd!vV){sAQ2vCw~DvNkln0RaAK%_7me1aR)1^)eY6?`%;A0p^!2gy1=AU4wAyUG8Nv)ZV%8Z@dWVcDs#< zYTghKTcf;8N16)16jTBLe5{(!08Vl}bK~??6V;yPD+J)!SyRa5MXw~x697Q5!YHNC xU*!Km8~`|P1g))|wO>O)7_uN-ul&Gu@&UC%j@96n?DPNt002ovPDHLkV1n*JtVRF; delta 198 zcmZ3_{Djf9Gr-TCmrII^fq{Y7)59eQNDF{43p0>>d-oAYfVtSoGlYYKsFWnf@pXlUZ*=H~A1zVUFLEl`4~ zB*-tA;lSJP{2f4^v8Rh;2*>r_6NZ8Z6c`R1NLa+A#K@U(fa%Bd15@_izRzrMPN*S2 hI}rjD%h~=vX6*76;uP*xoCVa*;OXk;vd$@?2>?WhIC200