mirror of
https://github.com/s1lentq/ReGameDLL_CS.git
synced 2025-01-24 20:47:57 +03:00
[skip ci] VisualStudio: Add auto visualizer for some structures/classes
This commit is contained in:
parent
12f4e9bc79
commit
dc16b12d79
@ -133,6 +133,7 @@ static entity_field_alias_t custom_entity_field_alias[] =
|
|||||||
{ "animtime", 0 },
|
{ "animtime", 0 },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
edict_t *g_pEdicts = nullptr;
|
||||||
bool g_bServerActive = false;
|
bool g_bServerActive = false;
|
||||||
bool g_bItemCreatedByBuying = false;
|
bool g_bItemCreatedByBuying = false;
|
||||||
PLAYERPVSSTATUS g_PVSStatus[MAX_CLIENTS];
|
PLAYERPVSSTATUS g_PVSStatus[MAX_CLIENTS];
|
||||||
@ -3747,6 +3748,8 @@ void EXT_FUNC ServerDeactivate()
|
|||||||
|
|
||||||
void EXT_FUNC ServerActivate(edict_t *pEdictList, int edictCount, int clientMax)
|
void EXT_FUNC ServerActivate(edict_t *pEdictList, int edictCount, int clientMax)
|
||||||
{
|
{
|
||||||
|
g_pEdicts = pEdictList;
|
||||||
|
|
||||||
#ifdef REGAMEDLL_ADD
|
#ifdef REGAMEDLL_ADD
|
||||||
//
|
//
|
||||||
// Tells clients which version of player movement (pmove) the server is using
|
// Tells clients which version of player movement (pmove) the server is using
|
||||||
|
@ -809,6 +809,9 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="..\public\tier0\assert_dialog.rc" />
|
<ResourceCompile Include="..\public\tier0\assert_dialog.rc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Natvis Include="..\regamedll\types.natvis" />
|
||||||
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{70A2B904-B7DB-4C48-8DE0-AF567360D572}</ProjectGuid>
|
<ProjectGuid>{70A2B904-B7DB-4C48-8DE0-AF567360D572}</ProjectGuid>
|
||||||
<RootNamespace>ReGameDLL</RootNamespace>
|
<RootNamespace>ReGameDLL</RootNamespace>
|
||||||
|
@ -1070,4 +1070,9 @@
|
|||||||
<Filter>public\tier0</Filter>
|
<Filter>public\tier0</Filter>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Natvis Include="..\regamedll\types.natvis">
|
||||||
|
<Filter>regamedll</Filter>
|
||||||
|
</Natvis>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
107
regamedll/regamedll/types.natvis
Normal file
107
regamedll/regamedll/types.natvis
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a CBasePlayer -->
|
||||||
|
<Type Name="CBasePlayer">
|
||||||
|
<DisplayString>{{ { pev->pContainingEntity - g_pEdicts }, { pev->classname }, { pev->health }, { m_iTeam }, { m_iModelName } }}</DisplayString>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a CCSPlayer -->
|
||||||
|
<Type Name="CCSPlayer">
|
||||||
|
<AlternativeType Name="CCSPlayerWeapon" />
|
||||||
|
<DisplayString>{ *m_pContainingEntity }</DisplayString>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a CBasePlayerItem -->
|
||||||
|
<Type Name="CBasePlayerItem">
|
||||||
|
<DisplayString>{{ { pev->pContainingEntity - g_pEdicts }, { pev->classname } }}</DisplayString>
|
||||||
|
<Expand>
|
||||||
|
<LinkedListItems>
|
||||||
|
<HeadPointer>m_pNext</HeadPointer>
|
||||||
|
<NextPointer>m_pNext</NextPointer>
|
||||||
|
<ValueNode>(*this)</ValueNode>
|
||||||
|
</LinkedListItems>
|
||||||
|
</Expand>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a CBaseEntity -->
|
||||||
|
<Type Name="CBaseEntity">
|
||||||
|
<DisplayString>{{ { pev->pContainingEntity - g_pEdicts }, { pev->classname }, { pev->model } }}</DisplayString>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a edict_t -->
|
||||||
|
<Type Name="edict_s">
|
||||||
|
<DisplayString>{{ {this - g_pEdicts}, { v.classname }, { v.model } }}</DisplayString>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a entvars_t -->
|
||||||
|
<Type Name="entvars_s">
|
||||||
|
<DisplayString>{{ { pContainingEntity - g_pEdicts }, { classname }, { model } }}</DisplayString>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a QString -->
|
||||||
|
<Type Name="QString">
|
||||||
|
<DisplayString>{ &gpGlobals->pStringBase[m_string],s }</DisplayString>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a CUtlMemory<T> -->
|
||||||
|
<Type Name="CUtlMemory<*>">
|
||||||
|
<DisplayString>allocator</DisplayString>
|
||||||
|
<Expand>
|
||||||
|
<Item Name="[data]" ExcludeView="simple">($T1 *)m_pMemory</Item>
|
||||||
|
<Item Name="[capacity]" ExcludeView="simple">m_nAllocationCount</Item>
|
||||||
|
<Item Name="[growsize]" ExcludeView="simple">m_nGrowSize</Item>
|
||||||
|
</Expand>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a CUtlVector<T> -->
|
||||||
|
<Type Name="CUtlVector<*>">
|
||||||
|
<DisplayString>{{ size = { m_Size } }}</DisplayString>
|
||||||
|
<Expand>
|
||||||
|
<ArrayItems>
|
||||||
|
<Size>m_Size</Size>
|
||||||
|
<ValuePointer>(ElemType_t *)m_Memory.m_pMemory</ValuePointer>
|
||||||
|
</ArrayItems>
|
||||||
|
</Expand>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a linear indexing CUtlMap<K, T> -->
|
||||||
|
<Type Name="CUtlMap<*, *>">
|
||||||
|
<DisplayString>{{ size = { m_Tree.m_NumElements } }}</DisplayString>
|
||||||
|
<Expand>
|
||||||
|
<Item Name="[size]" ExcludeView="simple">m_Tree.m_NumElements</Item>
|
||||||
|
<Item Name="[allocator]">m_Tree.m_Elements</Item>
|
||||||
|
<CustomListItems MaxItemsPerView="200" ExcludeView="Test">
|
||||||
|
<Variable Name="iMap" InitialValue="0" />
|
||||||
|
<Loop Condition="iMap < m_Tree.m_NumElements">
|
||||||
|
<Item Name="[{((CTree::Node_t *)m_Tree.m_Elements.m_pMemory)[iMap].m_Data.key}]">((CTree::Node_t *)m_Tree.m_Elements.m_pMemory)[iMap].m_Data.elem</Item>
|
||||||
|
<Exec>iMap++</Exec>
|
||||||
|
</Loop>
|
||||||
|
</CustomListItems>
|
||||||
|
</Expand>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a CUtlArray<T, N> -->
|
||||||
|
<Type Name="CUtlArray<*>">
|
||||||
|
<DisplayString>{{ size = { $T2 } }}</DisplayString>
|
||||||
|
<Expand>
|
||||||
|
<ArrayItems>
|
||||||
|
<Size>$T2</Size>
|
||||||
|
<ValuePointer>($T1 *)&m_Memory[0]</ValuePointer>
|
||||||
|
</ArrayItems>
|
||||||
|
</Expand>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
<!-- Defining a visualizer for a linear indexing CUtlRBTree<T> -->
|
||||||
|
<Type Name="CUtlRBTree<*>">
|
||||||
|
<Expand>
|
||||||
|
<Item Name="[size]" ExcludeView="simple">m_NumElements</Item>
|
||||||
|
<Item Name="[allocator]">m_Elements</Item>
|
||||||
|
<IndexListItems>
|
||||||
|
<Size>m_NumElements</Size>
|
||||||
|
<ValueNode>((Node_t *)m_Elements.m_pMemory)[$i].m_Data</ValueNode>
|
||||||
|
</IndexListItems>
|
||||||
|
</Expand>
|
||||||
|
</Type>
|
||||||
|
|
||||||
|
</AutoVisualizer>
|
Loading…
x
Reference in New Issue
Block a user