So. Much. Stuff. Glamourer now works with all player actors, can change all customization, gear and stains. Also has a cool Legacy Tattoo icon.

This commit is contained in:
Ottermandias 2021-08-05 23:49:15 +02:00
parent fbb41636df
commit 052a2e7719
14 changed files with 1120 additions and 577 deletions

View file

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using ImGuiScene;
using Penumbra.GameData.Enums;
namespace Glamourer.Customization
@ -11,7 +10,6 @@ namespace Glamourer.Customization
public const int DefaultAvailable =
(1 << (int) CustomizationId.Height)
| (1 << (int) CustomizationId.Hairstyle)
| (1 << (int) CustomizationId.HighlightsOnFlag)
| (1 << (int) CustomizationId.SkinColor)
| (1 << (int) CustomizationId.EyeColorR)
| (1 << (int) CustomizationId.EyeColorL)
@ -54,6 +52,7 @@ namespace Glamourer.Customization
public int NumMouthShapes { get; internal set; }
public IReadOnlyList<string> OptionName { get; internal set; } = null!;
public IReadOnlyList<Customization> Faces { get; internal set; } = null!;
public IReadOnlyList<Customization> HairStyles { get; internal set; } = null!;
public IReadOnlyList<Customization> TailEarShapes { get; internal set; } = null!;
@ -70,7 +69,10 @@ namespace Glamourer.Customization
public IReadOnlyList<Customization> LipColorsLight { get; internal set; } = null!;
public IReadOnlyList<Customization> LipColorsDark { get; internal set; } = null!;
public IReadOnlyDictionary<CustomizationId, string> OptionName { get; internal set; } = null!;
public IReadOnlyList<CharaMakeParams.MenuType> _types { get; internal set; } = null!;
public string Option(CustomizationId id)
=> OptionName[(int) id];
public Customization FacialFeature(int faceIdx, int idx)
=> FeaturesTattoos[faceIdx - 1][idx];
@ -151,6 +153,10 @@ namespace Glamourer.Customization
};
}
public CharaMakeParams.MenuType Type(CustomizationId id)
=> _types[(int) id];
public int Count(CustomizationId id)
{
if (!IsAvailable(id))