From d9a26c76e04e55192b2b02161ed84182eb5b2db3 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Tue, 6 Dec 2022 14:35:44 +1100 Subject: [PATCH] Fix texture crimes (#12900) --- Content.Client/DoAfter/DoAfterOverlay.cs | 7 ++-- Content.Client/DoAfter/DoAfterSystem.cs | 10 +++--- .../Weapons/Melee/MeleeWeaponSystem.cs | 3 +- .../Weapons/Melee/MeleeWindupOverlay.cs | 9 +++--- Resources/Prototypes/Alerts/alerts.yml | 32 ++++++++++++++----- 5 files changed, 38 insertions(+), 23 deletions(-) diff --git a/Content.Client/DoAfter/DoAfterOverlay.cs b/Content.Client/DoAfter/DoAfterOverlay.cs index 7eb2f9d995..84b4fbc271 100644 --- a/Content.Client/DoAfter/DoAfterOverlay.cs +++ b/Content.Client/DoAfter/DoAfterOverlay.cs @@ -1,9 +1,9 @@ using Content.Client.Resources; using Robust.Client.GameObjects; using Robust.Client.Graphics; -using Robust.Client.ResourceManagement; using Robust.Shared.Enums; using Robust.Shared.Prototypes; +using Robust.Shared.Utility; namespace Content.Client.DoAfter; @@ -17,11 +17,12 @@ public sealed class DoAfterOverlay : Overlay public override OverlaySpace Space => OverlaySpace.WorldSpaceBelowFOV; - public DoAfterOverlay(IEntityManager entManager, IPrototypeManager protoManager, IResourceCache cache) + public DoAfterOverlay(IEntityManager entManager, IPrototypeManager protoManager) { _entManager = entManager; _transform = _entManager.EntitySysManager.GetEntitySystem(); - _barTexture = cache.GetTexture("/Textures/Interface/Misc/progress_bar.rsi/icon.png"); + var sprite = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Interface/Misc/progress_bar.rsi"), "icon"); + _barTexture = _entManager.EntitySysManager.GetEntitySystem().Frame0(sprite); _shader = protoManager.Index("unshaded").Instance(); } diff --git a/Content.Client/DoAfter/DoAfterSystem.cs b/Content.Client/DoAfter/DoAfterSystem.cs index eb1d1273a1..d36a32d474 100644 --- a/Content.Client/DoAfter/DoAfterSystem.cs +++ b/Content.Client/DoAfter/DoAfterSystem.cs @@ -2,7 +2,6 @@ using Content.Shared.DoAfter; using JetBrains.Annotations; using Robust.Client.Graphics; using Robust.Client.Player; -using Robust.Client.ResourceManagement; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Timing; @@ -18,7 +17,9 @@ namespace Content.Client.DoAfter public sealed class DoAfterSystem : EntitySystem { [Dependency] private readonly IGameTiming _gameTiming = default!; + [Dependency] private readonly IOverlayManager _overlay = default!; [Dependency] private readonly IPlayerManager _player = default!; + [Dependency] private readonly IPrototypeManager _prototype = default!; /// /// We'll use an excess time so stuff like finishing effects can show. @@ -31,17 +32,16 @@ namespace Content.Client.DoAfter UpdatesOutsidePrediction = true; SubscribeNetworkEvent(OnCancelledDoAfter); SubscribeLocalEvent(OnDoAfterHandleState); - IoCManager.Resolve().AddOverlay( + _overlay.AddOverlay( new DoAfterOverlay( EntityManager, - IoCManager.Resolve(), - IoCManager.Resolve())); + _prototype)); } public override void Shutdown() { base.Shutdown(); - IoCManager.Resolve().RemoveOverlay(); + _overlay.RemoveOverlay(); } private void OnDoAfterHandleState(EntityUid uid, DoAfterComponent component, ref ComponentHandleState args) diff --git a/Content.Client/Weapons/Melee/MeleeWeaponSystem.cs b/Content.Client/Weapons/Melee/MeleeWeaponSystem.cs index 71c98b6257..bb7bfaa51d 100644 --- a/Content.Client/Weapons/Melee/MeleeWeaponSystem.cs +++ b/Content.Client/Weapons/Melee/MeleeWeaponSystem.cs @@ -28,7 +28,6 @@ public sealed partial class MeleeWeaponSystem : SharedMeleeWeaponSystem [Dependency] private readonly IOverlayManager _overlayManager = default!; [Dependency] private readonly IPlayerManager _player = default!; [Dependency] private readonly IPrototypeManager _protoManager = default!; - [Dependency] private readonly IResourceCache _cache = default!; [Dependency] private readonly IStateManager _stateManager = default!; [Dependency] private readonly AnimationPlayerSystem _animation = default!; [Dependency] private readonly InputSystem _inputSystem = default!; @@ -39,7 +38,7 @@ public sealed partial class MeleeWeaponSystem : SharedMeleeWeaponSystem { base.Initialize(); InitializeEffect(); - _overlayManager.AddOverlay(new MeleeWindupOverlay(EntityManager, _timing, _player, _protoManager, _cache)); + _overlayManager.AddOverlay(new MeleeWindupOverlay(EntityManager, _timing, _player, _protoManager)); SubscribeAllEvent(OnDamageEffect); SubscribeNetworkEvent(OnMeleeLunge); } diff --git a/Content.Client/Weapons/Melee/MeleeWindupOverlay.cs b/Content.Client/Weapons/Melee/MeleeWindupOverlay.cs index 00c6668fa2..aaf744a2fc 100644 --- a/Content.Client/Weapons/Melee/MeleeWindupOverlay.cs +++ b/Content.Client/Weapons/Melee/MeleeWindupOverlay.cs @@ -1,13 +1,11 @@ -using Content.Client.DoAfter; -using Content.Client.Resources; using Content.Shared.Weapons.Melee; using Robust.Client.GameObjects; using Robust.Client.Graphics; using Robust.Client.Player; -using Robust.Client.ResourceManagement; using Robust.Shared.Enums; using Robust.Shared.Prototypes; using Robust.Shared.Timing; +using Robust.Shared.Utility; namespace Content.Client.Weapons.Melee; @@ -24,14 +22,15 @@ public sealed class MeleeWindupOverlay : Overlay private readonly Texture _texture; private readonly ShaderInstance _shader; - public MeleeWindupOverlay(IEntityManager entManager, IGameTiming timing, IPlayerManager playerManager, IPrototypeManager protoManager, IResourceCache cache) + public MeleeWindupOverlay(IEntityManager entManager, IGameTiming timing, IPlayerManager playerManager, IPrototypeManager protoManager) { _entManager = entManager; _timing = timing; _player = playerManager; _melee = _entManager.EntitySysManager.GetEntitySystem(); _transform = _entManager.EntitySysManager.GetEntitySystem(); - _texture = cache.GetTexture("/Textures/Interface/Misc/progress_bar.rsi/icon.png"); + var sprite = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Interface/Misc/progress_bar.rsi"), "icon"); + _texture = _entManager.EntitySysManager.GetEntitySystem().Frame0(sprite); _shader = protoManager.Index("unshaded").Instance(); } diff --git a/Resources/Prototypes/Alerts/alerts.yml b/Resources/Prototypes/Alerts/alerts.yml index cf97522dcc..b9b8645669 100644 --- a/Resources/Prototypes/Alerts/alerts.yml +++ b/Resources/Prototypes/Alerts/alerts.yml @@ -108,7 +108,9 @@ - type: alert id: Stun - icons: [ /Textures/Objects/Weapons/Melee/stunbaton.rsi/stunbaton_off.png ] #Should probably draw a proper icon + icons: + - sprite: /Textures/Objects/Weapons/Melee/stunbaton.rsi #Should probably draw a proper icon + state: stunbaton_off name: alerts-stunned-name description: alerts-stunned-desc @@ -122,7 +124,9 @@ - type: alert id: Ensnared onClick: !type:RemoveEnsnare { } - icons: [ /Textures/Interface/Alerts/ensnared.rsi/ensnared.png ] + icons: + - sprite: /Textures/Interface/Alerts/ensnared.rsi + state: ensnared name: alerts-ensnared-name description: alerts-ensnared-desc @@ -288,36 +292,48 @@ - type: alert id: Debug1 - icons: [ /Textures/Interface/Alerts/human_health.rsi/health1.png ] + icons: + - sprite: /Textures/Interface/Alerts/human_health.rsi + state: health1 name: Debug1 description: Debug - type: alert id: Debug2 - icons: [ /Textures/Interface/Alerts/human_health.rsi/health2.png ] + icons: + - sprite: /Textures/Interface/Alerts/human_health.rsi + state: health2 name: Debug2 description: Debug - type: alert id: Debug3 - icons: [ /Textures/Interface/Alerts/human_health.rsi/health3.png ] + icons: + - sprite: /Textures/Interface/Alerts/human_health.rsi + state: health3 name: Debug3 description: Debug - type: alert id: Debug4 - icons: [ /Textures/Interface/Alerts/human_health.rsi/health4.png ] + icons: + - sprite: /Textures/Interface/Alerts/human_health.rsi + state: health4 name: Debug4 description: Debug - type: alert id: Debug5 - icons: [ /Textures/Interface/Alerts/human_health.rsi/health5.png ] + icons: + - sprite: /Textures/Interface/Alerts/human_health.rsi + state: health5 name: Debug5 description: Debug - type: alert id: Debug6 - icons: [ /Textures/Interface/Alerts/human_health.rsi/health6.png ] + icons: + - sprite: /Textures/Interface/Alerts/human_health.rsi + state: health6 name: Debug6 description: Debug