mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-12 18:27:24 +01:00
Switch mostly to Luna Services.
This commit is contained in:
parent
97c8d82b33
commit
3e4e3022d8
200 changed files with 348 additions and 481 deletions
4
.gitmodules
vendored
4
.gitmodules
vendored
|
|
@ -14,3 +14,7 @@
|
|||
path = Penumbra.GameData
|
||||
url = https://github.com/Ottermandias/Penumbra.GameData.git
|
||||
branch = main
|
||||
[submodule "Luna"]
|
||||
path = Luna
|
||||
url = git@github.com:Ottermandias/Luna.git
|
||||
branch = main
|
||||
|
|
|
|||
1
Luna
Submodule
1
Luna
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit ecbf3e0e8543a81111c71b98ed108b3c87810837
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 27893a85adb57a301dd93fd2c7d318bfd4c12a0f
|
||||
Subproject commit e50fa7044e35742e57cc694e7fb36a2fc225a661
|
||||
12
Penumbra.sln
12
Penumbra.sln
|
|
@ -55,6 +55,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "structs", "structs", "{B03F
|
|||
schemas\structs\option.json = schemas\structs\option.json
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Luna", "Luna\Luna\Luna.csproj", "{DEA936D7-1386-55A1-7451-E0C240F56E9D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Luna.Generators", "Luna\Luna.Generators\Luna.Generators.csproj", "{744CE38E-DCA8-C17D-7B02-741F36243CF6}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
|
|
@ -85,6 +89,14 @@ Global
|
|||
{EE834491-A98F-4395-BE0D-6861AE5AD953}.Debug|x64.Build.0 = Debug|x64
|
||||
{EE834491-A98F-4395-BE0D-6861AE5AD953}.Release|x64.ActiveCfg = Release|x64
|
||||
{EE834491-A98F-4395-BE0D-6861AE5AD953}.Release|x64.Build.0 = Release|x64
|
||||
{DEA936D7-1386-55A1-7451-E0C240F56E9D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{DEA936D7-1386-55A1-7451-E0C240F56E9D}.Debug|x64.Build.0 = Debug|x64
|
||||
{DEA936D7-1386-55A1-7451-E0C240F56E9D}.Release|x64.ActiveCfg = Release|x64
|
||||
{DEA936D7-1386-55A1-7451-E0C240F56E9D}.Release|x64.Build.0 = Release|x64
|
||||
{744CE38E-DCA8-C17D-7B02-741F36243CF6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{744CE38E-DCA8-C17D-7B02-741F36243CF6}.Debug|x64.Build.0 = Debug|x64
|
||||
{744CE38E-DCA8-C17D-7B02-741F36243CF6}.Release|x64.ActiveCfg = Release|x64
|
||||
{744CE38E-DCA8-C17D-7B02-741F36243CF6}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using OtterGui.Log;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Manager;
|
||||
|
|
@ -13,7 +12,7 @@ public class ApiHelpers(
|
|||
CollectionManager collectionManager,
|
||||
ObjectManager objects,
|
||||
CollectionResolver collectionResolver,
|
||||
ActorManager actors) : IApiService
|
||||
ActorManager actors) : Luna.IApiService
|
||||
{
|
||||
/// <summary> Return the associated identifier for an object given by its index. </summary>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Manager;
|
||||
|
|
@ -6,7 +5,7 @@ using Penumbra.Mods;
|
|||
|
||||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class CollectionApi(CollectionManager collections, ApiHelpers helpers) : IPenumbraApiCollection, IApiService
|
||||
public class CollectionApi(CollectionManager collections, ApiHelpers helpers) : IPenumbraApiCollection, Luna.IApiService
|
||||
{
|
||||
public Dictionary<Guid, string> GetCollections()
|
||||
=> collections.Storage.ToDictionary(c => c.Identity.Id, c => c.Identity.Name);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
using OtterGui.Services;
|
||||
using Penumbra.Import.Textures;
|
||||
using TextureType = Penumbra.Api.Enums.TextureType;
|
||||
|
||||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class EditingApi(TextureManager textureManager) : IPenumbraApiEditing, IApiService
|
||||
public class EditingApi(TextureManager textureManager) : IPenumbraApiEditing, Luna.IApiService
|
||||
{
|
||||
public Task ConvertTextureFile(string inputFile, string outputFile, TextureType textureType, bool mipMaps)
|
||||
=> textureType switch
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Interop.Hooks.ResourceLoading;
|
||||
|
|
@ -10,7 +9,7 @@ using Penumbra.String.Classes;
|
|||
|
||||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class GameStateApi : IPenumbraApiGameState, IApiService, IDisposable
|
||||
public class GameStateApi : IPenumbraApiGameState, Luna.IApiService, IDisposable
|
||||
{
|
||||
private readonly CommunicatorService _communicator;
|
||||
private readonly CollectionResolver _collectionResolver;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ using Dalamud.Plugin.Services;
|
|||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using OtterGui;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Cache;
|
||||
using Penumbra.GameData.Files.AtchStructs;
|
||||
|
|
@ -14,7 +13,7 @@ using Penumbra.Meta.Manipulations;
|
|||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class MetaApi(IFramework framework, CollectionResolver collectionResolver, ApiHelpers helpers)
|
||||
: IPenumbraApiMeta, IApiService
|
||||
: IPenumbraApiMeta, Luna.IApiService
|
||||
{
|
||||
public string GetPlayerMetaManipulations()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using OtterGui.Extensions;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Api.Helpers;
|
||||
using Penumbra.Collections;
|
||||
|
|
@ -17,7 +16,7 @@ using Penumbra.Services;
|
|||
|
||||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class ModSettingsApi : IPenumbraApiModSettings, IApiService, IDisposable
|
||||
public class ModSettingsApi : IPenumbraApiModSettings, Luna.IApiService, IDisposable
|
||||
{
|
||||
private readonly CollectionResolver _collectionResolver;
|
||||
private readonly ModManager _modManager;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using Newtonsoft.Json.Linq;
|
||||
using OtterGui.Compression;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.Mods;
|
||||
|
|
@ -9,7 +8,7 @@ using Penumbra.Services;
|
|||
|
||||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class ModsApi : IPenumbraApiMods, IApiService, IDisposable
|
||||
public class ModsApi : IPenumbraApiMods, Luna.IApiService, IDisposable
|
||||
{
|
||||
private readonly CommunicatorService _communicator;
|
||||
private readonly ModManager _modManager;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
using OtterGui.Services;
|
||||
|
||||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class PenumbraApi(
|
||||
|
|
@ -14,7 +12,7 @@ public class PenumbraApi(
|
|||
ResolveApi resolve,
|
||||
ResourceTreeApi resourceTree,
|
||||
TemporaryApi temporary,
|
||||
UiApi ui) : IDisposable, IApiService, IPenumbraApi
|
||||
UiApi ui) : IDisposable, Luna.IApiService, IPenumbraApi
|
||||
{
|
||||
public const int BreakingVersion = 5;
|
||||
public const int FeatureVersion = 12;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
using System.Collections.Frozen;
|
||||
using Newtonsoft.Json;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.Mods;
|
||||
using Penumbra.Services;
|
||||
|
||||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class PluginStateApi(Configuration config, CommunicatorService communicator) : IPenumbraApiPluginState, IApiService
|
||||
public class PluginStateApi(Configuration config, CommunicatorService communicator) : IPenumbraApiPluginState, Luna.IApiService
|
||||
{
|
||||
public string GetModDirectory()
|
||||
=> config.ModDirectory;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
using Dalamud.Game.ClientState.Objects.Types;
|
||||
using Dalamud.Plugin.Services;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Interop.Services;
|
||||
|
||||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class RedrawApi(RedrawService redrawService, IFramework framework) : IPenumbraApiRedraw, IApiService
|
||||
public class RedrawApi(RedrawService redrawService, IFramework framework) : IPenumbraApiRedraw, Luna.IApiService
|
||||
{
|
||||
public void RedrawObject(int gameObjectIndex, RedrawType setting)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Manager;
|
||||
using Penumbra.Interop.PathResolving;
|
||||
|
|
@ -14,7 +13,7 @@ public class ResolveApi(
|
|||
Configuration config,
|
||||
CollectionResolver collectionResolver,
|
||||
ApiHelpers helpers,
|
||||
IFramework framework) : IPenumbraApiResolve, IApiService
|
||||
IFramework framework) : IPenumbraApiResolve, Luna.IApiService
|
||||
{
|
||||
public string ResolveDefaultPath(string gamePath)
|
||||
=> ResolvePath(gamePath, modManager, collectionManager.Active.Default);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using Dalamud.Game.ClientState.Objects.Types;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Api.Helpers;
|
||||
using Penumbra.GameData.Interop;
|
||||
|
|
@ -8,7 +7,7 @@ using Penumbra.Interop.ResourceTree;
|
|||
|
||||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class ResourceTreeApi(ResourceTreeFactory resourceTreeFactory, ObjectManager objects) : IPenumbraApiResourceTree, IApiService
|
||||
public class ResourceTreeApi(ResourceTreeFactory resourceTreeFactory, ObjectManager objects) : IPenumbraApiResourceTree, Luna.IApiService
|
||||
{
|
||||
public Dictionary<string, HashSet<string>>?[] GetGameObjectResourcePaths(params ushort[] gameObjects)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using OtterGui.Log;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Manager;
|
||||
|
|
@ -18,7 +17,7 @@ public class TemporaryApi(
|
|||
CollectionManager collectionManager,
|
||||
TempModManager tempMods,
|
||||
ApiHelpers apiHelpers,
|
||||
ModManager modManager) : IPenumbraApiTemporary, IApiService
|
||||
ModManager modManager) : IPenumbraApiTemporary, Luna.IApiService
|
||||
{
|
||||
public (PenumbraApiEc, Guid) CreateTemporaryCollection(string identity, string name)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.GameData.Data;
|
||||
|
|
@ -8,7 +7,7 @@ using Penumbra.UI;
|
|||
|
||||
namespace Penumbra.Api.Api;
|
||||
|
||||
public class UiApi : IPenumbraApiUi, IApiService, IDisposable
|
||||
public class UiApi : IPenumbraApiUi, Luna.IApiService, IDisposable
|
||||
{
|
||||
private readonly CommunicatorService _communicator;
|
||||
private readonly ConfigWindow _configWindow;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Plugin.Services;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Manager;
|
||||
using Penumbra.Communication;
|
||||
|
|
@ -10,7 +9,7 @@ using Penumbra.String.Classes;
|
|||
|
||||
namespace Penumbra.Api;
|
||||
|
||||
public class DalamudSubstitutionProvider : IDisposable, IApiService
|
||||
public class DalamudSubstitutionProvider : IDisposable, Luna.IApiService
|
||||
{
|
||||
private readonly ITextureSubstitutionProvider _substitution;
|
||||
private readonly IUiBuilder _uiBuilder;
|
||||
|
|
|
|||
|
|
@ -2,13 +2,12 @@ using Dalamud.Plugin.Services;
|
|||
using EmbedIO;
|
||||
using EmbedIO.Routing;
|
||||
using EmbedIO.WebApi;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Api;
|
||||
using Penumbra.Api.Enums;
|
||||
|
||||
namespace Penumbra.Api;
|
||||
|
||||
public class HttpApi : IDisposable, IApiService
|
||||
public class HttpApi : IDisposable, Luna.IApiService
|
||||
{
|
||||
private partial class Controller : WebApiController
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
using Dalamud.Plugin;
|
||||
using OtterGui.Log;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Api;
|
||||
using Serilog.Events;
|
||||
|
||||
namespace Penumbra.Api;
|
||||
|
||||
public sealed class IpcLaunchingProvider : IApiService
|
||||
public sealed class IpcLaunchingProvider : Luna.IApiService
|
||||
{
|
||||
public IpcLaunchingProvider(IDalamudPluginInterface pi, Logger log)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using Dalamud.Plugin;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Api;
|
||||
using Penumbra.Api.Helpers;
|
||||
using Penumbra.Communication;
|
||||
|
|
@ -7,7 +6,7 @@ using CharacterUtility = Penumbra.Interop.Services.CharacterUtility;
|
|||
|
||||
namespace Penumbra.Api;
|
||||
|
||||
public sealed class IpcProviders : IDisposable, IApiService
|
||||
public sealed class IpcProviders : IDisposable, Luna.IApiService
|
||||
{
|
||||
private readonly List<IDisposable> _providers;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ using Dalamud.Interface.Utility;
|
|||
using Dalamud.Plugin;
|
||||
using OtterGui;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Api.IpcSubscribers;
|
||||
using Penumbra.Collections.Manager;
|
||||
|
|
@ -13,7 +12,7 @@ using ImGuiClip = OtterGui.ImGuiClip;
|
|||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class CollectionsIpcTester(IDalamudPluginInterface pi) : IUiService
|
||||
public class CollectionsIpcTester(IDalamudPluginInterface pi) : Luna.IUiService
|
||||
{
|
||||
private int _objectIdx;
|
||||
private string _collectionIdString = string.Empty;
|
||||
|
|
|
|||
|
|
@ -2,13 +2,12 @@ using Dalamud.Bindings.ImGui;
|
|||
using Dalamud.Plugin;
|
||||
using OtterGui;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Api.IpcSubscribers;
|
||||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class EditingIpcTester(IDalamudPluginInterface pi) : IUiService
|
||||
public class EditingIpcTester(IDalamudPluginInterface pi) : Luna.IUiService
|
||||
{
|
||||
private string _inputPath = string.Empty;
|
||||
private string _inputPath2 = string.Empty;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ using Dalamud.Bindings.ImGui;
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Plugin;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Api.Helpers;
|
||||
using Penumbra.Api.IpcSubscribers;
|
||||
|
|
@ -10,7 +9,7 @@ using Penumbra.String;
|
|||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class GameStateIpcTester : IUiService, IDisposable
|
||||
public class GameStateIpcTester : Luna.IUiService, IDisposable
|
||||
{
|
||||
private readonly IDalamudPluginInterface _pi;
|
||||
public readonly EventSubscriber<nint, Guid, nint, nint, nint> CharacterBaseCreating;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.System.Framework;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Api;
|
||||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
|
@ -21,7 +19,7 @@ public class IpcTester(
|
|||
EditingIpcTester editingIpcTester,
|
||||
TemporaryIpcTester temporaryIpcTester,
|
||||
ResourceTreeIpcTester resourceTreeIpcTester,
|
||||
IFramework framework) : IUiService
|
||||
IFramework framework) : Luna.IUiService
|
||||
{
|
||||
private readonly IpcProviders _ipcProviders = ipcProviders;
|
||||
private DateTime _lastUpdate;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using Dalamud.Bindings.ImGui;
|
||||
using Dalamud.Plugin;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using OtterGui.Text;
|
||||
using Penumbra.Api.Api;
|
||||
using Penumbra.Api.IpcSubscribers;
|
||||
|
|
@ -9,7 +8,7 @@ using Penumbra.Meta.Manipulations;
|
|||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class MetaIpcTester(IDalamudPluginInterface pi) : IUiService
|
||||
public class MetaIpcTester(IDalamudPluginInterface pi) : Luna.IUiService
|
||||
{
|
||||
private int _gameObjectIndex;
|
||||
private string _metaBase64 = string.Empty;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ using Dalamud.Bindings.ImGui;
|
|||
using Dalamud.Plugin;
|
||||
using OtterGui;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using OtterGui.Text;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Api.Helpers;
|
||||
|
|
@ -11,7 +10,7 @@ using Penumbra.UI;
|
|||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class ModSettingsIpcTester : IUiService, IDisposable
|
||||
public class ModSettingsIpcTester : Luna.IUiService, IDisposable
|
||||
{
|
||||
private readonly IDalamudPluginInterface _pi;
|
||||
public readonly EventSubscriber<ModSettingChange, Guid, string, bool> SettingChanged;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ using Dalamud.Bindings.ImGui;
|
|||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Plugin;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using OtterGui.Text;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Api.Helpers;
|
||||
|
|
@ -10,7 +9,7 @@ using Penumbra.Api.IpcSubscribers;
|
|||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class ModsIpcTester : IUiService, IDisposable
|
||||
public class ModsIpcTester : Luna.IUiService, IDisposable
|
||||
{
|
||||
private readonly IDalamudPluginInterface _pi;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,14 +4,13 @@ using Dalamud.Plugin;
|
|||
using Dalamud.Bindings.ImGui;
|
||||
using OtterGui;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using OtterGui.Text;
|
||||
using Penumbra.Api.Helpers;
|
||||
using Penumbra.Api.IpcSubscribers;
|
||||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class PluginStateIpcTester : IUiService, IDisposable
|
||||
public class PluginStateIpcTester : Luna.IUiService, IDisposable
|
||||
{
|
||||
private readonly IDalamudPluginInterface _pi;
|
||||
public readonly EventSubscriber<string, bool> ModDirectoryChanged;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
using Dalamud.Plugin;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Api.Helpers;
|
||||
using Penumbra.Api.IpcSubscribers;
|
||||
using Penumbra.GameData.Interop;
|
||||
|
|
@ -11,7 +8,7 @@ using Penumbra.UI;
|
|||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class RedrawingIpcTester : IUiService, IDisposable
|
||||
public class RedrawingIpcTester : Luna.IUiService, IDisposable
|
||||
{
|
||||
private readonly IDalamudPluginInterface _pi;
|
||||
private readonly ObjectManager _objects;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
using Dalamud.Plugin;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.IpcSubscribers;
|
||||
using Penumbra.String.Classes;
|
||||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class ResolveIpcTester(IDalamudPluginInterface pi) : IUiService
|
||||
public class ResolveIpcTester(IDalamudPluginInterface pi) : Luna.IUiService
|
||||
{
|
||||
private string _currentResolvePath = string.Empty;
|
||||
private string _currentReversePath = string.Empty;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ using Dalamud.Plugin;
|
|||
using OtterGui;
|
||||
using OtterGui.Extensions;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Api.Helpers;
|
||||
using Penumbra.Api.IpcSubscribers;
|
||||
|
|
@ -16,7 +15,7 @@ using Penumbra.GameData.Structs;
|
|||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class ResourceTreeIpcTester(IDalamudPluginInterface pi, ObjectManager objects) : IUiService
|
||||
public class ResourceTreeIpcTester(IDalamudPluginInterface pi, ObjectManager objects) : Luna.IUiService
|
||||
{
|
||||
private readonly Stopwatch _stopwatch = new();
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ using Dalamud.Bindings.ImGui;
|
|||
using OtterGui;
|
||||
using OtterGui.Extensions;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using OtterGui.Text;
|
||||
using Penumbra.Api.Api;
|
||||
using Penumbra.Api.Enums;
|
||||
|
|
@ -24,7 +23,7 @@ public class TemporaryIpcTester(
|
|||
TempCollectionManager tempCollections,
|
||||
SaveService saveService,
|
||||
Configuration config)
|
||||
: IUiService
|
||||
: Luna.IUiService
|
||||
{
|
||||
public Guid LastCreatedCollectionId = Guid.Empty;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
using Dalamud.Plugin;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using OtterGui.Raii;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Api.Helpers;
|
||||
using Penumbra.Api.IpcSubscribers;
|
||||
|
||||
namespace Penumbra.Api.IpcTester;
|
||||
|
||||
public class UiIpcTester : IUiService, IDisposable
|
||||
public class UiIpcTester : Luna.IUiService, IDisposable
|
||||
{
|
||||
private readonly IDalamudPluginInterface _pi;
|
||||
public readonly EventSubscriber<string, float, float> PreSettingsTabBar;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Meta.Manipulations;
|
||||
|
|
@ -19,7 +18,7 @@ public enum RedirectResult
|
|||
FilteredGamePath = 3,
|
||||
}
|
||||
|
||||
public class TempModManager : IDisposable, IService
|
||||
public class TempModManager : IDisposable, Luna.IService
|
||||
{
|
||||
private readonly CommunicatorService _communicator;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections.Manager;
|
||||
|
|
@ -18,7 +17,7 @@ using Penumbra.String.Classes;
|
|||
|
||||
namespace Penumbra.Collections.Cache;
|
||||
|
||||
public class CollectionCacheManager : IDisposable, IService
|
||||
public class CollectionCacheManager : IDisposable, Luna.IService
|
||||
{
|
||||
private readonly FrameworkManager _framework;
|
||||
private readonly CommunicatorService _communicator;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData.Structs;
|
||||
using Penumbra.Meta.Manipulations;
|
||||
using Penumbra.Mods.Editor;
|
||||
|
||||
namespace Penumbra.Collections.Cache;
|
||||
|
||||
public class GlobalEqpCache : ReadWriteDictionary<GlobalEqpManipulation, IMod>, IService
|
||||
public class GlobalEqpCache : ReadWriteDictionary<GlobalEqpManipulation, IMod>, Luna.IService
|
||||
{
|
||||
private readonly HashSet<PrimaryId> _doNotHideEarrings = [];
|
||||
private readonly HashSet<PrimaryId> _doNotHideNecklace = [];
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections.Manager;
|
||||
using Penumbra.GameData.Interop;
|
||||
using Penumbra.Interop.PathResolving;
|
||||
|
||||
namespace Penumbra.Collections;
|
||||
|
||||
public sealed class CollectionAutoSelector : IService, IDisposable
|
||||
public sealed class CollectionAutoSelector : Luna.IService, IDisposable
|
||||
{
|
||||
private readonly Configuration _config;
|
||||
private readonly ActiveCollections _collections;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ using Newtonsoft.Json;
|
|||
using Newtonsoft.Json.Linq;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Extensions;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.GameData.Actors;
|
||||
using Penumbra.GameData.Enums;
|
||||
|
|
@ -12,7 +11,7 @@ using Penumbra.UI;
|
|||
|
||||
namespace Penumbra.Collections.Manager;
|
||||
|
||||
public class ActiveCollectionData : IService
|
||||
public class ActiveCollectionData : Luna.IService
|
||||
{
|
||||
public ModCollection Current { get; internal set; } = ModCollection.Empty;
|
||||
public ModCollection Default { get; internal set; } = ModCollection.Empty;
|
||||
|
|
@ -21,7 +20,7 @@ public class ActiveCollectionData : IService
|
|||
public readonly ModCollection?[] SpecialCollections = new ModCollection?[Enum.GetValues<Api.Enums.ApiCollectionType>().Length - 3];
|
||||
}
|
||||
|
||||
public class ActiveCollections : ISavable, IDisposable, IService
|
||||
public class ActiveCollections : ISavable, IDisposable, Luna.IService
|
||||
{
|
||||
public const int Version = 2;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using OtterGui.Extensions;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Mods;
|
||||
using Penumbra.Mods.Manager;
|
||||
|
|
@ -8,7 +7,7 @@ using Penumbra.Services;
|
|||
|
||||
namespace Penumbra.Collections.Manager;
|
||||
|
||||
public class CollectionEditor(SaveService saveService, CommunicatorService communicator, ModStorage modStorage) : IService
|
||||
public class CollectionEditor(SaveService saveService, CommunicatorService communicator, ModStorage modStorage) : Luna.IService
|
||||
{
|
||||
/// <summary> Enable or disable the mod inheritance of mod idx. </summary>
|
||||
public bool SetModInheritance(ModCollection collection, Mod mod, bool inherit)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using OtterGui.Services;
|
||||
using Penumbra.Collections.Cache;
|
||||
|
||||
namespace Penumbra.Collections.Manager;
|
||||
|
|
@ -9,7 +8,7 @@ public class CollectionManager(
|
|||
InheritanceManager inheritances,
|
||||
CollectionCacheManager caches,
|
||||
TempCollectionManager temp,
|
||||
CollectionEditor editor) : IService
|
||||
CollectionEditor editor) : Luna.IService
|
||||
{
|
||||
public readonly CollectionStorage Storage = storage;
|
||||
public readonly ActiveCollections Active = active;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using Dalamud.Interface.ImGuiNotification;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Extensions;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.Mods;
|
||||
using Penumbra.Mods.Editor;
|
||||
|
|
@ -23,7 +22,7 @@ public readonly record struct LocalCollectionId(int Id) : IAdditionOperators<Loc
|
|||
=> new(left.Id + right);
|
||||
}
|
||||
|
||||
public class CollectionStorage : IReadOnlyList<ModCollection>, IDisposable, IService
|
||||
public class CollectionStorage : IReadOnlyList<ModCollection>, IDisposable, Luna.IService
|
||||
{
|
||||
private readonly CommunicatorService _communicator;
|
||||
private readonly SaveService _saveService;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using Dalamud.Interface.ImGuiNotification;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Extensions;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.Mods.Manager;
|
||||
using Penumbra.Services;
|
||||
|
|
@ -13,7 +12,7 @@ namespace Penumbra.Collections.Manager;
|
|||
/// This is transitive, so a collection A inheriting from B also inherits from everything B inherits.
|
||||
/// Circular dependencies are resolved by distinctness.
|
||||
/// </summary>
|
||||
public class InheritanceManager : IDisposable, IService
|
||||
public class InheritanceManager : IDisposable, Luna.IService
|
||||
{
|
||||
public enum ValidInheritance
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using OtterGui.Extensions;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.GameData.Actors;
|
||||
|
|
@ -9,7 +8,7 @@ using Penumbra.String;
|
|||
|
||||
namespace Penumbra.Collections.Manager;
|
||||
|
||||
public class TempCollectionManager : IDisposable, IService
|
||||
public class TempCollectionManager : IDisposable, Luna.IService
|
||||
{
|
||||
public int GlobalChangeCounter { get; private set; }
|
||||
public readonly IndividualCollections Collections;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ using Dalamud.Game.Text.SeStringHandling;
|
|||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Api;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
|
|
@ -17,7 +16,7 @@ using Penumbra.UI.Knowledge;
|
|||
|
||||
namespace Penumbra;
|
||||
|
||||
public class CommandHandler : IDisposable, IApiService
|
||||
public class CommandHandler : IDisposable, Luna.IApiService
|
||||
{
|
||||
private const string CommandName = "/penumbra";
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ using Newtonsoft.Json;
|
|||
using OtterGui.Classes;
|
||||
using OtterGui.Extensions;
|
||||
using OtterGui.Filesystem;
|
||||
using OtterGui.Services;
|
||||
using OtterGui.Widgets;
|
||||
using Penumbra.Import.Structs;
|
||||
using Penumbra.Interop.Services;
|
||||
|
|
@ -28,7 +27,7 @@ public record PcpSettings
|
|||
}
|
||||
|
||||
[Serializable]
|
||||
public class Configuration : IPluginConfiguration, ISavable, IService
|
||||
public class Configuration : IPluginConfiguration, ISavable, Luna.IService
|
||||
{
|
||||
[JsonIgnore]
|
||||
private readonly SaveService _saveService;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
using Dalamud.Interface.ImGuiNotification;
|
||||
using Newtonsoft.Json;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.FileSystem.Selector;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.Enums;
|
||||
|
|
@ -16,7 +14,7 @@ using ErrorEventArgs = Newtonsoft.Json.Serialization.ErrorEventArgs;
|
|||
|
||||
namespace Penumbra;
|
||||
|
||||
public class EphemeralConfig : ISavable, IDisposable, IService
|
||||
public class EphemeralConfig : ISavable, IDisposable, Luna.IService
|
||||
{
|
||||
[JsonIgnore]
|
||||
private readonly SaveService _saveService;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using Lumina.Data.Parsing;
|
||||
using OtterGui.Extensions;
|
||||
using OtterGui.Services;
|
||||
using OtterGui.Tasks;
|
||||
using Penumbra.Collections.Manager;
|
||||
using Penumbra.GameData;
|
||||
|
|
@ -25,7 +24,7 @@ using Schema2 = SharpGLTF.Schema2;
|
|||
using LuminaMaterial = Lumina.Models.Materials.Material;
|
||||
|
||||
public sealed class ModelManager(IFramework framework, MetaFileManager metaFileManager, ActiveCollections collections, GamePathParser parser)
|
||||
: SingleTaskQueue, IDisposable, IService
|
||||
: SingleTaskQueue, IDisposable, Luna.IService
|
||||
{
|
||||
private readonly IFramework _framework = framework;
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public partial struct MetaFileInfo
|
|||
public MetaFileInfo(GamePathParser parser, string fileName)
|
||||
{
|
||||
// Set the primary type from the gamePath start.
|
||||
PrimaryType = parser.PathToObjectType(fileName);
|
||||
PrimaryType = GamePathParser.PathToObjectType(fileName);
|
||||
PrimaryId = 0;
|
||||
SecondaryType = BodySlot.Unknown;
|
||||
SecondaryId = 0;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ using Dalamud.Interface.Textures.TextureWraps;
|
|||
using Dalamud.Plugin.Services;
|
||||
using Lumina.Data.Files;
|
||||
using OtterGui.Log;
|
||||
using OtterGui.Services;
|
||||
using OtterGui.Tasks;
|
||||
using OtterTex;
|
||||
using SharpDX.Direct3D11;
|
||||
|
|
@ -18,7 +17,7 @@ using Image = SixLabors.ImageSharp.Image;
|
|||
namespace Penumbra.Import.Textures;
|
||||
|
||||
public sealed class TextureManager(IDataManager gameData, Logger logger, ITextureProvider textureProvider, IUiBuilder uiBuilder)
|
||||
: SingleTaskQueue, IDisposable, IService
|
||||
: SingleTaskQueue, IDisposable, Luna.IService
|
||||
{
|
||||
private readonly Logger _logger = logger;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Utility.Signatures;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData;
|
||||
|
||||
namespace Penumbra.Interop;
|
||||
|
||||
public sealed unsafe class CharacterBaseVTables : IService
|
||||
public sealed unsafe class CharacterBaseVTables : Luna.IService
|
||||
{
|
||||
[Signature(Sigs.HumanVTable, ScanType = ScanType.StaticAddress)]
|
||||
public readonly nint* HumanVTable = null!;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using FFXIVClientStructs.FFXIV.Client.Game.Object;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Interop.PathResolving;
|
||||
|
|
@ -7,7 +6,7 @@ using Penumbra.String.Classes;
|
|||
|
||||
namespace Penumbra.Interop;
|
||||
|
||||
public class GameState : IService
|
||||
public class GameState : Luna.IService
|
||||
{
|
||||
#region Last Game Object
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
using Dalamud.Hooking;
|
||||
using OtterGui.Services;
|
||||
using Luna;
|
||||
using Penumbra.Interop.Structs;
|
||||
|
||||
namespace Penumbra.Interop.Hooks;
|
||||
|
||||
#if DEBUG
|
||||
public sealed unsafe class DebugHook : IHookService
|
||||
public sealed unsafe class DebugHook : Luna.IHookService
|
||||
{
|
||||
public const string Signature = "";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
using Dalamud.Hooking;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.Objects;
|
||||
|
||||
public sealed unsafe class CharacterBaseDestructor : EventWrapperPtr<CharacterBase, CharacterBaseDestructor.Priority>, IHookService
|
||||
public sealed unsafe class CharacterBaseDestructor : EventWrapperPtr<CharacterBase, CharacterBaseDestructor.Priority>, Luna.IHookService
|
||||
{
|
||||
public enum Priority
|
||||
{
|
||||
|
|
@ -16,7 +15,7 @@ public sealed unsafe class CharacterBaseDestructor : EventWrapperPtr<CharacterBa
|
|||
MtrlTab = -1000,
|
||||
}
|
||||
|
||||
public CharacterBaseDestructor(HookManager hooks)
|
||||
public CharacterBaseDestructor(Luna.HookManager hooks)
|
||||
: base("Destroy CharacterBase")
|
||||
=> _task = hooks.CreateHook<Delegate>(Name, Address, Detour, !HookOverrides.Instance.Objects.CharacterBaseDestructor);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
using Dalamud.Hooking;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.Objects;
|
||||
|
||||
public sealed unsafe class CharacterDestructor : EventWrapperPtr<Character, CharacterDestructor.Priority>, IHookService
|
||||
public sealed unsafe class CharacterDestructor : EventWrapperPtr<Character, CharacterDestructor.Priority>, Luna.IHookService
|
||||
{
|
||||
public enum Priority
|
||||
{
|
||||
|
|
@ -20,7 +19,7 @@ public sealed unsafe class CharacterDestructor : EventWrapperPtr<Character, Char
|
|||
DrawObjectState = 0,
|
||||
}
|
||||
|
||||
public CharacterDestructor(HookManager hooks)
|
||||
public CharacterDestructor(Luna.HookManager hooks)
|
||||
: base("Character Destructor")
|
||||
=> _task = hooks.CreateHook<Delegate>(Name, Sigs.CharacterDestructor, Detour, !HookOverrides.Instance.Objects.CharacterDestructor);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
using Dalamud.Hooking;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData;
|
||||
using Penumbra.GameData.Enums;
|
||||
using Penumbra.GameData.Interop;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.Objects;
|
||||
|
||||
public sealed unsafe class ConstructCutsceneCharacter : EventWrapperPtr<Character, ConstructCutsceneCharacter.Priority>, IHookService
|
||||
public sealed unsafe class ConstructCutsceneCharacter : EventWrapperPtr<Character, ConstructCutsceneCharacter.Priority>, Luna.IHookService
|
||||
{
|
||||
private readonly GameState _gameState;
|
||||
private readonly ObjectManager _objects;
|
||||
|
|
@ -19,7 +18,7 @@ public sealed unsafe class ConstructCutsceneCharacter : EventWrapperPtr<Characte
|
|||
CutsceneService = 0,
|
||||
}
|
||||
|
||||
public ConstructCutsceneCharacter(GameState gameState, HookManager hooks, ObjectManager objects)
|
||||
public ConstructCutsceneCharacter(GameState gameState, Luna.HookManager hooks, ObjectManager objects)
|
||||
: base("ConstructCutsceneCharacter")
|
||||
{
|
||||
_gameState = gameState;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
using Dalamud.Hooking;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.Objects;
|
||||
|
||||
public sealed unsafe class CopyCharacter : EventWrapperPtr<Character, Character, CopyCharacter.Priority>, IHookService
|
||||
public sealed unsafe class CopyCharacter : EventWrapperPtr<Character, Character, CopyCharacter.Priority>, Luna.IHookService
|
||||
{
|
||||
public enum Priority
|
||||
{
|
||||
|
|
@ -13,7 +12,7 @@ public sealed unsafe class CopyCharacter : EventWrapperPtr<Character, Character,
|
|||
CutsceneService = 0,
|
||||
}
|
||||
|
||||
public CopyCharacter(HookManager hooks)
|
||||
public CopyCharacter(Luna.HookManager hooks)
|
||||
: base("Copy Character")
|
||||
=> _task = hooks.CreateHook<Delegate>(Name, Address, Detour, !HookOverrides.Instance.Objects.CopyCharacter);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
using Dalamud.Hooking;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData.Structs;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.Objects;
|
||||
|
||||
public sealed unsafe class CreateCharacterBase : EventWrapperPtr<ModelCharaId, CustomizeArray, CharacterArmor, CreateCharacterBase.Priority>, IHookService
|
||||
public sealed unsafe class CreateCharacterBase : EventWrapperPtr<ModelCharaId, CustomizeArray, CharacterArmor, CreateCharacterBase.Priority>, Luna.IHookService
|
||||
{
|
||||
public enum Priority
|
||||
{
|
||||
|
|
@ -14,7 +13,7 @@ public sealed unsafe class CreateCharacterBase : EventWrapperPtr<ModelCharaId, C
|
|||
MetaState = 0,
|
||||
}
|
||||
|
||||
public CreateCharacterBase(HookManager hooks)
|
||||
public CreateCharacterBase(Luna.HookManager hooks)
|
||||
: base("Create CharacterBase")
|
||||
=> _task = hooks.CreateHook<Delegate>(Name, Address, Detour, !HookOverrides.Instance.Objects.CreateCharacterBase);
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ namespace Penumbra.Interop.Hooks.Objects;
|
|||
/// EnableDraw is what creates DrawObjects for gameObjects,
|
||||
/// so we always keep track of the current GameObject to be able to link it to the DrawObject.
|
||||
/// </summary>
|
||||
public sealed unsafe class EnableDraw : IHookService
|
||||
public sealed unsafe class EnableDraw : Luna.IHookService
|
||||
{
|
||||
private readonly Task<Hook<Delegate>> _task;
|
||||
private readonly GameState _state;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
using Dalamud.Hooking;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData.Structs;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.Objects;
|
||||
|
||||
public sealed unsafe class WeaponReload : EventWrapperPtr<DrawDataContainer, Character, CharacterWeapon, WeaponReload.Priority>, IHookService
|
||||
public sealed unsafe class WeaponReload : EventWrapperPtr<DrawDataContainer, Character, CharacterWeapon, WeaponReload.Priority>, Luna.IHookService
|
||||
{
|
||||
public enum Priority
|
||||
{
|
||||
|
|
@ -14,7 +13,7 @@ public sealed unsafe class WeaponReload : EventWrapperPtr<DrawDataContainer, Cha
|
|||
DrawObjectState = 0,
|
||||
}
|
||||
|
||||
public WeaponReload(HookManager hooks)
|
||||
public WeaponReload(Luna.HookManager hooks)
|
||||
: base("Reload Weapon")
|
||||
=> _task = hooks.CreateHook<Delegate>(Name, Address, Detour, !HookOverrides.Instance.Objects.WeaponReload);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using Dalamud.Hooking;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.GameData;
|
||||
using Penumbra.GameData.Interop;
|
||||
|
|
@ -18,7 +17,7 @@ namespace Penumbra.Interop.Hooks.PostProcessing;
|
|||
/// <item>Parameter is the collection associated with the game object. </item>
|
||||
/// <item>Parameter is the slot that was recomputed. If this is Unknown, it is a general new update call. </item>
|
||||
/// </list> </summary>
|
||||
public sealed unsafe class AttributeHook : EventWrapper<Actor, Model, ModCollection, AttributeHook.Priority>, IHookService
|
||||
public sealed unsafe class AttributeHook : EventWrapper<Actor, Model, ModCollection, AttributeHook.Priority>, Luna.IHookService
|
||||
{
|
||||
public enum Priority
|
||||
{
|
||||
|
|
@ -29,7 +28,7 @@ public sealed unsafe class AttributeHook : EventWrapper<Actor, Model, ModCollect
|
|||
private readonly CollectionResolver _resolver;
|
||||
private readonly Configuration _config;
|
||||
|
||||
public AttributeHook(HookManager hooks, Configuration config, CollectionResolver resolver)
|
||||
public AttributeHook(Luna.HookManager hooks, Configuration config, CollectionResolver resolver)
|
||||
: base("Update Model Attributes")
|
||||
{
|
||||
_config = config;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ using Dalamud.Hooking;
|
|||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using FFXIVClientStructs.FFXIV.Client.System.Resource;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Interop.Hooks.ResourceLoading;
|
||||
using Penumbra.Interop.PathResolving;
|
||||
|
|
@ -13,7 +12,7 @@ using CharacterUtility = Penumbra.Interop.Services.CharacterUtility;
|
|||
|
||||
namespace Penumbra.Interop.Hooks.PostProcessing;
|
||||
|
||||
public sealed unsafe class PreBoneDeformerReplacer : IDisposable, IRequiredService
|
||||
public sealed unsafe class PreBoneDeformerReplacer : IDisposable, Luna.IRequiredService
|
||||
{
|
||||
public static readonly Utf8GamePath PreBoneDeformerPath =
|
||||
Utf8GamePath.FromSpan("chara/xls/boneDeformer/human.pbd"u8, MetaDataComputation.All, out var p) ? p : Utf8GamePath.Empty;
|
||||
|
|
@ -30,7 +29,7 @@ public sealed unsafe class PreBoneDeformerReplacer : IDisposable, IRequiredServi
|
|||
private readonly HumanSetupScalingHook _humanSetupScalingHook;
|
||||
|
||||
public PreBoneDeformerReplacer(CharacterUtility utility, CollectionResolver collectionResolver, ResourceLoader resourceLoader,
|
||||
HookManager hooks, IFramework framework, CharacterBaseVTables vTables, HumanSetupScalingHook humanSetupScalingHook)
|
||||
Luna.HookManager hooks, IFramework framework, CharacterBaseVTables vTables, HumanSetupScalingHook humanSetupScalingHook)
|
||||
{
|
||||
_utility = utility;
|
||||
_collectionResolver = collectionResolver;
|
||||
|
|
|
|||
|
|
@ -2,17 +2,15 @@ using System.Collections.Immutable;
|
|||
using Dalamud.Hooking;
|
||||
using Dalamud.Plugin;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Utility.Signatures;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Kernel;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Render;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData;
|
||||
using Penumbra.Interop.Hooks.ResourceLoading;
|
||||
using Penumbra.Services;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.PostProcessing;
|
||||
|
||||
public unsafe class RenderTargetHdrEnabler : IService, IDisposable
|
||||
public unsafe class RenderTargetHdrEnabler : Luna.IService, IDisposable
|
||||
{
|
||||
/// <remarks> This array must be sorted by CreationOrder ascending. </remarks>
|
||||
private static readonly ImmutableArray<ForcedTextureConfig> ForcedTextureConfigs =
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ using FFXIVClientStructs.FFXIV.Client.Graphics.Render;
|
|||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using FFXIVClientStructs.FFXIV.Client.System.Resource.Handle;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.GameData;
|
||||
using Penumbra.GameData.Files.MaterialStructs;
|
||||
|
|
@ -18,7 +17,7 @@ using ModelRenderer = Penumbra.Interop.Services.ModelRenderer;
|
|||
|
||||
namespace Penumbra.Interop.Hooks.PostProcessing;
|
||||
|
||||
public sealed unsafe class ShaderReplacementFixer : IDisposable, IRequiredService
|
||||
public sealed unsafe class ShaderReplacementFixer : IDisposable, Luna.IRequiredService
|
||||
{
|
||||
public static ReadOnlySpan<byte> SkinShpkName
|
||||
=> "skin.shpk"u8;
|
||||
|
|
@ -107,7 +106,7 @@ public sealed unsafe class ShaderReplacementFixer : IDisposable, IRequiredServic
|
|||
=> _hairMaskState.MaterialCount;
|
||||
|
||||
public ShaderReplacementFixer(ResourceHandleDestructor resourceHandleDestructor, CharacterUtility utility, ModelRenderer modelRenderer,
|
||||
CommunicatorService communicator, HookManager hooks, CharacterBaseVTables vTables, HumanSetupScalingHook humanSetupScalingHook)
|
||||
CommunicatorService communicator, Luna.HookManager hooks, CharacterBaseVTables vTables, HumanSetupScalingHook humanSetupScalingHook)
|
||||
{
|
||||
_resourceHandleDestructor = resourceHandleDestructor;
|
||||
_communicator = communicator;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using Dalamud.Hooking;
|
||||
using Dalamud.Plugin.Services;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.String;
|
||||
using Penumbra.String.Classes;
|
||||
using Penumbra.String.Functions;
|
||||
|
|
@ -12,7 +11,7 @@ namespace Penumbra.Interop.Hooks.ResourceLoading;
|
|||
/// we use the fixed size buffers of their formats to only store pointers to the actual path instead.
|
||||
/// Then we translate the stored pointer to the path in CreateFileW, if the prefix matches.
|
||||
/// </summary>
|
||||
public unsafe class CreateFileWHook : IDisposable, IRequiredService
|
||||
public unsafe class CreateFileWHook : IDisposable, Luna.IRequiredService
|
||||
{
|
||||
public const int Size = 28;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
using Dalamud.Hooking;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Utility.Signatures;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData;
|
||||
using Penumbra.Interop.Structs;
|
||||
using Penumbra.Util;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.ResourceLoading;
|
||||
|
||||
public unsafe class FileReadService : IDisposable, IRequiredService
|
||||
public unsafe class FileReadService : IDisposable, Luna.IRequiredService
|
||||
{
|
||||
public FileReadService(PerformanceTracker performance, ResourceManagerService resourceManager, IGameInteropProvider interop)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
using System.IO.MemoryMappedFiles;
|
||||
using Iced.Intel;
|
||||
using OtterGui.Services;
|
||||
using PeNet;
|
||||
using Decoder = Iced.Intel.Decoder;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.ResourceLoading;
|
||||
|
||||
// A good chunk of this was blatantly stolen from Dalamud's SigScanner 'cause Winter could not be faffed, Winter will definitely not rewrite it later
|
||||
public unsafe class PeSigScanner : IDisposable, IService
|
||||
public unsafe class PeSigScanner : IDisposable, Luna.IService
|
||||
{
|
||||
private readonly MemoryMappedFile _file;
|
||||
private readonly MemoryMappedViewAccessor _textSection;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using FFXIVClientStructs.FFXIV.Client.System.Resource;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Interop.Hooks.Resources;
|
||||
|
|
@ -12,7 +11,7 @@ using FileMode = Penumbra.Interop.Structs.FileMode;
|
|||
|
||||
namespace Penumbra.Interop.Hooks.ResourceLoading;
|
||||
|
||||
public unsafe class ResourceLoader : IDisposable, IService
|
||||
public unsafe class ResourceLoader : IDisposable, Luna.IService
|
||||
{
|
||||
private readonly ResourceService _resources;
|
||||
private readonly FileReadService _fileReadService;
|
||||
|
|
|
|||
|
|
@ -4,13 +4,12 @@ using FFXIVClientStructs.FFXIV.Client.System.Resource;
|
|||
using FFXIVClientStructs.FFXIV.Client.System.Resource.Handle;
|
||||
using FFXIVClientStructs.Interop;
|
||||
using FFXIVClientStructs.STD;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.GameData;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.ResourceLoading;
|
||||
|
||||
public unsafe class ResourceManagerService : IRequiredService
|
||||
public unsafe class ResourceManagerService : Luna.IRequiredService
|
||||
{
|
||||
public ResourceManagerService(IGameInteropProvider interop)
|
||||
=> interop.InitializeFromAttributes(this);
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
using Dalamud.Hooking;
|
||||
using Dalamud.Interface.Windowing;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Utility.Signatures;
|
||||
using FFXIVClientStructs.FFXIV.Client.System.Resource;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.GameData;
|
||||
using Penumbra.Interop.SafeHandles;
|
||||
|
|
@ -15,7 +13,7 @@ using CSResourceHandle = FFXIVClientStructs.FFXIV.Client.System.Resource.Handle.
|
|||
|
||||
namespace Penumbra.Interop.Hooks.ResourceLoading;
|
||||
|
||||
public unsafe class ResourceService : IDisposable, IRequiredService
|
||||
public unsafe class ResourceService : IDisposable, Luna.IRequiredService
|
||||
{
|
||||
private readonly PerformanceTracker _performance;
|
||||
private readonly ResourceManagerService _resourceManager;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using Dalamud.Hooking;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Utility.Signatures;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.GameData;
|
||||
using Penumbra.Interop.Structs;
|
||||
|
|
@ -11,7 +10,7 @@ using TextureResourceHandle = Penumbra.Interop.Structs.TextureResourceHandle;
|
|||
|
||||
namespace Penumbra.Interop.Hooks.ResourceLoading;
|
||||
|
||||
public unsafe class RsfService : IDisposable, IRequiredService
|
||||
public unsafe class RsfService : IDisposable, Luna.IRequiredService
|
||||
{
|
||||
/// <summary>
|
||||
/// We need to be able to obtain the requested LoD level.
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
using OtterGui.Services;
|
||||
using Penumbra.Interop.PathResolving;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.Resources;
|
||||
|
||||
public sealed unsafe class ResolvePathHooks(HookManager hooks, CharacterBaseVTables vTables, PathState pathState) : IDisposable, IRequiredService
|
||||
public sealed unsafe class ResolvePathHooks(Luna.HookManager hooks, CharacterBaseVTables vTables, PathState pathState) : IDisposable, Luna.IRequiredService
|
||||
{
|
||||
// @formatter:off
|
||||
private readonly ResolvePathHooksBase _human = new("Human", hooks, pathState, vTables.HumanVTable, ResolvePathHooksBase.Type.Human);
|
||||
|
|
|
|||
|
|
@ -1,13 +1,10 @@
|
|||
using System.Text.Unicode;
|
||||
using Dalamud.Hooking;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.GameData.Enums;
|
||||
using Penumbra.GameData.Structs;
|
||||
using Penumbra.Interop.PathResolving;
|
||||
using Penumbra.Interop.Processing;
|
||||
using static FFXIVClientStructs.FFXIV.Client.Game.Character.ActionEffectHandler;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.Resources;
|
||||
|
||||
|
|
@ -50,7 +47,7 @@ public sealed unsafe class ResolvePathHooksBase : IDisposable
|
|||
|
||||
private readonly PathState _parent;
|
||||
|
||||
public ResolvePathHooksBase(string name, HookManager hooks, PathState parent, nint* vTable, Type type)
|
||||
public ResolvePathHooksBase(string name, Luna.HookManager hooks, PathState parent, nint* vTable, Type type)
|
||||
{
|
||||
_parent = parent;
|
||||
// @formatter:off
|
||||
|
|
@ -329,7 +326,7 @@ public sealed unsafe class ResolvePathHooksBase : IDisposable
|
|||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
|
||||
[return: NotNullIfNotNull(nameof(other))]
|
||||
private static Hook<T>? Create<T>(string name, HookManager hooks, nint address, Type type, T? other, T human) where T : Delegate
|
||||
private static Hook<T>? Create<T>(string name, Luna.HookManager hooks, nint address, Type type, T? other, T human) where T : Delegate
|
||||
{
|
||||
var del = type switch
|
||||
{
|
||||
|
|
@ -343,7 +340,7 @@ public sealed unsafe class ResolvePathHooksBase : IDisposable
|
|||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
|
||||
private static Hook<T> Create<T>(string name, HookManager hooks, nint address, T del) where T : Delegate
|
||||
private static Hook<T> Create<T>(string name, Luna.HookManager hooks, nint address, T del) where T : Delegate
|
||||
=> hooks.CreateHook(name, address, del).Result;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
using Dalamud.Hooking;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData;
|
||||
using Penumbra.Interop.Structs;
|
||||
using Penumbra.UI.ResourceWatcher;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.Resources;
|
||||
|
||||
public sealed unsafe class ResourceHandleDestructor : EventWrapperPtr<ResourceHandle, ResourceHandleDestructor.Priority>, IHookService
|
||||
public sealed unsafe class ResourceHandleDestructor : EventWrapperPtr<ResourceHandle, ResourceHandleDestructor.Priority>, Luna.IHookService
|
||||
{
|
||||
public enum Priority
|
||||
{
|
||||
|
|
@ -24,7 +23,7 @@ public sealed unsafe class ResourceHandleDestructor : EventWrapperPtr<ResourceHa
|
|||
ResourceWatcher,
|
||||
}
|
||||
|
||||
public ResourceHandleDestructor(HookManager hooks)
|
||||
public ResourceHandleDestructor(Luna.HookManager hooks)
|
||||
: base("Destroy ResourceHandle")
|
||||
=> _task = hooks.CreateHook<Delegate>(Name, Sigs.ResourceHandleDestructor, Detour,
|
||||
!HookOverrides.Instance.Resources.ResourceHandleDestructor);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ using Dalamud.Plugin.Services;
|
|||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
|
||||
using OtterGui.Extensions;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Manager;
|
||||
using Penumbra.GameData.Actors;
|
||||
|
|
@ -31,7 +30,7 @@ public sealed unsafe class CollectionResolver(
|
|||
TempCollectionManager tempCollections,
|
||||
DrawObjectState drawObjectState,
|
||||
HumanModelList humanModels)
|
||||
: IService
|
||||
: Luna.IService
|
||||
{
|
||||
/// <summary>
|
||||
/// Get the collection applying to the current player character
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using Dalamud.Game.ClientState.Objects.Types;
|
||||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData.Enums;
|
||||
using Penumbra.GameData.Interop;
|
||||
using Penumbra.Interop.Hooks.Objects;
|
||||
|
|
@ -9,7 +8,7 @@ using Penumbra.String;
|
|||
|
||||
namespace Penumbra.Interop.PathResolving;
|
||||
|
||||
public sealed class CutsceneService : IRequiredService, IDisposable
|
||||
public sealed class CutsceneService : Luna.IRequiredService, IDisposable
|
||||
{
|
||||
public const int CutsceneStartIdx = (int)ScreenActor.CutsceneStart;
|
||||
public const int CutsceneEndIdx = (int)ScreenActor.CutsceneEnd;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData.Interop;
|
||||
using Object = FFXIVClientStructs.FFXIV.Client.Graphics.Scene.Object;
|
||||
using Penumbra.GameData.Structs;
|
||||
|
|
@ -9,7 +8,7 @@ using Penumbra.Interop.Hooks.Objects;
|
|||
|
||||
namespace Penumbra.Interop.PathResolving;
|
||||
|
||||
public sealed class DrawObjectState : IDisposable, IReadOnlyDictionary<Model, (Actor, ObjectIndex, bool)>, IService
|
||||
public sealed class DrawObjectState : IDisposable, IReadOnlyDictionary<Model, (Actor, ObjectIndex, bool)>, Luna.IService
|
||||
{
|
||||
private readonly ObjectManager _objects;
|
||||
private readonly CreateCharacterBase _createCharacterBase;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Object;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Manager;
|
||||
using Penumbra.Communication;
|
||||
|
|
@ -12,7 +11,7 @@ using Penumbra.Services;
|
|||
namespace Penumbra.Interop.PathResolving;
|
||||
|
||||
public unsafe class IdentifiedCollectionCache : IDisposable, IEnumerable<(nint Address, ActorIdentifier Identifier, ModCollection Collection)>,
|
||||
IService
|
||||
Luna.IService
|
||||
{
|
||||
private readonly CommunicatorService _communicator;
|
||||
private readonly CharacterDestructor _characterDestructor;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.GameData.Structs;
|
||||
|
|
@ -35,7 +34,7 @@ namespace Penumbra.Interop.PathResolving;
|
|||
// ChangeCustomize and RspSetupCharacter, which is hooked here, as well as Character.CalculateHeight.
|
||||
|
||||
// GMP Entries seem to be only used by "48 8B ?? 53 55 57 48 83 ?? ?? 48 8B", which is SetupVisor.
|
||||
public sealed unsafe class MetaState : IDisposable, IService
|
||||
public sealed unsafe class MetaState : IDisposable, Luna.IService
|
||||
{
|
||||
public readonly Configuration Config;
|
||||
private readonly CommunicatorService _communicator;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using FFXIVClientStructs.FFXIV.Client.System.Resource;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Manager;
|
||||
|
|
@ -10,7 +9,7 @@ using Penumbra.Util;
|
|||
|
||||
namespace Penumbra.Interop.PathResolving;
|
||||
|
||||
public class PathResolver : IDisposable, IService
|
||||
public class PathResolver : IDisposable, Luna.IService
|
||||
{
|
||||
private readonly PerformanceTracker _performance;
|
||||
private readonly Configuration _config;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Interop.Services;
|
||||
using Penumbra.String;
|
||||
|
|
@ -6,7 +5,7 @@ using Penumbra.String;
|
|||
namespace Penumbra.Interop.PathResolving;
|
||||
|
||||
public sealed class PathState(CollectionResolver collectionResolver, MetaState metaState, CharacterUtility characterUtility)
|
||||
: IDisposable, IService
|
||||
: IDisposable, Luna.IService
|
||||
{
|
||||
public readonly CollectionResolver CollectionResolver = collectionResolver;
|
||||
public readonly MetaState MetaState = metaState;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Interop.Hooks.ResourceLoading;
|
||||
|
|
@ -13,7 +12,7 @@ namespace Penumbra.Interop.PathResolving;
|
|||
/// Those are loaded synchronously.
|
||||
/// Thus, we need to ensure the correct files are loaded when a material is loaded.
|
||||
/// </summary>
|
||||
public sealed unsafe class SubfileHelper : IDisposable, IReadOnlyCollection<KeyValuePair<nint, ResolveData>>, IService
|
||||
public sealed unsafe class SubfileHelper : IDisposable, IReadOnlyCollection<KeyValuePair<nint, ResolveData>>, Luna.IService
|
||||
{
|
||||
private readonly GameState _gameState;
|
||||
private readonly ResourceLoader _loader;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using System.Collections.Frozen;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Interop.Hooks.ResourceLoading;
|
||||
using Penumbra.Interop.Structs;
|
||||
|
|
@ -8,18 +7,18 @@ using Penumbra.String.Classes;
|
|||
|
||||
namespace Penumbra.Interop.Processing;
|
||||
|
||||
public interface IFilePostProcessor : IService
|
||||
public interface IFilePostProcessor : Luna.IService
|
||||
{
|
||||
public ResourceType Type { get; }
|
||||
public unsafe void PostProcess(ResourceHandle* resource, CiByteString originalGamePath, ReadOnlySpan<byte> additionalData);
|
||||
}
|
||||
|
||||
public unsafe class FilePostProcessService : IRequiredService, IDisposable
|
||||
public unsafe class FilePostProcessService : Luna.IRequiredService, IDisposable
|
||||
{
|
||||
private readonly ResourceLoader _resourceLoader;
|
||||
private readonly FrozenDictionary<ResourceType, IFilePostProcessor> _processors;
|
||||
|
||||
public FilePostProcessService(ResourceLoader resourceLoader, ServiceManager services)
|
||||
public FilePostProcessService(ResourceLoader resourceLoader, Luna.ServiceManager services)
|
||||
{
|
||||
_resourceLoader = resourceLoader;
|
||||
_processors = services.GetServicesImplementing<IFilePostProcessor>().ToFrozenDictionary(s => s.Type, s => s);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using System.Collections.Frozen;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.String;
|
||||
|
|
@ -7,18 +6,18 @@ using Penumbra.String.Classes;
|
|||
|
||||
namespace Penumbra.Interop.Processing;
|
||||
|
||||
public interface IPathPreProcessor : IService
|
||||
public interface IPathPreProcessor : Luna.IService
|
||||
{
|
||||
public ResourceType Type { get; }
|
||||
|
||||
public FullPath? PreProcess(ResolveData resolveData, CiByteString path, Utf8GamePath originalGamePath, bool nonDefault, FullPath? resolved);
|
||||
}
|
||||
|
||||
public class GamePathPreProcessService : IService
|
||||
public class GamePathPreProcessService : Luna.IService
|
||||
{
|
||||
private readonly FrozenDictionary<ResourceType, IPathPreProcessor> _processors;
|
||||
|
||||
public GamePathPreProcessService(ServiceManager services)
|
||||
public GamePathPreProcessService(Luna.ServiceManager services)
|
||||
{
|
||||
_processors = services.GetServicesImplementing<IPathPreProcessor>().ToFrozenDictionary(s => s.Type, s => s);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using Dalamud.Game.ClientState.Objects.Types;
|
||||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Object;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.GameData.Actors;
|
||||
using Penumbra.GameData.Data;
|
||||
|
|
@ -24,7 +23,7 @@ public class ResourceTreeFactory(
|
|||
ActorManager actors,
|
||||
PathState pathState,
|
||||
IFramework framework,
|
||||
ModManager modManager) : IService
|
||||
ModManager modManager) : Luna.IService
|
||||
{
|
||||
private static readonly string ParentDirectoryPrefix = $"..{Path.DirectorySeparatorChar}";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Utility.Signatures;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.GameData;
|
||||
using Penumbra.Interop.Structs;
|
||||
|
||||
namespace Penumbra.Interop.Services;
|
||||
|
||||
public unsafe class CharacterUtility : IDisposable, IRequiredService
|
||||
public unsafe class CharacterUtility : IDisposable, Luna.IRequiredService
|
||||
{
|
||||
public record struct InternalIndex(int Value);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.System.Framework;
|
||||
using FFXIVClientStructs.FFXIV.Component.GUI;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData;
|
||||
|
||||
namespace Penumbra.Interop.Services;
|
||||
|
||||
|
|
@ -10,7 +8,7 @@ namespace Penumbra.Interop.Services;
|
|||
/// Handle font reloading via game functions.
|
||||
/// May cause a interface flicker while reloading.
|
||||
/// </summary>
|
||||
public unsafe class FontReloader : IService
|
||||
public unsafe class FontReloader : Luna.IService
|
||||
{
|
||||
public bool Valid
|
||||
=> _reloadFontsFunc != null;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Render;
|
||||
using FFXIVClientStructs.FFXIV.Client.System.Resource.Handle;
|
||||
using OtterGui.Services;
|
||||
using ModelRendererData = FFXIVClientStructs.FFXIV.Client.Graphics.Render.ModelRenderer;
|
||||
|
||||
namespace Penumbra.Interop.Services;
|
||||
|
||||
public unsafe class ModelRenderer : IDisposable, IRequiredService
|
||||
public unsafe class ModelRenderer : IDisposable, Luna.IRequiredService
|
||||
{
|
||||
public bool Ready { get; private set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ using Dalamud.Game.ClientState.Objects.Types;
|
|||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Api;
|
||||
using Penumbra.Api.Enums;
|
||||
using Penumbra.Communication;
|
||||
|
|
@ -20,7 +19,7 @@ using Character = FFXIVClientStructs.FFXIV.Client.Game.Character.Character;
|
|||
|
||||
namespace Penumbra.Interop.Services;
|
||||
|
||||
public unsafe partial class RedrawService : IService
|
||||
public unsafe partial class RedrawService : Luna.IService
|
||||
{
|
||||
public const int GPosePlayerIdx = 201;
|
||||
public const int GPoseSlots = 42;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Utility.Signatures;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData;
|
||||
|
||||
namespace Penumbra.Interop.Services;
|
||||
|
||||
public unsafe class ResidentResourceManager : IService
|
||||
public unsafe class ResidentResourceManager : Luna.IService
|
||||
{
|
||||
// A static pointer to the resident resource manager address.
|
||||
[Signature(Sigs.ResidentResourceManager, ScanType = ScanType.StaticAddress)]
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ using Dalamud.Plugin.Services;
|
|||
using Dalamud.Utility.Signatures;
|
||||
using FFXIVClientStructs.FFXIV.Client.System.Scheduler.Resource;
|
||||
using Lumina.Excel.Sheets;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Communication;
|
||||
using Penumbra.GameData;
|
||||
|
|
@ -14,7 +13,7 @@ using Penumbra.String.Classes;
|
|||
|
||||
namespace Penumbra.Interop.Services;
|
||||
|
||||
public unsafe class SchedulerResourceManagementService : IService, IDisposable
|
||||
public unsafe class SchedulerResourceManagementService : Luna.IService, IDisposable
|
||||
{
|
||||
private static readonly CiByteString TmbExtension = new(".tmb"u8, MetaDataComputation.All);
|
||||
private static readonly CiByteString FolderPrefix = new("chara/action/"u8, MetaDataComputation.All);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using Dalamud.Bindings.ImGui;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Kernel;
|
||||
using OtterGui.Services;
|
||||
using SharpDX.Direct3D;
|
||||
using SharpDX.Direct3D11;
|
||||
|
||||
|
|
@ -9,7 +8,7 @@ namespace Penumbra.Interop.Services;
|
|||
/// <summary>
|
||||
/// Creates ImGui handles over slices of array textures, and manages their lifetime.
|
||||
/// </summary>
|
||||
public sealed unsafe class TextureArraySlicer : IUiService, IDisposable
|
||||
public sealed unsafe class TextureArraySlicer : Luna.IUiService, IDisposable
|
||||
{
|
||||
private const uint InitialTimeToLive = 2;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
using System.Collections.Frozen;
|
||||
using Dalamud.Plugin.Services;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData.Enums;
|
||||
using Penumbra.GameData.Files;
|
||||
|
||||
namespace Penumbra.Interop.Hooks.Meta;
|
||||
namespace Penumbra.Meta;
|
||||
|
||||
public sealed unsafe class AtchManager : IService
|
||||
public sealed unsafe class AtchManager : Luna.IService
|
||||
{
|
||||
private static readonly IReadOnlyList<GenderRace> GenderRaces =
|
||||
[
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
using Dalamud.Memory;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Utility.Signatures;
|
||||
using FFXIVClientStructs.FFXIV.Client.System.Memory;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.GameData;
|
||||
using Penumbra.Interop.Structs;
|
||||
using Penumbra.String.Functions;
|
||||
|
|
@ -42,7 +40,7 @@ public sealed class MarshalAllocator : IFileAllocator
|
|||
}
|
||||
}
|
||||
|
||||
public sealed unsafe class XivFileAllocator : IFileAllocator, IService
|
||||
public sealed unsafe class XivFileAllocator : IFileAllocator, Luna.IService
|
||||
{
|
||||
/// <summary>
|
||||
/// Allocate in the games space for file storage.
|
||||
|
|
@ -73,7 +71,7 @@ public sealed unsafe class XivFileAllocator : IFileAllocator, IService
|
|||
}
|
||||
}
|
||||
|
||||
public sealed unsafe class XivDefaultAllocator : IFileAllocator, IService
|
||||
public sealed unsafe class XivDefaultAllocator : IFileAllocator, Luna.IService
|
||||
{
|
||||
public T* Allocate<T>(int length, int alignment = 1) where T : unmanaged
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using Dalamud.Plugin.Services;
|
||||
using OtterGui.Compression;
|
||||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Manager;
|
||||
using Penumbra.GameData.Data;
|
||||
|
|
@ -15,7 +14,7 @@ using ResidentResourceManager = Penumbra.Interop.Services.ResidentResourceManage
|
|||
|
||||
namespace Penumbra.Meta;
|
||||
|
||||
public class MetaFileManager : IService
|
||||
public class MetaFileManager : Luna.IService
|
||||
{
|
||||
internal readonly Configuration Config;
|
||||
internal readonly CharacterUtility CharacterUtility;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using OtterGui.Services;
|
||||
using Penumbra.Collections;
|
||||
using Penumbra.Collections.Cache;
|
||||
using Penumbra.GameData.Enums;
|
||||
|
|
@ -9,7 +8,7 @@ using Penumbra.Meta.Manipulations;
|
|||
|
||||
namespace Penumbra.Meta;
|
||||
|
||||
public unsafe class ShapeAttributeManager : IRequiredService, IDisposable
|
||||
public unsafe class ShapeAttributeManager : Luna.IRequiredService, IDisposable
|
||||
{
|
||||
public const int NumSlots = 14;
|
||||
public const int ModelSlotSize = 18;
|
||||
|
|
|
|||
|
|
@ -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 = [];
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue