Some glamourer related changes.

This commit is contained in:
Ottermandias 2023-06-17 01:21:59 +02:00
parent 208d8a11ff
commit 306c2ffd10
5 changed files with 33 additions and 20 deletions

View file

@ -34,7 +34,9 @@ public sealed class StainData : DataSharer, IReadOnlyDictionary<StainId, Stain>
}
public IEnumerator<KeyValuePair<StainId, Stain>> GetEnumerator()
=> Data.Select(kvp => new KeyValuePair<StainId, Stain>(new StainId(kvp.Key), new Stain())).GetEnumerator();
=> Data.Select(kvp
=> new KeyValuePair<StainId, Stain>(new StainId(kvp.Key), new Stain(kvp.Value.Name, kvp.Value.Dye, kvp.Key, kvp.Value.Gloss)))
.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator()
=> GetEnumerator();

View file

@ -365,17 +365,28 @@ public static class FullEquipTypeExtensions
public static FullEquipType Offhand(this FullEquipType type)
=> type switch
{
FullEquipType.Fists => FullEquipType.FistsOff,
FullEquipType.Sword => FullEquipType.Shield,
FullEquipType.Wand => FullEquipType.Shield,
FullEquipType.Daggers => FullEquipType.DaggersOff,
FullEquipType.Gun => FullEquipType.GunOff,
FullEquipType.Orrery => FullEquipType.OrreryOff,
FullEquipType.Rapier => FullEquipType.RapierOff,
FullEquipType.Glaives => FullEquipType.GlaivesOff,
FullEquipType.Bow => FullEquipType.BowOff,
FullEquipType.Katana => FullEquipType.KatanaOff,
_ => FullEquipType.Unknown,
FullEquipType.Fists => FullEquipType.FistsOff,
FullEquipType.Sword => FullEquipType.Shield,
FullEquipType.Wand => FullEquipType.Shield,
FullEquipType.Daggers => FullEquipType.DaggersOff,
FullEquipType.Gun => FullEquipType.GunOff,
FullEquipType.Orrery => FullEquipType.OrreryOff,
FullEquipType.Rapier => FullEquipType.RapierOff,
FullEquipType.Glaives => FullEquipType.GlaivesOff,
FullEquipType.Bow => FullEquipType.BowOff,
FullEquipType.Katana => FullEquipType.KatanaOff,
FullEquipType.Saw => FullEquipType.ClawHammer,
FullEquipType.CrossPeinHammer => FullEquipType.File,
FullEquipType.RaisingHammer => FullEquipType.Pliers,
FullEquipType.LapidaryHammer => FullEquipType.GrindingWheel,
FullEquipType.Knife => FullEquipType.Awl,
FullEquipType.Needle => FullEquipType.SpinningWheel,
FullEquipType.Alembic => FullEquipType.Mortar,
FullEquipType.Frypan => FullEquipType.CulinaryKnife,
FullEquipType.Pickaxe => FullEquipType.Sledgehammer,
FullEquipType.Hatchet => FullEquipType.GardenScythe,
FullEquipType.FishingRod => FullEquipType.Gig,
_ => FullEquipType.Unknown,
};
internal static string OffhandTypeSuffix(this FullEquipType type)

View file

@ -65,7 +65,7 @@ public unsafe struct CustomizeData : IEquatable< CustomizeData >
}
}
public string WriteBase64()
public readonly string WriteBase64()
{
fixed( byte* ptr = Data )
{

View file

@ -110,14 +110,13 @@ public class Configuration : IPluginConfiguration, ISavable
/// Load the current configuration.
/// Includes adding new colors and migrating from old versions.
/// </summary>
public Configuration(CharacterUtility utility, FilenameService fileNames, ConfigMigrationService migrator, SaveService saveService)
public Configuration(CharacterUtility utility, ConfigMigrationService migrator, SaveService saveService)
{
_saveService = saveService;
Load(utility, fileNames, migrator);
UI.Classes.Colors.SetColors(this);
Load(utility, migrator);
}
public void Load(CharacterUtility utility, FilenameService fileNames, ConfigMigrationService migrator)
public void Load(CharacterUtility utility, ConfigMigrationService migrator)
{
static void HandleDeserializationError(object? sender, ErrorEventArgs errorArgs)
{
@ -126,10 +125,10 @@ public class Configuration : IPluginConfiguration, ISavable
errorArgs.ErrorContext.Handled = true;
}
if (File.Exists(fileNames.ConfigFile))
if (File.Exists(_saveService.FileNames.ConfigFile))
try
{
var text = File.ReadAllText(fileNames.ConfigFile);
var text = File.ReadAllText(_saveService.FileNames.ConfigFile);
JsonConvert.PopulateObject(text, this, new JsonSerializerSettings
{
Error = HandleDeserializationError,

View file

@ -12,7 +12,6 @@ using Penumbra.Mods;
using Penumbra.Mods.Editor;
using Penumbra.Mods.Manager;
using Penumbra.UI.Classes;
using Penumbra.Util;
namespace Penumbra.Services;
@ -48,6 +47,8 @@ public class ConfigMigrationService
if (save || forceSave)
config.Save();
Colors.SetColors(config);
}
public void Migrate(CharacterUtility utility, Configuration config)