mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2026-01-03 14:23:43 +01:00
Make LipDiffuse a Vec4 instead of two values.
This commit is contained in:
parent
630647b544
commit
8a9fa98706
2 changed files with 19 additions and 35 deletions
|
|
@ -4,20 +4,19 @@ namespace Glamourer.GameData;
|
|||
|
||||
public struct CustomizeParameterData
|
||||
{
|
||||
public Vector4 DecalColor;
|
||||
public Vector4 LipDiffuse;
|
||||
public Vector3 SkinDiffuse;
|
||||
public Vector3 SkinSpecular;
|
||||
public Vector3 LipDiffuse;
|
||||
public Vector3 HairDiffuse;
|
||||
public Vector3 HairSpecular;
|
||||
public Vector3 HairHighlight;
|
||||
public Vector3 LeftEye;
|
||||
public Vector3 RightEye;
|
||||
public Vector3 FeatureColor;
|
||||
public Vector4 DecalColor;
|
||||
public float FacePaintUvMultiplier;
|
||||
public float FacePaintUvOffset;
|
||||
public float MuscleTone;
|
||||
public float LipOpacity;
|
||||
|
||||
public CustomizeParameterValue this[CustomizeParameterFlag flag]
|
||||
{
|
||||
|
|
@ -30,7 +29,6 @@ public struct CustomizeParameterData
|
|||
CustomizeParameterFlag.MuscleTone => new CustomizeParameterValue(MuscleTone),
|
||||
CustomizeParameterFlag.SkinSpecular => new CustomizeParameterValue(SkinSpecular),
|
||||
CustomizeParameterFlag.LipDiffuse => new CustomizeParameterValue(LipDiffuse),
|
||||
CustomizeParameterFlag.LipOpacity => new CustomizeParameterValue(LipOpacity),
|
||||
CustomizeParameterFlag.HairDiffuse => new CustomizeParameterValue(HairDiffuse),
|
||||
CustomizeParameterFlag.HairSpecular => new CustomizeParameterValue(HairSpecular),
|
||||
CustomizeParameterFlag.HairHighlight => new CustomizeParameterValue(HairHighlight),
|
||||
|
|
@ -54,8 +52,7 @@ public struct CustomizeParameterData
|
|||
CustomizeParameterFlag.SkinDiffuse => SetIfDifferent(ref SkinDiffuse, value.InternalTriple),
|
||||
CustomizeParameterFlag.MuscleTone => SetIfDifferent(ref MuscleTone, value.Single),
|
||||
CustomizeParameterFlag.SkinSpecular => SetIfDifferent(ref SkinSpecular, value.InternalTriple),
|
||||
CustomizeParameterFlag.LipDiffuse => SetIfDifferent(ref LipDiffuse, value.InternalTriple),
|
||||
CustomizeParameterFlag.LipOpacity => SetIfDifferent(ref LipOpacity, value.Single),
|
||||
CustomizeParameterFlag.LipDiffuse => SetIfDifferent(ref LipDiffuse, value.InternalQuadruple),
|
||||
CustomizeParameterFlag.HairDiffuse => SetIfDifferent(ref HairDiffuse, value.InternalTriple),
|
||||
CustomizeParameterFlag.HairSpecular => SetIfDifferent(ref HairSpecular, value.InternalTriple),
|
||||
CustomizeParameterFlag.HairHighlight => SetIfDifferent(ref HairHighlight, value.InternalTriple),
|
||||
|
|
@ -80,14 +77,6 @@ public struct CustomizeParameterData
|
|||
_ => new CustomizeParameterValue(SkinDiffuse, MuscleTone).XivQuadruple,
|
||||
};
|
||||
|
||||
parameters.LipColor = (flags & (CustomizeParameterFlag.LipDiffuse | CustomizeParameterFlag.LipOpacity)) switch
|
||||
{
|
||||
0 => parameters.LipColor,
|
||||
CustomizeParameterFlag.LipDiffuse => new CustomizeParameterValue(LipDiffuse, parameters.LipColor.W).XivQuadruple,
|
||||
CustomizeParameterFlag.LipOpacity => parameters.LipColor with { W = LipOpacity },
|
||||
_ => new CustomizeParameterValue(LipDiffuse, LipOpacity).XivQuadruple,
|
||||
};
|
||||
|
||||
parameters.LeftColor = (flags & (CustomizeParameterFlag.LeftEye | CustomizeParameterFlag.FacePaintUvMultiplier)) switch
|
||||
{
|
||||
0 => parameters.LeftColor,
|
||||
|
|
@ -112,6 +101,8 @@ public struct CustomizeParameterData
|
|||
parameters.HairFresnelValue0 = new CustomizeParameterValue(HairSpecular).XivTriple;
|
||||
if (flags.HasFlag(CustomizeParameterFlag.HairHighlight))
|
||||
parameters.MeshColor = new CustomizeParameterValue(HairHighlight).XivTriple;
|
||||
if (flags.HasFlag(CustomizeParameterFlag.LipDiffuse))
|
||||
parameters.LipColor = new CustomizeParameterValue(LipDiffuse).XivQuadruple;
|
||||
if (flags.HasFlag(CustomizeParameterFlag.FeatureColor))
|
||||
parameters.OptionColor = new CustomizeParameterValue(FeatureColor).XivTriple;
|
||||
}
|
||||
|
|
@ -138,10 +129,7 @@ public struct CustomizeParameterData
|
|||
parameters.SkinFresnelValue0 = new CustomizeParameterValue(SkinSpecular).XivQuadruple;
|
||||
break;
|
||||
case CustomizeParameterFlag.LipDiffuse:
|
||||
parameters.LipColor = new CustomizeParameterValue(LipDiffuse, parameters.LipColor.W).XivQuadruple;
|
||||
break;
|
||||
case CustomizeParameterFlag.LipOpacity:
|
||||
parameters.LipColor.W = LipOpacity;
|
||||
parameters.LipColor = new CustomizeParameterValue(LipDiffuse).XivQuadruple;
|
||||
break;
|
||||
case CustomizeParameterFlag.HairDiffuse:
|
||||
parameters.MainColor = new CustomizeParameterValue(HairDiffuse).XivTriple;
|
||||
|
|
@ -176,10 +164,9 @@ public struct CustomizeParameterData
|
|||
FacePaintUvOffset = parameter.RightColor.W,
|
||||
FacePaintUvMultiplier = parameter.LeftColor.W,
|
||||
MuscleTone = parameter.SkinColor.W,
|
||||
LipOpacity = parameter.LipColor.W,
|
||||
SkinDiffuse = new CustomizeParameterValue(parameter.SkinColor).InternalTriple,
|
||||
SkinSpecular = new CustomizeParameterValue(parameter.SkinFresnelValue0).InternalTriple,
|
||||
LipDiffuse = new CustomizeParameterValue(parameter.LipColor).InternalTriple,
|
||||
LipDiffuse = new CustomizeParameterValue(parameter.LipColor).InternalQuadruple,
|
||||
HairDiffuse = new CustomizeParameterValue(parameter.MainColor).InternalTriple,
|
||||
HairSpecular = new CustomizeParameterValue(parameter.HairFresnelValue0).InternalTriple,
|
||||
HairHighlight = new CustomizeParameterValue(parameter.MeshColor).InternalTriple,
|
||||
|
|
@ -196,7 +183,6 @@ public struct CustomizeParameterData
|
|||
CustomizeParameterFlag.MuscleTone => new CustomizeParameterValue(parameter.SkinColor.W),
|
||||
CustomizeParameterFlag.SkinSpecular => new CustomizeParameterValue(parameter.SkinFresnelValue0),
|
||||
CustomizeParameterFlag.LipDiffuse => new CustomizeParameterValue(parameter.LipColor),
|
||||
CustomizeParameterFlag.LipOpacity => new CustomizeParameterValue(parameter.LipColor.W),
|
||||
CustomizeParameterFlag.HairDiffuse => new CustomizeParameterValue(parameter.MainColor),
|
||||
CustomizeParameterFlag.HairSpecular => new CustomizeParameterValue(parameter.HairFresnelValue0),
|
||||
CustomizeParameterFlag.HairHighlight => new CustomizeParameterValue(parameter.MeshColor),
|
||||
|
|
|
|||
|
|
@ -7,27 +7,26 @@ public enum CustomizeParameterFlag : ushort
|
|||
MuscleTone = 0x0002,
|
||||
SkinSpecular = 0x0004,
|
||||
LipDiffuse = 0x0008,
|
||||
LipOpacity = 0x0010,
|
||||
HairDiffuse = 0x0020,
|
||||
HairSpecular = 0x0040,
|
||||
HairHighlight = 0x0080,
|
||||
LeftEye = 0x0100,
|
||||
RightEye = 0x0200,
|
||||
FeatureColor = 0x0400,
|
||||
FacePaintUvMultiplier = 0x0800,
|
||||
FacePaintUvOffset = 0x1000,
|
||||
DecalColor = 0x2000,
|
||||
HairDiffuse = 0x0010,
|
||||
HairSpecular = 0x0020,
|
||||
HairHighlight = 0x0040,
|
||||
LeftEye = 0x0080,
|
||||
RightEye = 0x0100,
|
||||
FeatureColor = 0x0200,
|
||||
FacePaintUvMultiplier = 0x0400,
|
||||
FacePaintUvOffset = 0x0800,
|
||||
DecalColor = 0x1000,
|
||||
}
|
||||
|
||||
public static class CustomizeParameterExtensions
|
||||
{
|
||||
public const CustomizeParameterFlag All = (CustomizeParameterFlag)0x3FFF;
|
||||
public const CustomizeParameterFlag All = (CustomizeParameterFlag)0x1FFF;
|
||||
|
||||
public const CustomizeParameterFlag RgbTriples = All
|
||||
& ~(RgbaQuadruples | Percentages | Values);
|
||||
|
||||
public const CustomizeParameterFlag RgbaQuadruples = CustomizeParameterFlag.DecalColor;
|
||||
public const CustomizeParameterFlag Percentages = CustomizeParameterFlag.MuscleTone | CustomizeParameterFlag.LipOpacity;
|
||||
public const CustomizeParameterFlag RgbaQuadruples = CustomizeParameterFlag.DecalColor | CustomizeParameterFlag.LipDiffuse;
|
||||
public const CustomizeParameterFlag Percentages = CustomizeParameterFlag.MuscleTone;
|
||||
public const CustomizeParameterFlag Values = CustomizeParameterFlag.FacePaintUvOffset | CustomizeParameterFlag.FacePaintUvMultiplier;
|
||||
|
||||
public static readonly IReadOnlyList<CustomizeParameterFlag> AllFlags = [.. Enum.GetValues<CustomizeParameterFlag>()];
|
||||
|
|
@ -52,7 +51,6 @@ public static class CustomizeParameterExtensions
|
|||
CustomizeParameterFlag.MuscleTone => "Muscle Tone",
|
||||
CustomizeParameterFlag.SkinSpecular => "Skin Shine",
|
||||
CustomizeParameterFlag.LipDiffuse => "Lip Color",
|
||||
CustomizeParameterFlag.LipOpacity => "Lip Opacity",
|
||||
CustomizeParameterFlag.HairDiffuse => "Hair Color",
|
||||
CustomizeParameterFlag.HairSpecular => "Hair Shine",
|
||||
CustomizeParameterFlag.HairHighlight => "Hair Highlights",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue