From af1e94543562fe0f1ad5bfa49f47115546da8af2 Mon Sep 17 00:00:00 2001 From: elasota Date: Sat, 15 Sep 2018 20:50:39 -0400 Subject: [PATCH] Initial version of VS natvis file --- .gitattributes | 1 + .gitignore | 3 - platform/windows/SCsub | 1 + platform/windows/godot.natvis | 129 ++++++++++++++++++++++++++++++++++ 4 files changed, 131 insertions(+), 3 deletions(-) create mode 100644 platform/windows/godot.natvis diff --git a/.gitattributes b/.gitattributes index 03c6f96f80e..47ba2b45bb0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,3 +9,4 @@ drivers/* linguist-vendored *.py eol=lf *.hpp eol=lf *.xml eol=lf +*.natvis eol=lf diff --git a/.gitignore b/.gitignore index 6db75f23249..64a0633bd32 100644 --- a/.gitignore +++ b/.gitignore @@ -98,9 +98,6 @@ bld/ # Hints for improving IntelliSense, created together with VS project cpp.hint -# Visualizers for the VS debugger -*.natvis - #NUNIT *.VisualState.xml TestResult.xml diff --git a/platform/windows/SCsub b/platform/windows/SCsub index 586533e817d..5dfb1592e01 100644 --- a/platform/windows/SCsub +++ b/platform/windows/SCsub @@ -29,6 +29,7 @@ prog = env.add_program('#bin/godot', common_win + res_obj, PROGSUFFIX=env["PROGS # Microsoft Visual Studio Project Generation if env['vsproj']: env.vs_srcs = env.vs_srcs + ["platform/windows/" + res_file] + env.vs_srcs = env.vs_srcs + ["platform/windows/godot.natvis"] for x in common_win: env.vs_srcs = env.vs_srcs + ["platform/windows/" + str(x)] diff --git a/platform/windows/godot.natvis b/platform/windows/godot.natvis new file mode 100644 index 00000000000..01963035a16 --- /dev/null +++ b/platform/windows/godot.natvis @@ -0,0 +1,129 @@ + + + + + (_cowdata && _cowdata->_ptr) ? (((const unsigned int *)(_cowdata->_ptr))[-1]) : 0 + + (_cowdata && _cowdata->_ptr) ? (((const unsigned int *)(_cowdata->_ptr))[-1]) : 0 + (_cowdata) ? (_cowdata->_ptr) : 0 + + + + + + + alloc ? (alloc->size / sizeof($T1)) : 0 + + alloc ? (alloc->size / sizeof($T1)) : 0 + alloc ? (($T1 *)alloc->mem) : 0 + + + + + + nil + {_data._bool} + {_data._int} + {_data._real} + {_data._transform2d} + {_data._aabb} + {_data._basis} + {_data._transform} + {*(Array *)_data._mem} + "" + {((String *)(&_data._mem[0]))->_cowdata._ptr,su} + {*(Vector2 *)_data._mem} + {*(Rect2 *)_data._mem} + {*(Vector3 *)_data._mem} + {*(Plane *)_data._mem} + {*(Quat *)_data._mem} + {*(Color *)_data._mem} + {*(NodePath *)_data._mem} + {*(RID *)_data._mem} + {*(Object *)_data._mem} + {*(Dictionary *)_data._mem} + {*(Array *)_data._mem} + {*(PoolByteArray *)_data._mem} + {*(PoolIntArray *)_data._mem} + {*(PoolRealArray *)_data._mem} + {*(PoolStringArray *)_data._mem} + {*(PoolVector2Array *)_data._mem} + {*(PoolVector3Array *)_data._mem} + {*(PoolColorArray *)_data._mem} + + ((String *)(&_data._mem[0]))->_cowdata._ptr,su + + + _data._bool + _data._int + _data._real + _data._transform2d + _data._aabb + _data._basis + _data._transform + *(Array *)_data._mem + *(String *)_data._mem + *(Vector2 *)_data._mem + *(Rect2 *)_data._mem + *(Vector3 *)_data._mem + *(Plane *)_data._mem + *(Quat *)_data._mem + *(Color *)_data._mem + *(NodePath *)_data._mem + *(RID *)_data._mem + *(Object *)_data._mem + *(Dictionary *)_data._mem + *(Array *)_data._mem + *(PoolByteArray *)_data._mem + *(PoolIntArray *)_data._mem + *(PoolRealArray *)_data._mem + *(PoolStringArray *)_data._mem + *(PoolVector2Array *)_data._mem + *(PoolVector3Array *)_data._mem + *(PoolColorArray *)_data._mem + + + + + empty + {this->_cowdata._ptr,su} + this->_cowdata._ptr,su + + + + {{{x},{y}}} + + x + y + + + + + {{{x},{y},{z}}} + + x + y + z + + + + + Quat {{{x},{y},{z},{w}}} + + x + y + z + w + + + + + Color {{{r},{g},{b},{a}}} + + r + g + b + a + + +