Fix texture crimes (#12900)

This commit is contained in:
metalgearsloth
2022-12-06 14:35:44 +11:00
committed by GitHub
parent 16111b0668
commit d9a26c76e0
5 changed files with 38 additions and 23 deletions

View File

@@ -1,9 +1,9 @@
using Content.Client.Resources; using Content.Client.Resources;
using Robust.Client.GameObjects; using Robust.Client.GameObjects;
using Robust.Client.Graphics; using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Shared.Enums; using Robust.Shared.Enums;
using Robust.Shared.Prototypes; using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Client.DoAfter; namespace Content.Client.DoAfter;
@@ -17,11 +17,12 @@ public sealed class DoAfterOverlay : Overlay
public override OverlaySpace Space => OverlaySpace.WorldSpaceBelowFOV; public override OverlaySpace Space => OverlaySpace.WorldSpaceBelowFOV;
public DoAfterOverlay(IEntityManager entManager, IPrototypeManager protoManager, IResourceCache cache) public DoAfterOverlay(IEntityManager entManager, IPrototypeManager protoManager)
{ {
_entManager = entManager; _entManager = entManager;
_transform = _entManager.EntitySysManager.GetEntitySystem<SharedTransformSystem>(); _transform = _entManager.EntitySysManager.GetEntitySystem<SharedTransformSystem>();
_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<SpriteSystem>().Frame0(sprite);
_shader = protoManager.Index<ShaderPrototype>("unshaded").Instance(); _shader = protoManager.Index<ShaderPrototype>("unshaded").Instance();
} }

View File

@@ -2,7 +2,6 @@ using Content.Shared.DoAfter;
using JetBrains.Annotations; using JetBrains.Annotations;
using Robust.Client.Graphics; using Robust.Client.Graphics;
using Robust.Client.Player; using Robust.Client.Player;
using Robust.Client.ResourceManagement;
using Robust.Shared.GameStates; using Robust.Shared.GameStates;
using Robust.Shared.Prototypes; using Robust.Shared.Prototypes;
using Robust.Shared.Timing; using Robust.Shared.Timing;
@@ -18,7 +17,9 @@ namespace Content.Client.DoAfter
public sealed class DoAfterSystem : EntitySystem public sealed class DoAfterSystem : EntitySystem
{ {
[Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly IOverlayManager _overlay = default!;
[Dependency] private readonly IPlayerManager _player = default!; [Dependency] private readonly IPlayerManager _player = default!;
[Dependency] private readonly IPrototypeManager _prototype = default!;
/// <summary> /// <summary>
/// We'll use an excess time so stuff like finishing effects can show. /// We'll use an excess time so stuff like finishing effects can show.
@@ -31,17 +32,16 @@ namespace Content.Client.DoAfter
UpdatesOutsidePrediction = true; UpdatesOutsidePrediction = true;
SubscribeNetworkEvent<CancelledDoAfterMessage>(OnCancelledDoAfter); SubscribeNetworkEvent<CancelledDoAfterMessage>(OnCancelledDoAfter);
SubscribeLocalEvent<DoAfterComponent, ComponentHandleState>(OnDoAfterHandleState); SubscribeLocalEvent<DoAfterComponent, ComponentHandleState>(OnDoAfterHandleState);
IoCManager.Resolve<IOverlayManager>().AddOverlay( _overlay.AddOverlay(
new DoAfterOverlay( new DoAfterOverlay(
EntityManager, EntityManager,
IoCManager.Resolve<IPrototypeManager>(), _prototype));
IoCManager.Resolve<IResourceCache>()));
} }
public override void Shutdown() public override void Shutdown()
{ {
base.Shutdown(); base.Shutdown();
IoCManager.Resolve<IOverlayManager>().RemoveOverlay<DoAfterOverlay>(); _overlay.RemoveOverlay<DoAfterOverlay>();
} }
private void OnDoAfterHandleState(EntityUid uid, DoAfterComponent component, ref ComponentHandleState args) private void OnDoAfterHandleState(EntityUid uid, DoAfterComponent component, ref ComponentHandleState args)

View File

@@ -28,7 +28,6 @@ public sealed partial class MeleeWeaponSystem : SharedMeleeWeaponSystem
[Dependency] private readonly IOverlayManager _overlayManager = default!; [Dependency] private readonly IOverlayManager _overlayManager = default!;
[Dependency] private readonly IPlayerManager _player = default!; [Dependency] private readonly IPlayerManager _player = default!;
[Dependency] private readonly IPrototypeManager _protoManager = default!; [Dependency] private readonly IPrototypeManager _protoManager = default!;
[Dependency] private readonly IResourceCache _cache = default!;
[Dependency] private readonly IStateManager _stateManager = default!; [Dependency] private readonly IStateManager _stateManager = default!;
[Dependency] private readonly AnimationPlayerSystem _animation = default!; [Dependency] private readonly AnimationPlayerSystem _animation = default!;
[Dependency] private readonly InputSystem _inputSystem = default!; [Dependency] private readonly InputSystem _inputSystem = default!;
@@ -39,7 +38,7 @@ public sealed partial class MeleeWeaponSystem : SharedMeleeWeaponSystem
{ {
base.Initialize(); base.Initialize();
InitializeEffect(); InitializeEffect();
_overlayManager.AddOverlay(new MeleeWindupOverlay(EntityManager, _timing, _player, _protoManager, _cache)); _overlayManager.AddOverlay(new MeleeWindupOverlay(EntityManager, _timing, _player, _protoManager));
SubscribeAllEvent<DamageEffectEvent>(OnDamageEffect); SubscribeAllEvent<DamageEffectEvent>(OnDamageEffect);
SubscribeNetworkEvent<MeleeLungeEvent>(OnMeleeLunge); SubscribeNetworkEvent<MeleeLungeEvent>(OnMeleeLunge);
} }

View File

@@ -1,13 +1,11 @@
using Content.Client.DoAfter;
using Content.Client.Resources;
using Content.Shared.Weapons.Melee; using Content.Shared.Weapons.Melee;
using Robust.Client.GameObjects; using Robust.Client.GameObjects;
using Robust.Client.Graphics; using Robust.Client.Graphics;
using Robust.Client.Player; using Robust.Client.Player;
using Robust.Client.ResourceManagement;
using Robust.Shared.Enums; using Robust.Shared.Enums;
using Robust.Shared.Prototypes; using Robust.Shared.Prototypes;
using Robust.Shared.Timing; using Robust.Shared.Timing;
using Robust.Shared.Utility;
namespace Content.Client.Weapons.Melee; namespace Content.Client.Weapons.Melee;
@@ -24,14 +22,15 @@ public sealed class MeleeWindupOverlay : Overlay
private readonly Texture _texture; private readonly Texture _texture;
private readonly ShaderInstance _shader; 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; _entManager = entManager;
_timing = timing; _timing = timing;
_player = playerManager; _player = playerManager;
_melee = _entManager.EntitySysManager.GetEntitySystem<SharedMeleeWeaponSystem>(); _melee = _entManager.EntitySysManager.GetEntitySystem<SharedMeleeWeaponSystem>();
_transform = _entManager.EntitySysManager.GetEntitySystem<SharedTransformSystem>(); _transform = _entManager.EntitySysManager.GetEntitySystem<SharedTransformSystem>();
_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<SpriteSystem>().Frame0(sprite);
_shader = protoManager.Index<ShaderPrototype>("unshaded").Instance(); _shader = protoManager.Index<ShaderPrototype>("unshaded").Instance();
} }

View File

@@ -108,7 +108,9 @@
- type: alert - type: alert
id: Stun 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 name: alerts-stunned-name
description: alerts-stunned-desc description: alerts-stunned-desc
@@ -122,7 +124,9 @@
- type: alert - type: alert
id: Ensnared id: Ensnared
onClick: !type:RemoveEnsnare { } onClick: !type:RemoveEnsnare { }
icons: [ /Textures/Interface/Alerts/ensnared.rsi/ensnared.png ] icons:
- sprite: /Textures/Interface/Alerts/ensnared.rsi
state: ensnared
name: alerts-ensnared-name name: alerts-ensnared-name
description: alerts-ensnared-desc description: alerts-ensnared-desc
@@ -288,36 +292,48 @@
- type: alert - type: alert
id: Debug1 id: Debug1
icons: [ /Textures/Interface/Alerts/human_health.rsi/health1.png ] icons:
- sprite: /Textures/Interface/Alerts/human_health.rsi
state: health1
name: Debug1 name: Debug1
description: Debug description: Debug
- type: alert - type: alert
id: Debug2 id: Debug2
icons: [ /Textures/Interface/Alerts/human_health.rsi/health2.png ] icons:
- sprite: /Textures/Interface/Alerts/human_health.rsi
state: health2
name: Debug2 name: Debug2
description: Debug description: Debug
- type: alert - type: alert
id: Debug3 id: Debug3
icons: [ /Textures/Interface/Alerts/human_health.rsi/health3.png ] icons:
- sprite: /Textures/Interface/Alerts/human_health.rsi
state: health3
name: Debug3 name: Debug3
description: Debug description: Debug
- type: alert - type: alert
id: Debug4 id: Debug4
icons: [ /Textures/Interface/Alerts/human_health.rsi/health4.png ] icons:
- sprite: /Textures/Interface/Alerts/human_health.rsi
state: health4
name: Debug4 name: Debug4
description: Debug description: Debug
- type: alert - type: alert
id: Debug5 id: Debug5
icons: [ /Textures/Interface/Alerts/human_health.rsi/health5.png ] icons:
- sprite: /Textures/Interface/Alerts/human_health.rsi
state: health5
name: Debug5 name: Debug5
description: Debug description: Debug
- type: alert - type: alert
id: Debug6 id: Debug6
icons: [ /Textures/Interface/Alerts/human_health.rsi/health6.png ] icons:
- sprite: /Textures/Interface/Alerts/human_health.rsi
state: health6
name: Debug6 name: Debug6
description: Debug description: Debug