mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-30 20:33:43 +01:00
This commit is contained in:
parent
7717251c6a
commit
4c8ff40821
2 changed files with 25 additions and 4 deletions
|
|
@ -9,6 +9,7 @@ using OtterGui.Text;
|
|||
using Penumbra.Interop.Services;
|
||||
using Penumbra.Interop.Structs;
|
||||
using Penumbra.String;
|
||||
using Penumbra.Util;
|
||||
using ResidentResourceManager = Penumbra.Interop.Services.ResidentResourceManager;
|
||||
|
||||
namespace Penumbra.UI.Tabs.Debug;
|
||||
|
|
@ -178,10 +179,10 @@ public unsafe class GlobalVariablesDrawer(
|
|||
if (_schedulerFilterMap.Length is 0 || resource->Name.Buffer.IndexOf(_schedulerFilterMapU8.Span) >= 0)
|
||||
{
|
||||
ImUtf8.DrawTableColumn($"[{total:D4}]");
|
||||
ImUtf8.DrawTableColumn($"{resource->Name.Unk1}");
|
||||
ImUtf8.DrawTableColumn($"{resource->Name.GetField<ushort, SchedulerResource.ResourceName>(16)}"); // Unk1
|
||||
ImUtf8.DrawTableColumn(new CiByteString(resource->Name.Buffer, MetaDataComputation.None).Span);
|
||||
ImUtf8.DrawTableColumn($"{resource->Consumers}");
|
||||
ImUtf8.DrawTableColumn($"{resource->Unk1}"); // key
|
||||
ImUtf8.DrawTableColumn($"{PointerExtensions.GetField<uint, SchedulerResource>(resource, 120)}"); // key, Unk1
|
||||
ImGui.TableNextColumn();
|
||||
Penumbra.Dynamis.DrawPointer(resource);
|
||||
ImGui.TableNextColumn();
|
||||
|
|
@ -227,10 +228,10 @@ public unsafe class GlobalVariablesDrawer(
|
|||
if (_schedulerFilterList.Length is 0 || resource->Name.Buffer.IndexOf(_schedulerFilterListU8.Span) >= 0)
|
||||
{
|
||||
ImUtf8.DrawTableColumn($"[{total:D4}]");
|
||||
ImUtf8.DrawTableColumn($"{resource->Name.Unk1}");
|
||||
ImUtf8.DrawTableColumn($"{resource->Name.GetField<ushort, SchedulerResource.ResourceName>(16)}"); // Unk1
|
||||
ImUtf8.DrawTableColumn(new CiByteString(resource->Name.Buffer, MetaDataComputation.None).Span);
|
||||
ImUtf8.DrawTableColumn($"{resource->Consumers}");
|
||||
ImUtf8.DrawTableColumn($"{resource->Unk1}"); // key
|
||||
ImUtf8.DrawTableColumn($"{PointerExtensions.GetField<uint, SchedulerResource>(resource, 120)}"); // key, Unk1
|
||||
ImGui.TableNextColumn();
|
||||
Penumbra.Dynamis.DrawPointer(resource);
|
||||
ImGui.TableNextColumn();
|
||||
|
|
|
|||
20
Penumbra/Util/PointerExtensions.cs
Normal file
20
Penumbra/Util/PointerExtensions.cs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
namespace Penumbra.Util;
|
||||
|
||||
public static class PointerExtensions
|
||||
{
|
||||
public static unsafe ref TField GetField<TField, TPointer>(this ref TPointer reference, int offset)
|
||||
where TPointer : unmanaged
|
||||
where TField : unmanaged
|
||||
{
|
||||
var pointer = (byte*)Unsafe.AsPointer(ref reference) + offset;
|
||||
return ref *(TField*)pointer;
|
||||
}
|
||||
|
||||
public static unsafe ref TField GetField<TField, TPointer>(TPointer* itemPointer, int offset)
|
||||
where TPointer : unmanaged
|
||||
where TField : unmanaged
|
||||
{
|
||||
var pointer = (byte*)itemPointer + offset;
|
||||
return ref *(TField*)pointer;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue