Switch mostly to Luna Services.

This commit is contained in:
Ottermandias 2025-09-08 14:38:02 +02:00
parent 97c8d82b33
commit 3e4e3022d8
200 changed files with 348 additions and 481 deletions

View file

@ -1,5 +1,4 @@
using OtterGui.Classes;
using OtterGui.Services;
using Penumbra.Mods.Groups;
using Penumbra.Mods.Manager;
using Penumbra.Mods.SubMods;
@ -8,7 +7,7 @@ using Penumbra.String.Classes;
namespace Penumbra.Mods.Editor;
public class DuplicateManager(ModManager modManager, SaveService saveService, Configuration config) : IService
public class DuplicateManager(ModManager modManager, SaveService saveService, Configuration config) : Luna.IService
{
private readonly SHA256 _hasher = SHA256.Create();
private readonly List<(FullPath[] Paths, long Size, byte[] Hash)> _duplicates = [];

View file

@ -1,12 +1,11 @@
using OtterGui.Compression;
using OtterGui.Extensions;
using OtterGui.Services;
using Penumbra.GameData.Enums;
using Penumbra.GameData.Files;
namespace Penumbra.Mods.Editor;
public partial class MdlMaterialEditor(ModFileCollection files) : IService
public partial class MdlMaterialEditor(ModFileCollection files) : Luna.IService
{
[GeneratedRegex(@"/mt_c(?'RaceCode'\d{4})b0001_(?'Suffix'.*?)\.mtrl", RegexOptions.ExplicitCapture | RegexOptions.NonBacktracking)]
private static partial Regex MaterialRegex();

View file

@ -1,5 +1,4 @@
using OtterGui.Compression;
using OtterGui.Services;
using Penumbra.Mods.Groups;
using Penumbra.Mods.SubMods;
@ -14,7 +13,7 @@ public class ModEditor(
ModSwapEditor swapEditor,
MdlMaterialEditor mdlMaterialEditor,
FileCompactor compactor)
: IDisposable, IService
: IDisposable, Luna.IService
{
public readonly ModNormalizer ModNormalizer = modNormalizer;
public readonly ModMetaEditor MetaEditor = metaEditor;

View file

@ -1,12 +1,10 @@
using OtterGui;
using OtterGui.Extensions;
using OtterGui.Services;
using Penumbra.Mods.SubMods;
using Penumbra.String.Classes;
namespace Penumbra.Mods.Editor;
public class ModFileCollection : IDisposable, IService
public class ModFileCollection : IDisposable, Luna.IService
{
private readonly List<FileRegistry> _available = [];
private readonly List<FileRegistry> _mtrl = [];

View file

@ -1,4 +1,3 @@
using OtterGui.Services;
using Penumbra.Mods.Manager;
using Penumbra.Mods.SubMods;
using Penumbra.Services;
@ -6,7 +5,7 @@ using Penumbra.String.Classes;
namespace Penumbra.Mods.Editor;
public class ModFileEditor(ModFileCollection files, ModManager modManager, CommunicatorService communicator) : IService
public class ModFileEditor(ModFileCollection files, ModManager modManager, CommunicatorService communicator) : Luna.IService
{
public bool Changes { get; private set; }

View file

@ -1,9 +1,7 @@
using Dalamud.Interface.ImGuiNotification;
using Dalamud.Utility;
using OtterGui;
using OtterGui.Classes;
using OtterGui.Extensions;
using OtterGui.Services;
using Penumbra.Api.Enums;
using Penumbra.Communication;
using Penumbra.Mods.Groups;
@ -15,7 +13,7 @@ using Penumbra.String.Classes;
namespace Penumbra.Mods.Editor;
public class ModMerger : IDisposable, IService
public class ModMerger : IDisposable, Luna.IService
{
private readonly Configuration _config;
private readonly CommunicatorService _communicator;

View file

@ -1,6 +1,5 @@
using System.Collections.Frozen;
using OtterGui.Classes;
using OtterGui.Services;
using Penumbra.Collections.Cache;
using Penumbra.Meta;
using Penumbra.Meta.Files;
@ -9,13 +8,12 @@ using Penumbra.Mods.Groups;
using Penumbra.Mods.Manager.OptionEditor;
using Penumbra.Mods.SubMods;
using Penumbra.Services;
using static Penumbra.GameData.Files.ShpkFile;
namespace Penumbra.Mods.Editor;
public class ModMetaEditor(
ModGroupEditor groupEditor,
MetaFileManager metaFileManager) : MetaDictionary, IService
MetaFileManager metaFileManager) : MetaDictionary, Luna.IService
{
public sealed class OtherOptionData : HashSet<string>
{

View file

@ -1,7 +1,6 @@
using Dalamud.Interface.ImGuiNotification;
using OtterGui.Classes;
using OtterGui.Extensions;
using OtterGui.Services;
using OtterGui.Tasks;
using Penumbra.Mods.Groups;
using Penumbra.Mods.Manager;
@ -11,7 +10,7 @@ using Penumbra.String.Classes;
namespace Penumbra.Mods.Editor;
public class ModNormalizer(ModManager modManager, Configuration config, SaveService saveService) : IService
public class ModNormalizer(ModManager modManager, Configuration config, SaveService saveService) : Luna.IService
{
private readonly List<List<Dictionary<Utf8GamePath, FullPath>>> _redirections = [];

View file

@ -1,10 +1,9 @@
using OtterGui.Services;
using Penumbra.Mods.Manager;
using Penumbra.Mods.SubMods;
using Penumbra.String.Classes;
using Penumbra.Util;
public class ModSwapEditor(ModManager modManager) : IService
public class ModSwapEditor(ModManager modManager) : Luna.IService
{
private readonly Dictionary<Utf8GamePath, FullPath> _swaps = [];

View file

@ -1,4 +1,3 @@
using OtterGui.Services;
using Penumbra.Communication;
using Penumbra.GameData.Data;
using Penumbra.Mods.Groups;
@ -9,7 +8,7 @@ using Penumbra.Util;
namespace Penumbra.Mods.Manager;
public class ModCacheManager : IDisposable, IService
public class ModCacheManager : IDisposable, Luna.IService
{
private readonly Configuration _config;
private readonly CommunicatorService _communicator;

View file

@ -1,6 +1,5 @@
using Dalamud.Utility;
using OtterGui.Classes;
using OtterGui.Services;
using Penumbra.GameData.Data;
using Penumbra.GameData.Structs;
using Penumbra.Services;
@ -29,7 +28,7 @@ public enum ModDataChangeType : ushort
RequiredFeatures = 0x8000,
}
public class ModDataEditor(SaveService saveService, CommunicatorService communicatorService, ItemData itemData) : IService
public class ModDataEditor(SaveService saveService, CommunicatorService communicatorService, ItemData itemData) : Luna.IService
{
public SaveService SaveService
=> saveService;

View file

@ -1,11 +1,10 @@
using OtterGui.Services;
using Penumbra.Communication;
using Penumbra.Mods.Editor;
using Penumbra.Services;
namespace Penumbra.Mods.Manager;
public class ModExportManager : IDisposable, IService
public class ModExportManager : IDisposable, Luna.IService
{
private readonly Configuration _config;
private readonly CommunicatorService _communicator;

View file

@ -1,13 +1,12 @@
using Dalamud.Interface.ImGuiNotification;
using OtterGui.Classes;
using OtterGui.Filesystem;
using OtterGui.Services;
using Penumbra.Communication;
using Penumbra.Services;
namespace Penumbra.Mods.Manager;
public sealed class ModFileSystem : FileSystem<Mod>, IDisposable, ISavable, IService
public sealed class ModFileSystem : FileSystem<Mod>, IDisposable, ISavable, Luna.IService
{
private readonly ModManager _modManager;
private readonly CommunicatorService _communicator;

View file

@ -1,13 +1,12 @@
using Dalamud.Interface.ImGuiNotification;
using OtterGui.Classes;
using OtterGui.Services;
using Penumbra.Import;
using Penumbra.Mods.Editor;
using Penumbra.Services;
namespace Penumbra.Mods.Manager;
public class ModImportManager(ModManager modManager, Configuration config, ModEditor modEditor, MigrationManager migrationManager) : IDisposable, IService
public class ModImportManager(ModManager modManager, Configuration config, ModEditor modEditor, MigrationManager migrationManager) : IDisposable, Luna.IService
{
private readonly ConcurrentQueue<string[]> _modsToUnpack = new();

View file

@ -1,4 +1,3 @@
using OtterGui.Services;
using Penumbra.Communication;
using Penumbra.Interop;
using Penumbra.Mods.Editor;
@ -29,7 +28,7 @@ public enum ModPathChangeType
StartingReload,
}
public sealed class ModManager : ModStorage, IDisposable, IService
public sealed class ModManager : ModStorage, IDisposable, Luna.IService
{
private readonly Configuration _config;
private readonly CommunicatorService _communicator;

View file

@ -1,7 +1,5 @@
using OtterGui;
using OtterGui.Classes;
using OtterGui.Extensions;
using OtterGui.Services;
using Penumbra.Mods.Groups;
using Penumbra.Mods.Settings;
using Penumbra.Mods.SubMods;
@ -10,7 +8,7 @@ using Penumbra.Services;
namespace Penumbra.Mods.Manager.OptionEditor;
public sealed class CombiningModGroupEditor(CommunicatorService communicator, SaveService saveService, Configuration config)
: ModOptionEditor<CombiningModGroup, CombiningSubMod>(communicator, saveService, config), IService
: ModOptionEditor<CombiningModGroup, CombiningSubMod>(communicator, saveService, config), Luna.IService
{
protected override CombiningModGroup CreateGroup(Mod mod, string newName, ModPriority priority, SaveType saveType = SaveType.ImmediateSync)
=> new(mod)

View file

@ -1,6 +1,5 @@
using OtterGui.Classes;
using OtterGui.Filesystem;
using OtterGui.Services;
using Penumbra.GameData.Structs;
using Penumbra.Meta.Manipulations;
using Penumbra.Mods.Groups;
@ -11,7 +10,7 @@ using Penumbra.Services;
namespace Penumbra.Mods.Manager.OptionEditor;
public sealed class ImcModGroupEditor(CommunicatorService communicator, SaveService saveService, Configuration config)
: ModOptionEditor<ImcModGroup, ImcSubMod>(communicator, saveService, config), IService
: ModOptionEditor<ImcModGroup, ImcSubMod>(communicator, saveService, config), Luna.IService
{
/// <summary> Add a new, empty imc group with the given manipulation data. </summary>
public ImcModGroup? AddModGroup(Mod mod, string newName, ImcIdentifier identifier, ImcEntry defaultEntry,

View file

@ -1,7 +1,6 @@
using Dalamud.Interface.ImGuiNotification;
using OtterGui.Classes;
using OtterGui.Filesystem;
using OtterGui.Services;
using Penumbra.Api.Enums;
using Penumbra.Meta.Manipulations;
using Penumbra.Mods.Groups;
@ -40,7 +39,7 @@ public class ModGroupEditor(
CombiningModGroupEditor combiningEditor,
CommunicatorService communicator,
SaveService saveService,
Configuration config) : IService
Configuration config) : Luna.IService
{
public SingleModGroupEditor SingleEditor
=> singleEditor;

View file

@ -1,6 +1,5 @@
using OtterGui.Classes;
using OtterGui.Filesystem;
using OtterGui.Services;
using Penumbra.Mods.Groups;
using Penumbra.Mods.Settings;
using Penumbra.Mods.SubMods;
@ -9,7 +8,7 @@ using Penumbra.Services;
namespace Penumbra.Mods.Manager.OptionEditor;
public sealed class MultiModGroupEditor(CommunicatorService communicator, SaveService saveService, Configuration config)
: ModOptionEditor<MultiModGroup, MultiSubMod>(communicator, saveService, config), IService
: ModOptionEditor<MultiModGroup, MultiSubMod>(communicator, saveService, config), Luna.IService
{
public void ChangeToSingle(MultiModGroup group)
{

View file

@ -1,6 +1,5 @@
using OtterGui.Classes;
using OtterGui.Filesystem;
using OtterGui.Services;
using Penumbra.Mods.Groups;
using Penumbra.Mods.Settings;
using Penumbra.Mods.SubMods;
@ -9,7 +8,7 @@ using Penumbra.Services;
namespace Penumbra.Mods.Manager.OptionEditor;
public sealed class SingleModGroupEditor(CommunicatorService communicator, SaveService saveService, Configuration config)
: ModOptionEditor<SingleModGroup, SingleSubMod>(communicator, saveService, config), IService
: ModOptionEditor<SingleModGroup, SingleSubMod>(communicator, saveService, config), Luna.IService
{
public void ChangeToMulti(SingleModGroup group)
{

View file

@ -1,11 +1,9 @@
using Dalamud.Interface.ImGuiNotification;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using OtterGui;
using OtterGui.Classes;
using OtterGui.Extensions;
using OtterGui.Filesystem;
using OtterGui.Services;
using Penumbra.Api.Enums;
using Penumbra.GameData.Data;
using Penumbra.Import;
@ -26,7 +24,7 @@ public partial class ModCreator(
Configuration config,
ModDataEditor dataEditor,
MetaFileManager metaFileManager,
GamePathParser gamePathParser) : IService
GamePathParser gamePathParser) : Luna.IService
{
public const FeatureFlags SupportedFeatures = FeatureFlags.Atch | FeatureFlags.Shp | FeatureFlags.Atr;
public readonly Configuration Config = config;