From 8084f9b8f376a45ec16e9be43d51f0dcd04cbba2 Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Wed, 1 Sep 2021 20:36:03 +0200 Subject: [PATCH 1/2] Possible temporary fix against crashes. --- FFXIVClientStructs.Common.dll | Bin 0 -> 5120 bytes FFXIVClientStructs.Generators.dll | Bin 0 -> 34304 bytes FFXIVClientStructs.dll | Bin 0 -> 219648 bytes Penumbra/Interop/GameResourceManagement.cs | 10 +++++++ Penumbra/Penumbra.csproj | 31 +++++++++++---------- Penumbra/Plugin.cs | 1 + 6 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 FFXIVClientStructs.Common.dll create mode 100644 FFXIVClientStructs.Generators.dll create mode 100644 FFXIVClientStructs.dll diff --git a/FFXIVClientStructs.Common.dll b/FFXIVClientStructs.Common.dll new file mode 100644 index 0000000000000000000000000000000000000000..69fee26d2839bc6eddb5ad456093d2543971bbde GIT binary patch literal 5120 zcmeHKVQd`56@I&WzMP%JaY#ZFP|`I{TNB9YoCHdON$>3QC5AXQzKbzn$+vemzAV|> zJ$Cn!SSZC+ThyxkK`E;EfmHZ|_z|Rtf{IWpg(|OB$eYc<9>b*Yr zj&kbyVEL@&>n+c1cxF?tnU3QIdR6FN+tDpYFHD#8rdt=r)~$W}BhxbzM5h#u?)%AG zZ^W~`Pj~5?l`PQ~NYbJ7>j%*4s5w-k0ZFT&-z;GNWmy42&PAij_gR(y-8N!bgz|^G ziKdyz5&en-vA$G7H?9p6mDl%u8m|*&68#zQClkC8h>HREd;0+BlWUFq1}BS7R53i? ztAUfgllp=^)^^g66Z7 zed;q9nmT|M9;6Q3rD~TXaZDZFO4J87?nktx9#$mV9&Wvk8h5LyOWdpWT#}tIigZXF z=-QI(Sn1(0CGwcpfBuM(H4bMFj~wL{^pFi4g}I?`6TOZ$%XBI5ET`eK#vj=V+MzQg z`U_}Im!T79CJSh9g5L>`hsJET3Z4trqdd0v6{VM%50%4odl;{6VA&3a5N|8DShL)U zJJ4cUDcgjW8CiwC$(utDMK~~^(y%r#pwYWhGOYE|HN<;65RnG< z(cQoStc3BX#Jt2wiH}NrT%rZsMa#f6JuNW18@a1g~a*Aw8(^yX}g~5~f3a6)ookX9iQ7fSea9sLjA$ zWOr&M&Mgd;+!5@B`DSn_gXd(=krtZnI_C!aE@x z;hBM`=L5Vds_j5fhdSe%4bkDKAgb*~!>rl~S>E?WvuZDwtsp5bn;sTl#Q7*LxZb(0 zjaa{kx#xuETduRQbJAIIy(XgOI;MR~t#Q{`vKnnTzsAU%x3R4mR<&W+oaa00y8F{^LDTGMrmx@||}I>W`1Eo2C8 zJuJ%5D67bd^NWmH;Civ8f@L-w*GCfju_*Q}jGgdG!aHx(gdgPye8n>WwzK#!A$&Pu zn5*Q&iYpAOkdKV)QKp?_y5$qSa>vd!hw$a#YK zJ-6H}TwfI0gj^G*FG6MnM>&2tP!;Nt49-|SFyTl}IugR_!9BkuWom|+N^Vlt3`Y)cI z{Y`au`KOiV2Dg2L<;7)Jd~J>ei8j9ag`&lA*DKielxaEC^lPpsgnV{n@9NiZysZyW z!qk`K|3?J){)gv=aA8?f!rL{T!VPj(<8O!g98rZYxKXKSM?lR{i57tqGz)4HUs|WZ zPXdeKR~P*{_0Lbj8w5XHT*CHSAtUe8;R`1cpeabLIoz#0*s*ZG7qIEj61h@ozZ_LY zuL-G-eiQdr3%yQc^7uTjzSA} zYF=rB&SFNwtA?P@K1@e)-XZoOjt_HTv_Fq8;Xck_4j1!F^e0rf}3^H=K6?t w<4yQZ;=RdZKYYZbi43z54IR0&c9*(ic(1;|f?#ifx#449pv^B${m(?;-_<1U`v3p{ literal 0 HcmV?d00001 diff --git a/FFXIVClientStructs.Generators.dll b/FFXIVClientStructs.Generators.dll new file mode 100644 index 0000000000000000000000000000000000000000..19281c9382b6928b515c039853ef2ac0b7605f23 GIT binary patch literal 34304 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⊂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 literal 0 HcmV?d00001 diff --git a/Penumbra/Interop/GameResourceManagement.cs b/Penumbra/Interop/GameResourceManagement.cs index a0f00ecc..8731afca 100644 --- a/Penumbra/Interop/GameResourceManagement.cs +++ b/Penumbra/Interop/GameResourceManagement.cs @@ -3,6 +3,7 @@ using System.Runtime.InteropServices; using Dalamud.Plugin; using Penumbra.Structs; using Reloaded.Hooks.Definitions.X64; +using ResourceHandle = FFXIVClientStructs.FFXIV.Client.System.Resource.Handle.ResourceHandle; namespace Penumbra.Interop { @@ -86,9 +87,11 @@ namespace Penumbra.Interop for( var i = 0; i < NumResources; i++ ) { + var handle = ( ResourceHandle* )oldResources[ i ]; if( oldResources[ i ].ToPointer() == pResources[ i ] ) { PluginLog.Debug( $"Unchanged resource: {ResourceToPath( ( byte* )oldResources[ i ].ToPointer() )}" ); + ( ( ResourceHandle* )oldResources[ i ] )->DecRef(); continue; } @@ -97,6 +100,13 @@ namespace Penumbra.Interop + $"{ResourceToPath( ( byte* )pResources[ i ] )}" ); UnloadCharacterResource( oldResources[ i ] ); + // Temporary fix against crashes? + if( handle->RefCount <= 0 ) + { + handle->RefCount = 1; + handle->IncRef(); + handle->RefCount = 1; + } } } } diff --git a/Penumbra/Penumbra.csproj b/Penumbra/Penumbra.csproj index 1049ff78..9c9023b2 100644 --- a/Penumbra/Penumbra.csproj +++ b/Penumbra/Penumbra.csproj @@ -27,36 +27,31 @@ + - $(DALAMUD_ROOT)\Dalamud.dll - ..\libs\Dalamud.dll $(AppData)\XIVLauncher\addon\Hooks\dev\Dalamud.dll False - $(DALAMUD_ROOT)\ImGui.NET.dll - ..\libs\ImGui.NET.dll $(AppData)\XIVLauncher\addon\Hooks\dev\ImGui.NET.dll False - $(DALAMUD_ROOT)\ImGuiScene.dll - ..\libs\ImGuiScene.dll $(AppData)\XIVLauncher\addon\Hooks\dev\ImGuiScene.dll False - $(DALAMUD_ROOT)\Lumina.dll - ..\libs\Lumina.dll $(AppData)\XIVLauncher\addon\Hooks\dev\Lumina.dll False - $(DALAMUD_ROOT)\Lumina.Excel.dll - ..\libs\Lumina.Excel.dll $(AppData)\XIVLauncher\addon\Hooks\dev\Lumina.Excel.dll False + + ..\FFXIVClientStructs.dll + true + @@ -66,6 +61,14 @@ + + + + + + + + @@ -73,10 +76,10 @@ - - - - + + + + diff --git a/Penumbra/Plugin.cs b/Penumbra/Plugin.cs index fa2653b7..47e9d73e 100644 --- a/Penumbra/Plugin.cs +++ b/Penumbra/Plugin.cs @@ -48,6 +48,7 @@ namespace Penumbra public void Initialize( DalamudPluginInterface pluginInterface ) { + FFXIVClientStructs.Resolver.Initialize(); PluginInterface = pluginInterface; Service< DalamudPluginInterface >.Set( PluginInterface ); GameData.GameData.GetIdentifier( PluginInterface ); From e751a5dfffdf7c1493f3beebffa8b03d813a3607 Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Wed, 1 Sep 2021 21:15:10 +0200 Subject: [PATCH 2/2] Add the ResourceManager tab for debug mode. --- Penumbra/UI/MenuTabs/TabResourceManager.cs | 125 +++++++++++++++++++++ Penumbra/UI/SettingsMenu.cs | 3 +- 2 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 Penumbra/UI/MenuTabs/TabResourceManager.cs diff --git a/Penumbra/UI/MenuTabs/TabResourceManager.cs b/Penumbra/UI/MenuTabs/TabResourceManager.cs new file mode 100644 index 00000000..47ea0c8c --- /dev/null +++ b/Penumbra/UI/MenuTabs/TabResourceManager.cs @@ -0,0 +1,125 @@ +using System.Numerics; +using FFXIVClientStructs.FFXIV.Client.System.Resource; +using FFXIVClientStructs.STD; +using ImGuiNET; +using ResourceHandle = FFXIVClientStructs.FFXIV.Client.System.Resource.Handle.ResourceHandle; +using ResourceManager = FFXIVClientStructs.FFXIV.Client.System.Resource.ResourceManager; + +namespace Penumbra.UI +{ + public partial class SettingsInterface + { + private static string GetNodeLabel( string label, uint type, ulong count ) + { + var byte1 = type >> 24; + var byte2 = ( type >> 16 ) & 0xFF; + var byte3 = ( type >> 8 ) & 0xFF; + var byte4 = type & 0xFF; + return byte1 == 0 + ? $"{( char )byte2}{( char )byte3}{( char )byte4} - {count}###{label}{type}Debug" + : $"{( char )byte1}{( char )byte2}{( char )byte3}{( char )byte4} - {count}###{label}{type}Debug"; + } + + private unsafe void DrawResourceMap( string label, StdMap< uint, Pointer< ResourceHandle > >* typeMap ) + { + if( typeMap == null || !ImGui.TreeNodeEx( label ) ) + { + return; + } + + + if( typeMap->Count == 0 || !ImGui.BeginTable( $"##{label}_table", 4, ImGuiTableFlags.SizingFixedFit | ImGuiTableFlags.RowBg ) ) + { + ImGui.TreePop(); + return; + } + + ImGui.TableSetupColumn( "Hash", ImGuiTableColumnFlags.WidthFixed, 100 ); + ImGui.TableSetupColumn( "Ptr", ImGuiTableColumnFlags.WidthFixed, 100 ); + ImGui.TableSetupColumn( "Path", ImGuiTableColumnFlags.WidthFixed, ImGui.GetWindowContentRegionWidth() - 300 ); + ImGui.TableSetupColumn( "Refs", ImGuiTableColumnFlags.WidthFixed, 30 ); + ImGui.TableHeadersRow(); + + var node = typeMap->SmallestValue; + while( !node->IsNil ) + { + ImGui.TableNextRow(); + ImGui.TableNextColumn(); + ImGui.Text( node->KeyValuePair.Item1.ToString() ); + ImGui.TableNextColumn(); + var address = $"0x{( ulong )node->KeyValuePair.Item2.Value:X}"; + ImGui.Text( address ); + if( ImGui.IsItemClicked() ) + { + ImGui.SetClipboardText( address ); + } + + ImGui.TableNextColumn(); + ImGui.Text( node->KeyValuePair.Item2.Value->FileName.ToString() ); + ImGui.TableNextColumn(); + ImGui.Text( node->KeyValuePair.Item2.Value->RefCount.ToString() ); + node = node->Next(); + } + + ImGui.EndTable(); + ImGui.TreePop(); + } + + private unsafe void DrawCategoryContainer( string label, ResourceGraph.CategoryContainer container ) + { + var map = container.MainMap; + if( map == null || !ImGui.TreeNodeEx( $"{label} - {map->Count}###{label}Debug" ) ) + { + return; + } + + var node = map->SmallestValue; + while( !node->IsNil ) + { + DrawResourceMap( GetNodeLabel( label, node->KeyValuePair.Item1, node->KeyValuePair.Item2.Value->Count ), + node->KeyValuePair.Item2.Value ); + node = node->Next(); + } + + ImGui.TreePop(); + } + + private unsafe void DrawResourceManagerTab() + { + if( !ImGui.BeginTabItem( "Resource Manager Tab" ) ) + { + return; + } + + var resourceHandler = *( ResourceManager** )( _plugin.PluginInterface.TargetModuleScanner.Module.BaseAddress + 0x1D93AC0 ); + + if( resourceHandler == null ) + { + return; + } + + if( ImGui.BeginChild( "##ResourceManagerChild", -Vector2.One, true ) ) + { + DrawCategoryContainer( "Common", resourceHandler->ResourceGraph->CommonContainer ); + DrawCategoryContainer( "BgCommon", resourceHandler->ResourceGraph->BgCommonContainer ); + DrawCategoryContainer( "Bg", resourceHandler->ResourceGraph->BgContainer ); + DrawCategoryContainer( "Cut", resourceHandler->ResourceGraph->CutContainer ); + DrawCategoryContainer( "Chara", resourceHandler->ResourceGraph->CharaContainer ); + DrawCategoryContainer( "Shader", resourceHandler->ResourceGraph->ShaderContainer ); + DrawCategoryContainer( "Ui", resourceHandler->ResourceGraph->UiContainer ); + DrawCategoryContainer( "Sound", resourceHandler->ResourceGraph->SoundContainer ); + DrawCategoryContainer( "Vfx", resourceHandler->ResourceGraph->VfxContainer ); + DrawCategoryContainer( "UiScript", resourceHandler->ResourceGraph->UiScriptContainer ); + DrawCategoryContainer( "Exd", resourceHandler->ResourceGraph->ExdContainer ); + DrawCategoryContainer( "GameScript", resourceHandler->ResourceGraph->GameScriptContainer ); + DrawCategoryContainer( "Music", resourceHandler->ResourceGraph->MusicContainer ); + DrawCategoryContainer( "SqpackTest", resourceHandler->ResourceGraph->SqpackTestContainer ); + DrawCategoryContainer( "Debug", resourceHandler->ResourceGraph->DebugContainer ); + } + + ImGui.EndChild(); + + ImGui.EndTabItem(); + } + } +} \ No newline at end of file diff --git a/Penumbra/UI/SettingsMenu.cs b/Penumbra/UI/SettingsMenu.cs index 8e03c8d3..a0714b86 100644 --- a/Penumbra/UI/SettingsMenu.cs +++ b/Penumbra/UI/SettingsMenu.cs @@ -79,6 +79,7 @@ namespace Penumbra.UI if( DebugTabVisible ) { _base.DrawDebugTab(); + _base.DrawResourceManagerTab(); } ImGui.EndTabBar(); @@ -86,4 +87,4 @@ namespace Penumbra.UI } } } -} \ No newline at end of file +}