Added SkinArmorFlags classes

This commit is contained in:
MayNL
2026-05-11 18:10:06 -04:00
parent de98a9217e
commit ec04639928
8 changed files with 192 additions and 8 deletions
@@ -13,6 +13,36 @@ namespace PckStudio.Rendering.Extension
public static Cube ToCube(this SkinBOX skinBOX) => skinBOX.ToCube(0f);
public static Cube ToCube(this SkinBOX skinBOX, float inflate, bool flipZMapping = false)
=> new Cube(skinBOX.Pos.ToOpenTKVector(), skinBOX.Size.ToOpenTKVector(), skinBOX.UV.ToOpenTKVector(), skinBOX.Scale + inflate, skinBOX.Mirror, flipZMapping, skinBOX.ArmorMaskFlags);
{
SkinArmorFlags ArmorFlags = skinBOX.ArmorMaskFlags;
// this is to ensure armor types include the flags on top of custom defined flags for armor masking
switch(skinBOX.Type)
{
case "BODYARMOR":
case "ARMARMOR0":
case "ARMARMOR1":
ArmorFlags |= SkinArmorFlags.ChestplateAndArmArmor;
break;
case "LEGGING0":
case "LEGGING1":
ArmorFlags |= SkinArmorFlags.Leggings;
break;
case "BOOT0":
case "BOOT1":
ArmorFlags |= SkinArmorFlags.Boots;
break;
case "BELT":
ArmorFlags |= SkinArmorFlags.Belt;
break;
case "SOCK0":
case "SOCK1":
ArmorFlags |= SkinArmorFlags.Socks;
break;
}
return new Cube(skinBOX.Pos.ToOpenTKVector(), skinBOX.Size.ToOpenTKVector(), skinBOX.UV.ToOpenTKVector(), skinBOX.Scale + inflate, skinBOX.Mirror, flipZMapping, ArmorFlags.ToValue());
}
}
}