From f079e77554c326b89fb5f24d64b5947dbfc93126 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Sun, 28 Apr 2024 05:35:40 +0300 Subject: [PATCH] Displacement maps now works on any layers (#27405) * try * pipupi * Update ClientClothingSystem.cs * Update vox.yml * Update ClientClothingSystem.cs --- Content.Client/Clothing/ClientClothingSystem.cs | 5 ++++- Content.Shared/Inventory/InventoryComponent.cs | 4 +++- Resources/Prototypes/Entities/Mobs/Player/vox.yml | 4 ++-- Resources/Prototypes/Entities/Mobs/Species/vox.yml | 1 - 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Content.Client/Clothing/ClientClothingSystem.cs b/Content.Client/Clothing/ClientClothingSystem.cs index 6d13bf4eda..dd69521f48 100644 --- a/Content.Client/Clothing/ClientClothingSystem.cs +++ b/Content.Client/Clothing/ClientClothingSystem.cs @@ -307,13 +307,16 @@ public sealed class ClientClothingSystem : ClothingSystem // Sprite layer redactor when // Sprite "redactor" just a week away. if (slot == Jumpsuit) - layerData.Shader ??= inventory.JumpsuitShader; + layerData.Shader ??= "StencilDraw"; sprite.LayerSetData(index, layerData); layer.Offset += slotDef.Offset; if (displacementData != null) { + if (displacementData.ShaderOverride != null) + sprite.LayerSetShader(index, displacementData.ShaderOverride); + var displacementKey = $"{key}-displacement"; if (!revealedLayers.Add(displacementKey)) { diff --git a/Content.Shared/Inventory/InventoryComponent.cs b/Content.Shared/Inventory/InventoryComponent.cs index dde48a62aa..02b3a5b258 100644 --- a/Content.Shared/Inventory/InventoryComponent.cs +++ b/Content.Shared/Inventory/InventoryComponent.cs @@ -13,7 +13,6 @@ public sealed partial class InventoryComponent : Component [DataField("speciesId")] public string? SpeciesId { get; set; } - [DataField] public string JumpsuitShader = "StencilDraw"; [DataField] public Dictionary Displacements = []; public SlotDefinition[] Slots = Array.Empty(); @@ -24,5 +23,8 @@ public sealed partial class InventoryComponent : Component { [DataField(required: true)] public PrototypeLayerData Layer = default!; + + [DataField] + public string? ShaderOverride = "DisplacedStencilDraw"; } } diff --git a/Resources/Prototypes/Entities/Mobs/Player/vox.yml b/Resources/Prototypes/Entities/Mobs/Player/vox.yml index de1e3da2be..e7ad39d731 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/vox.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/vox.yml @@ -1,5 +1,5 @@ - type: entity save: false - name: Vox + name: Urist McVox parent: BaseMobVox - id: MobVox + id: MobVox \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Species/vox.yml b/Resources/Prototypes/Entities/Mobs/Species/vox.yml index c79947f15c..ec8035563b 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/vox.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/vox.yml @@ -16,7 +16,6 @@ #- type: VoxAccent # Not yet coded - type: Inventory speciesId: vox - jumpsuitShader: DisplacedStencilDraw displacements: jumpsuit: layer: -- 2.52.0