From b4b813fe5e05ef321cda034de6691d58cc8d5b9d Mon Sep 17 00:00:00 2001 From: Exter-N Date: Fri, 29 Mar 2024 20:05:25 +0100 Subject: [PATCH] Advanced Editing minor improvements --- OtterGui | 2 +- Penumbra.GameData | 2 +- .../UI/AdvancedWindow/ModEditWindow.Materials.cs | 3 ++- Penumbra/UI/AdvancedWindow/ModEditWindow.Models.cs | 2 +- .../AdvancedWindow/ModEditWindow.ShaderPackages.cs | 12 +++++++++--- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/OtterGui b/OtterGui index 4e06921d..b70c7cc2 160000 --- a/OtterGui +++ b/OtterGui @@ -1 +1 @@ -Subproject commit 4e06921da239788331a4527aa6a2943cf0e809fe +Subproject commit b70c7cc2f6c71f80884de30a237cab201d7fe150 diff --git a/Penumbra.GameData b/Penumbra.GameData index 66687643..45679aa3 160000 --- a/Penumbra.GameData +++ b/Penumbra.GameData @@ -1 +1 @@ -Subproject commit 66687643da2163c938575ad6949c8d0fbd03afe7 +Subproject commit 45679aa32cc37b59f5eeb7cf6bf5a3ea36c626e0 diff --git a/Penumbra/UI/AdvancedWindow/ModEditWindow.Materials.cs b/Penumbra/UI/AdvancedWindow/ModEditWindow.Materials.cs index fab41c7d..68b3717f 100644 --- a/Penumbra/UI/AdvancedWindow/ModEditWindow.Materials.cs +++ b/Penumbra/UI/AdvancedWindow/ModEditWindow.Materials.cs @@ -3,6 +3,7 @@ using Dalamud.Interface.Utility; using ImGuiNET; using OtterGui; using OtterGui.Raii; +using OtterGui.Widgets; using Penumbra.GameData.Files; using Penumbra.String.Classes; using Penumbra.UI.Classes; @@ -170,7 +171,7 @@ public partial class ModEditWindow using var t = ImRaii.TreeNode($"Additional Data (Size: {file.AdditionalData.Length})###AdditionalData"); if (t) - ImGuiUtil.TextWrapped(string.Join(' ', file.AdditionalData.Select(c => $"{c:X2}"))); + Widget.DrawHexViewer(file.AdditionalData); } private void DrawMaterialReassignmentTab() diff --git a/Penumbra/UI/AdvancedWindow/ModEditWindow.Models.cs b/Penumbra/UI/AdvancedWindow/ModEditWindow.Models.cs index 737c41d9..03f276ea 100644 --- a/Penumbra/UI/AdvancedWindow/ModEditWindow.Models.cs +++ b/Penumbra/UI/AdvancedWindow/ModEditWindow.Models.cs @@ -560,7 +560,7 @@ public partial class ModEditWindow { using var t = ImRaii.TreeNode($"Additional Data (Size: {_lastFile.RemainingData.Length})###AdditionalData"); if (t) - ImGuiUtil.TextWrapped(string.Join(' ', _lastFile.RemainingData.Select(c => $"{c:X2}"))); + Widget.DrawHexViewer(_lastFile.RemainingData); } return false; diff --git a/Penumbra/UI/AdvancedWindow/ModEditWindow.ShaderPackages.cs b/Penumbra/UI/AdvancedWindow/ModEditWindow.ShaderPackages.cs index 8d1c8cb7..070895b5 100644 --- a/Penumbra/UI/AdvancedWindow/ModEditWindow.ShaderPackages.cs +++ b/Penumbra/UI/AdvancedWindow/ModEditWindow.ShaderPackages.cs @@ -10,6 +10,7 @@ using Penumbra.GameData.Files; using Penumbra.GameData.Interop; using Penumbra.String; using static Penumbra.GameData.Files.ShpkFile; +using OtterGui.Widgets; namespace Penumbra.UI.AdvancedWindow; @@ -172,11 +173,16 @@ public partial class ModEditWindow ret |= DrawShaderPackageResourceArray("Samplers", "slot", false, shader.Samplers, true); ret |= DrawShaderPackageResourceArray("Unordered Access Views", "slot", true, shader.Uavs, true); - if (shader.AdditionalHeader.Length > 0) + if (shader.DeclaredInputs != 0) + ImRaii.TreeNode($"Declared Inputs: {shader.DeclaredInputs}", ImGuiTreeNodeFlags.Leaf | ImGuiTreeNodeFlags.Bullet).Dispose(); + if (shader.UsedInputs != 0) + ImRaii.TreeNode($"Used Inputs: {shader.UsedInputs}", ImGuiTreeNodeFlags.Leaf | ImGuiTreeNodeFlags.Bullet).Dispose(); + + if (shader.AdditionalHeader.Length > 8) { using var t2 = ImRaii.TreeNode($"Additional Header (Size: {shader.AdditionalHeader.Length})###AdditionalHeader"); if (t2) - ImGuiUtil.TextWrapped(string.Join(' ', shader.AdditionalHeader.Select(c => $"{c:X2}"))); + Widget.DrawHexViewer(shader.AdditionalHeader); } if (tab.Shpk.Disassembled) @@ -549,7 +555,7 @@ public partial class ModEditWindow { using var t = ImRaii.TreeNode($"Additional Data (Size: {tab.Shpk.AdditionalData.Length})###AdditionalData"); if (t) - ImGuiUtil.TextWrapped(string.Join(' ', tab.Shpk.AdditionalData.Select(c => $"{c:X2}"))); + Widget.DrawHexViewer(tab.Shpk.AdditionalData); } }