Files
UnrealEngine/Engine/Extras/VisualStudioDebugging/AUTOEXP.DAT_addons.txt
2025-05-18 13:04:45 +08:00

577 lines
11 KiB
Plaintext

[AutoExpand]
;------------------------------------------------------------------------------
; Unreal Engine classes - [AutoExpand] section
;------------------------------------------------------------------------------
; Unreal Engine
UObjectBase=<Name>, Class=<Class->Name>, Outer=<Outer->Name>
UObject=<Name>, Class=<Class->Name>, Outer=<Outer->Name>
FFontCharacter=X=<USize>,V=<VSize>
FGuid=<A,X>,<B,X>,<C,X>,<D,X>
TSetElement<*>=<Value>
FScriptInterface=<InterfacePointer> (<ObjectPointer>)
FScriptLocation=Pos=<CodeTop>, Line=<InputLine>
;------------------------------------------------------------------------------
; End Unreal Engine classes - [AutoExpand] section
;------------------------------------------------------------------------------
[Visualizer]
;------------------------------------------------------------------------------
; Unreal Engine classes - [Visualizer] Section
;------------------------------------------------------------------------------
FName {
preview
(
#if(!GFNameDebuggerVisualizersIsUE3)
(
#if(!GFNameTableForDebuggerVisualizers)
(
#if(($e.Index) < 0x100000)
(
#if(($e.Index) >= 0)
(
#if(!!GFNameTableForDebuggerVisualizers_MT)
(
#if(!!(((FNameEntry***)GFNameTableForDebuggerVisualizers_MT)[$e.Index / 0x4000]))
(
#if(!!(((FNameEntry***)GFNameTableForDebuggerVisualizers_MT)[$e.Index / 0x4000][$e.Index % 0x4000]))
(
#if(($e.Number) > 0)
(
#if(((((FNameEntry***)GFNameTableForDebuggerVisualizers_MT)[$e.Index / 0x4000][$e.Index % 0x4000])->Index) & 1)
(
#([(((FNameEntry***)GFNameTableForDebuggerVisualizers_MT)[$e.Index / 0x4000][$e.Index % 0x4000])->UniName, su], "_", ($e.Number)-1)
)
#else
(
#([(((FNameEntry***)GFNameTableForDebuggerVisualizers_MT)[$e.Index / 0x4000][$e.Index % 0x4000])->AnsiName, s], "_", ($e.Number)-1)
)
)
#else
(
#if(((((FNameEntry***)GFNameTableForDebuggerVisualizers_MT)[$e.Index / 0x4000][$e.Index % 0x4000])->Index) & 1)
(
#([(((FNameEntry***)GFNameTableForDebuggerVisualizers_MT)[$e.Index / 0x4000][$e.Index % 0x4000])->UniName, su])
)
#else
(
#([(((FNameEntry***)GFNameTableForDebuggerVisualizers_MT)[$e.Index / 0x4000][$e.Index % 0x4000])->AnsiName, s])
)
)
)
#else
(
"Invalid3_BogusEntry"
)
)
#else
(
"Invalid_BogusBucketPtr"
)
)
#else
(
"Invalid_BogusTablePtr"
)
)
#else
(
"Invalid_IndexNegative"
)
)
#else
(
"Invalid_IndexTooLarge"
)
)
#else
(
#if(($e.Index) < (GFNameTableForDebuggerVisualizers->ArrayNum))
(
#if(($e.Index) >= 0)
(
#if(($e.Number) > 0)
(
#if(((((FNameEntry**)GFNameTableForDebuggerVisualizers->AllocatorInstance.Data)[$e.Index])->Index) & 1)
(
#([(((FNameEntry**)GFNameTableForDebuggerVisualizers->AllocatorInstance.Data)[$e.Index])->UniName, su], "_", ($e.Number)-1)
)
#else
(
#([(((FNameEntry**)GFNameTableForDebuggerVisualizers->AllocatorInstance.Data)[$e.Index])->AnsiName, s], "_", ($e.Number)-1)
)
)
#else
(
#if(((((FNameEntry**)GFNameTableForDebuggerVisualizers->AllocatorInstance.Data)[$e.Index])->Index) & 1)
(
#([(((FNameEntry**)GFNameTableForDebuggerVisualizers->AllocatorInstance.Data)[$e.Index])->UniName, su])
)
#else
(
#([(((FNameEntry**)GFNameTableForDebuggerVisualizers->AllocatorInstance.Data)[$e.Index])->AnsiName, s])
)
)
)
#else
(
"UE3_InvalidNegativeIndex"
)
)
#else
(
"InvalidUE3_IndexTooLarge"
)
)
)
#else
(
#if(($e.Index) < ($e.Names.ArrayNum))
(
#if(($e.Index) >= 0)
(
#if(($e.Number) > 0)
(
#if(((((FNameEntry**)$e.Names.AllocatorInstance.Data)[$e.Index])->Index) & 1)
(
#([(((FNameEntry**)$e.Names.AllocatorInstance.Data)[$e.Index])->UniName, su], "_", ($e.Number)-1)
)
#else
(
#([(((FNameEntry**)$e.Names.AllocatorInstance.Data)[$e.Index])->AnsiName, s], "_", ($e.Number)-1)
)
)
#else
(
#if(((((FNameEntry**)$e.Names.AllocatorInstance.Data)[$e.Index])->Index) & 1)
(
#([(((FNameEntry**)$e.Names.AllocatorInstance.Data)[$e.Index])->UniName, su])
)
#else
(
#([(((FNameEntry**)$e.Names.AllocatorInstance.Data)[$e.Index])->AnsiName, s])
)
)
)
#else
(
"InvalidUE3_InvalidNegativeIndex_Site2"
)
)
#else
(
"InvalidUE3_IndexTooLarge_Site2"
)
)
)
}
TArray<*,TInlineAllocator<*,*> >|TArray<*,TFixedAllocator<*> > {
preview
(
#if(($e.ArrayNum) >= 0)
(
#if(($e.ArrayNum) == 0)
(
"Empty"
)
#else
(
#if(($e.ArrayNum) <= ($e.ArrayMax))
(
#("Num=", $e.ArrayNum)
)
#else
(
"Invalid"
)
)
)
#else
(
"Invalid"
)
)
children
(
#if(($e.ArrayNum) >= 0)
(
#if(($e.ArrayNum) <= ($e.ArrayMax))
(
#if(($e.ArrayNum) > 0)
(
#if(($e.ArrayNum) > $T2)
(
#(
#array
(
expr: *(($T1 *)$e.AllocatorInstance.SecondaryData.Data + $i),
size: $e.ArrayNum
),
#([Members]: [$e,!])
)
)
#else
(
#(
#array
(
expr: *(($T1 *)$e.AllocatorInstance.InlineData + $i),
size: $e.ArrayNum
),
#([Members]: [$e,!])
)
)
)
#else
(
[Members]: [$e,!]
)
)
)
)
}
TArray<*,*> {
preview
(
#if(($e.ArrayNum) >= 0)
(
#if(($e.ArrayNum) == 0)
(
"Empty"
)
#else
(
#if(($e.ArrayNum) <= ($e.ArrayMax))
(
#("Num=", $e.ArrayNum)
)
#else
(
"Invalid"
)
)
)
#else
(
"Invalid"
)
)
children
(
#if(($e.ArrayNum) >= 0)
(
#if(($e.ArrayNum) <= ($e.ArrayMax))
(
#if(($e.ArrayNum) > 0)
(
#(
#array
(
expr: *(($T1 *)$e.AllocatorInstance.Data + $i),
size: $e.ArrayNum
),
#([Members]: [$e,!])
)
)
#else
(
[Members]: [$e,!]
)
)
)
)
}
TIndirectArray<*,*> {
preview
(
#if(($e.ArrayNum) >= 0)
(
#if(($e.ArrayNum) == 0)
(
"Empty"
)
#else
(
#if(($e.ArrayNum) <= ($e.ArrayMax))
(
#("Num=", $e.ArrayNum)
)
#else
(
"Invalid"
)
)
)
#else
(
"Invalid"
)
)
children
(
#if(($e.ArrayNum) >= 0)
(
#if(($e.ArrayNum) <= ($e.ArrayMax))
(
#if(($e.ArrayNum) > 0)
(
#(
#array
(
expr: *(($T1 **)$e.AllocatorInstance.Data + $i),
size: $e.ArrayNum
),
#([Members]: [$e,!])
)
)
#else
(
[Members]: [$e,!]
)
)
)
)
}
TBitArray<*> {
preview
(
#($e.NumBits, " / ", $e.MaxBits)
)
children
(
#if(($e.NumBits >= 0) && ($e.NumBits <= $e.MaxBits))
(
#if($e.SecondaryData.Data != 0)
(
#array
(
expr: (((unsigned long*)$e.SecondaryData.Data)[$i / 0x20] >> ($i % 0x20)),
size: $e.NumBits
) : (bool)($e & 1)
)
#else
(
#array
(
expr: (((unsigned long*)$e.InlineData)[$i / 0x20] >> ($i % 0x20)),
size: $e.NumBits
) : (bool)($e & 1)
)
)
#else
(
"Invalid"
)
)
}
TSparseArray<*,*> {
preview
(
#if(($e.Data.ArrayNum) > 0)
(
#if(($e.Data.ArrayNum) <= ($e.Data.ArrayMax))
(
#("Num=", ($e.Data.ArrayNum- $e.NumFreeIndices))
)
#else
(
"Invalid"
)
)
#else
(
"Empty"
)
)
children
(
#if($e.Data.ArrayNum >= 0 && $e.Data.ArrayNum <= $e.Data.ArrayMax)
(
#if(($e.Data.ArrayNum) > 0)
(
#(
#array
(
expr: #if ($e.AllocationFlags.SecondaryData.Data != 0)
(
#if(((*((uint32*)($e.AllocationFlags.SecondaryData.Data + ($i/32))))>>$i)&1)
(
((($T1 *)$e.Data.AllocatorInstance.Data)[$i])
)
#else
(
#("Invalid")
)
)
#else
(
#if(((*((uint32*)($e.AllocationFlags.InlineData + ($i/32))))>>$i)&1)
(
((($T1 *)$e.Data.AllocatorInstance.Data)[$i])
)
#else
(
#("Invalid")
)
),
size: $e.Data.ArrayNum
),
#([Members]: [$e,!])
)
)
#else
(
#([Members]: [$e,!])
)
)
)
}
TSetElement<*> {
preview
(
#($e.Value)
)
}
TPair<*,*> {
preview
(
#("(", $e.Key, ", ", $e.Value, ")")
)
}
TMapBase<*,*,*,*,*>|TMap<*,*,*,*>|TMultiMap<*,*,*> {
preview
(
#if($c.Pairs.Elements.Data.ArrayNum - $c.Pairs.Elements.NumFreeIndices > 0)
(
#if(($c.Pairs.Elements.Data.ArrayNum - $c.Pairs.Elements.NumFreeIndices) <= ($c.Pairs.Elements.Data.ArrayMax))
(
#("Num=", ($c.Pairs.Elements.Data.ArrayNum - $c.Pairs.Elements.NumFreeIndices))
)
#else
(
"Invalid"
)
)
#else
(
"Empty"
)
)
children
(
#(
#array
(
expr: #if ($c.Pairs.Elements.AllocationFlags.SecondaryData.Data != 0)
(
#if(((*((uint32*)($c.Pairs.Elements.AllocationFlags.SecondaryData.Data + ($i/32))))>>$i)&1)
(
&((TSetElement<TPair<$T1,$T2> > *)$c.Pairs.Elements.Data.AllocatorInstance.Data)[$i]
)
#else
(
"Invalid"
)
)
#else
(
#if(((*((uint32*)($c.Pairs.Elements.AllocationFlags.InlineData + ($i/32))))>>$i)&1)
(
&((TSetElement<TPair<$T1,$T2> > *)$c.Pairs.Elements.Data.AllocatorInstance.Data)[$i]
)
#else
(
"Invalid"
)
),
size: (($c.Pairs.Elements.Data.ArrayNum - $c.Pairs.Elements.NumFreeIndices > 0) && ($c.Pairs.Elements.Data.ArrayNum <= $c.Pairs.Elements.Data.ArrayMax)) * $c.Pairs.Elements.Data.ArrayNum
) : $e.Value,
[Members]: [$c,!]
)
)
}
TDoubleLinkedList<*>|FEditPropertyChain {
children
(
#(
#list
(
head: $e.HeadNode,
next: NextNode,
size: $c.ListSize
) : $e.Value,
#([Members]: [$e,!])
)
)
}
FString|FStringOutputDevice {
preview
(
#if((($e.Data.ArrayNum) <= ($e.Data.ArrayMax)) && (($e.Data.ArrayNum) >= 0))
(
#("(", ($e.Data.ArrayNum - 1), ") ", [$e.Data.AllocatorInstance.Data,su])
)
#else ( "Invalid" )
)
stringview
(
#if((($e.Data.ArrayNum) <= ($e.Data.ArrayMax)) && (($e.Data.ArrayNum) >= 0)) ( [$e.Data.AllocatorInstance.Data,sub] )
#else ( "Invalid" )
)
}
FWeakObjectPtr|TWeakObjectPtr<*>|TAutoWeakObjectPtr<*>{
preview
(
#if ($e.ObjectSerialNumber < 1)
(
"NULL"
)
#else
(
#if (*((*(*GSerialNumberBlocksForDebugVisualizers + ($e.ObjectIndex / 0x4000))) + ($e.ObjectIndex % 0x4000)) != $e.ObjectSerialNumber)
(
"STALE"
)
#else
(
*((UObjectBase**)GObjectArrayForDebugVisualizers->AllocatorInstance.Data + $e.ObjectIndex)
)
)
)
children
(
#if ($e.ObjectSerialNumber > 0 && *((*(*GSerialNumberBlocksForDebugVisualizers + ($e.ObjectIndex / 0x4000))) + ($e.ObjectIndex % 0x4000)) == $e.ObjectSerialNumber)
(
#(
#([Target]: [*((UObjectBase**)GObjectArrayForDebugVisualizers->AllocatorInstance.Data + $e.ObjectIndex),!]),
#([Members]: [$e,!])
)
)
#else
(
#([Members]: [$e,!])
)
)
}
;------------------------------------------------------------------------------
; Unreal Engine classes - End of [Visualizer] Section
;------------------------------------------------------------------------------