From 2877e9f22ff846483cb6fe10da184247906ecd8a Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Sat, 26 Mar 2022 14:59:21 +0100 Subject: [PATCH] Small debugging changes. --- Penumbra.GameData/ByteString/Utf8RelPath.cs | 1 - .../Interop/Loader/ResourceLoader.Replacement.cs | 4 ++-- Penumbra/Interop/Resolver/PathResolver.Material.cs | 7 +++++++ Penumbra/Meta/Manager/MetaManager.Imc.cs | 1 + Penumbra/UI/MenuTabs/TabDebug.cs | 14 ++------------ 5 files changed, 12 insertions(+), 15 deletions(-) diff --git a/Penumbra.GameData/ByteString/Utf8RelPath.cs b/Penumbra.GameData/ByteString/Utf8RelPath.cs index f9321944..da7e9332 100644 --- a/Penumbra.GameData/ByteString/Utf8RelPath.cs +++ b/Penumbra.GameData/ByteString/Utf8RelPath.cs @@ -1,7 +1,6 @@ using System; using System.IO; using Dalamud.Utility; -using Microsoft.VisualBasic.CompilerServices; using Newtonsoft.Json; using Newtonsoft.Json.Linq; diff --git a/Penumbra/Interop/Loader/ResourceLoader.Replacement.cs b/Penumbra/Interop/Loader/ResourceLoader.Replacement.cs index 7e9089c7..d89a18b7 100644 --- a/Penumbra/Interop/Loader/ResourceLoader.Replacement.cs +++ b/Penumbra/Interop/Loader/ResourceLoader.Replacement.cs @@ -150,7 +150,6 @@ public unsafe partial class ResourceLoader return ReadSqPackHook.Original( resourceManager, fileDescriptor, priority, isSync ); } - byte ret = 0; // Paths starting with a '|' are handled separately to allow for special treatment. // They are expected to also have a closing '|'. if( ResourceLoadCustomization == null || gamePath.Path[ 0 ] != ( byte )'|' ) @@ -160,7 +159,8 @@ public unsafe partial class ResourceLoader // Split the path into the special-treatment part (between the first and second '|') // and the actual path. - var split = gamePath.Path.Split( ( byte )'|', 3, false ); + byte ret = 0; + var split = gamePath.Path.Split( ( byte )'|', 3, false ); fileDescriptor->ResourceHandle->FileNameData = split[ 2 ].Path; fileDescriptor->ResourceHandle->FileNameLength = split[ 2 ].Length; var funcFound = ResourceLoadCustomization.GetInvocationList() diff --git a/Penumbra/Interop/Resolver/PathResolver.Material.cs b/Penumbra/Interop/Resolver/PathResolver.Material.cs index 8569f547..5dcd2612 100644 --- a/Penumbra/Interop/Resolver/PathResolver.Material.cs +++ b/Penumbra/Interop/Resolver/PathResolver.Material.cs @@ -1,5 +1,6 @@ using System; using Dalamud.Hooking; +using Dalamud.Logging; using Dalamud.Utility.Signatures; using FFXIVClientStructs.FFXIV.Client.System.Resource; using Penumbra.GameData.ByteString; @@ -79,8 +80,14 @@ public unsafe partial class PathResolver if( Penumbra.CollectionManager.ByName( split.ToString(), out var collection ) ) { + PluginLog.Verbose( "Using MtrlLoadHandler with collection {$Split:l} for path {$Path:l}.", split, path ); SetCollection( path, collection ); } + else + { + PluginLog.Verbose( "Using MtrlLoadHandler with no collection for path {$Path:l}.", path ); + } + ret = Penumbra.ResourceLoader.DefaultLoadResource( path, resourceManager, fileDescriptor, priority, isSync ); PathCollections.TryRemove( path, out _ ); diff --git a/Penumbra/Meta/Manager/MetaManager.Imc.cs b/Penumbra/Meta/Manager/MetaManager.Imc.cs index fadd9545..4e3d302a 100644 --- a/Penumbra/Meta/Manager/MetaManager.Imc.cs +++ b/Penumbra/Meta/Manager/MetaManager.Imc.cs @@ -132,6 +132,7 @@ public partial class MetaManager return false; } + PluginLog.Verbose( "Using ImcLoadHandler for path {$Path:l}.", path ); ret = Penumbra.ResourceLoader.ReadSqPackHook.Original( resourceManager, fileDescriptor, priority, isSync ); if( Penumbra.CollectionManager.ByName( split.ToString(), out var collection ) && collection.Cache != null diff --git a/Penumbra/UI/MenuTabs/TabDebug.cs b/Penumbra/UI/MenuTabs/TabDebug.cs index 83ed25ee..756d69d2 100644 --- a/Penumbra/UI/MenuTabs/TabDebug.cs +++ b/Penumbra/UI/MenuTabs/TabDebug.cs @@ -1,21 +1,9 @@ using System; -using System.Collections.Generic; using System.IO; using System.Linq; using System.Numerics; -using System.Reflection; -using System.Runtime.InteropServices; -using Dalamud.Game.ClientState.Objects.Types; -using Dalamud.Interface; using ImGuiNET; -using Lumina.Excel.GeneratedSheets; using Penumbra.Api; -using Penumbra.GameData.Enums; -using Penumbra.GameData.Structs; -using Penumbra.Interop; -using Penumbra.Interop.Structs; -using Penumbra.Meta.Files; -using Penumbra.Meta.Manipulations; using Penumbra.UI.Custom; using CharacterUtility = Penumbra.Interop.CharacterUtility; using ResourceHandle = Penumbra.Interop.Structs.ResourceHandle; @@ -60,8 +48,10 @@ public partial class SettingsInterface PrintValue( "Mod Manager BasePath IsRooted", Path.IsPathRooted( Penumbra.Config.ModDirectory ).ToString() ); PrintValue( "Mod Manager BasePath Exists", Directory.Exists( manager.BasePath.FullName ).ToString() ); PrintValue( "Mod Manager Valid", manager.Valid.ToString() ); + PrintValue( "Path Resolver Enabled", _penumbra.PathResolver.Enabled.ToString() ); //PrintValue( "Resource Loader Enabled", _penumbra.ResourceLoader.IsEnabled.ToString() ); } + private void DrawDebugTabIpc() { if( !ImGui.CollapsingHeader( "IPC##Debug" ) )