[Feat] Тонкие спрайты снова в строю (#102)

* Revert "Hair Overhaul (#19298)"

This reverts commit 9491f322de.

# Conflicts:
#	Resources/Textures/Mobs/Customization/human_hair.rsi/a.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/afro.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/afro2.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/bigafro.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/cornrows2.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/emofringe.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/keanu.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/long.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/long2.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/long3.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/meta.json
#	Resources/Textures/Mobs/Customization/human_hair.rsi/modern.png
#	Resources/Textures/Mobs/Customization/human_hair.rsi/quiff.png

* add: возврат системы тонкоспрайтов

* fix: небольшие фиксы после реверта причесок

* add: старые текстуры для slim бодитайпа

* fix: фикс причесок после апстрима
This commit is contained in:
Remuchi
2024-02-24 17:06:32 +07:00
committed by GitHub
parent ac2d162c53
commit 3515e87f74
850 changed files with 6170 additions and 675 deletions

View File

@@ -0,0 +1,35 @@
using Robust.Shared.Prototypes;
namespace Content.Shared.Humanoid.Prototypes
{
[Prototype("bodyType")]
public sealed class BodyTypePrototype : IPrototype
{
/// <summary>
/// Which sex can't use this body type.
/// </summary>
[DataField("sexRestrictions")]
public List<string> SexRestrictions = new();
/// <summary>
/// Sprites that this species will use on the given humanoid
/// visual layer. If a key entry is empty, it is assumed that the
/// visual layer will not be in use on this species, and will
/// be ignored.
/// </summary>
[DataField("sprites", required: true)]
public Dictionary<HumanoidVisualLayers, string> Sprites = new();
/// <summary>
/// User visible name of the body type.
/// </summary>
[DataField("name", required: true)]
public string Name { get; } = default!;
/// <summary>
/// Prototype ID of the body type.
/// </summary>
[IdDataField]
public string ID { get; } = default!;
}
}

View File

@@ -3,7 +3,7 @@ using Robust.Shared.Utility;
namespace Content.Shared.Humanoid.Prototypes;
/// <summary>
/*/// <summary>
/// Base sprites for a species (e.g., what replaces the empty tagged layer,
/// or settings per layer)
/// </summary>
@@ -21,7 +21,7 @@ public sealed partial class HumanoidSpeciesBaseSpritesPrototype : IPrototype
/// </summary>
[DataField("sprites", required: true)]
public Dictionary<HumanoidVisualLayers, string> Sprites = new();
}
}*/
/// <summary>
/// Humanoid species sprite layer. This is what defines the base layer of

View File

@@ -1,5 +1,6 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
namespace Content.Shared.Humanoid.Prototypes;
@@ -18,6 +19,9 @@ public sealed partial class SpeciesPrototype : IPrototype
[DataField("name", required: true)]
public string Name { get; private set; } = default!;
[DataField("bodyTypes", required: true, customTypeSerializer: typeof(PrototypeIdListSerializer<BodyTypePrototype>))]
public List<string> BodyTypes { get; } = default!;
/// <summary>
/// Descriptor. Unused...? This is intended
/// for an eventual integration into IdentitySystem
@@ -41,8 +45,8 @@ public sealed partial class SpeciesPrototype : IPrototype
// sprite layout, and leave this null. Keep in mind that this will disable
// sprite accessories.
[DataField("sprites")]
public string SpriteSet { get; private set; } = default!;
// [DataField("sprites")]
// public string SpriteSet { get; private set; } = default!;
/// <summary>
/// Default skin tone for this species. This applies for non-human skin tones.
@@ -66,13 +70,13 @@ public sealed partial class SpeciesPrototype : IPrototype
/// <summary>
/// Humanoid species variant used by this entity.
/// </summary>
[DataField("prototype", required: true, customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))]
[DataField("prototype", required: true, customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
public string Prototype { get; private set; } = default!;
/// <summary>
/// Prototype used by the species for the dress-up doll in various menus.
/// </summary>
[DataField("dollPrototype", required: true, customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))]
[DataField("dollPrototype", required: true, customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
public string DollPrototype { get; private set; } = default!;
/// <summary>