Files
2025-09-29 00:52:08 +02:00

237 lines
11 KiB
Plaintext
Executable File

; AutoExp.Dat - templates for automaticially expanding data
; Copyright(c) 1997-2001 Microsoft Corporation. All Rights Reserved.
;---------------------------------------------------------------
;
; While debugging, Data Tips and items in the Watch and Variable
; windows are automatically expanded to show their most important
; elements. The expansion follows the format given by the rules
; in this file. You can add rules for your types or change the
; predefined rules.
;
; For good examples, read the rules in this file.
;
; To find what the debugger considers the type of a variable to
; be, add it to the Watch window and look at the Type column.
;
; An AutoExpand rule is a line with the name of a type, an equals
; sign, and text with replaceable parts in angle brackets. The
; part in angle brackets names a member of the type and an
; optional Watch format specifier.
;
; AutoExpand rules use the following syntax. The equals sign (=),
; angle brackets (<>), and comma are taken literally. Square
; brackets ([]) indicate optional items.
;
; type=[text]<member[,format]>...
;
; type Name of the type (may be followed by <*> for template
; types such as the ATL types listed below).
;
; text Any text.Usually the name of the member to display,
; or a shorthand name for the member.
;
; member Name of a member to display.
;
; format Watch format specifier. One of the following:
;
; Letter Description Sample Display
; ------ -------------------------- ------------ -------------
; d,i Signed decimal integer 0xF000F065,d -268373915
; u Unsigned decimal integer 0x0065,u 101
; o Unsigned octal integer 0xF065,o 0170145
; x,X Hexadecimal integer 61541,X 0X0000F065
; l,h long or short prefix for 00406042,hx 0x0c22
; d, i, u, o, x, X
; f Signed floating-point 3./2.,f 1.500000
; e Signed scientific-notation 3./2.,e 1.500000e+000
; g Shorter of e and f 3./2.,g 1.5
; c Single character 0x0065,c 'e'
; s Zero-terminated string pVar,s "Hello world"
; su Unicode string pVar,su "Hello world"
;
; For details of other format specifiers see Help under:
; "format specifiers/watch variable"
;
; The special format <,t> specifies the name of the most-derived
; type of the object. This is especially useful with pointers or
; references to a base class.
;
; If there is no rule for a class, the base classes are checked for
; a matching rule.
;
; There are some special entries allowed in the AutoExpand section:
; $BUILTIN is used to display more complex types that need to do more
; than just show a member variable or two.
; $ADDIN allows external DLLs to be added to display even more complex
; types via the EE Add-in API. The first argument is the DLL name, the
; second argument is the name of the export from the DLL to use. For
; further information on this API see the sample called EEAddIn.
;
[AutoExpand]
; RAGE Standard data types
rage::Vector2 =<x,g>, <y,g>
rage::Vector3 =<x,g>, <y,g>, <z,g>
rage::Vector4 =<x,g>, <y,g>, <z,g>, <w,g>
rage::Color32 =<m_Color,x>
rage::Color64 =<m_Color,lx>
rage::Quaternion =<x,g>, <y,g>, <z,g>, <w,g>
rage::ConstString =<m_String,s>
rage::atString =<m_Data,s>
rage::atWString =<m_Data,su>
; RAGE VMath
rage::ScalarV = <v.x,g>
rage::Vec2V = <v.x,g> <v.y,g>
rage::Vec3V = <v.x,g> <v.y,g> <v.z,g>
rage::Vec4V = <v.x,g> <v.y,g> <v.z,g> <v.w,g>
rage::QuatV = <v.x,g> <v.y,g> <v.z,g> <v.w,g>
;rage::Mat44V = <m_col0.x,g> <m_col0.y,g> <m_col0.z,g> <m_col0.w,g> | <m_col1.x,g> <m_col1.y,g> <m_col1.z,g> <m_col1.w,g> | <m_col2.x,g> <m_col2.y,g> <m_col2.z,g> <m_col2.w,g> | <m_col3.x,g> <m_col3.y,g> <m_col3.z,g> <m_col3.w,g>
;rage::Mat33V = <m_col0.x,g> <m_col0.y,g> <m_col0.z,g> | <m_col1.x,g> <m_col1.y,g> <m_col1.z,g> | <m_col2.x,g> <m_col2.y,g> <m_col2.z,g>
;rage::Mat34V = <m_col0.x,g> <m_col0.y,g> <m_col0.z,g> | <m_col1.x,g> <m_col1.y,g> <m_col1.z,g> | <m_col2.x,g> <m_col2.y,g> <m_col2.z,g> | <m_col3.x,g> <m_col3.y,g> <m_col3.z,g>
rage::Vec2 = <v.x,g> <v.y,g>
rage::Vec3 = <v.x,g> <v.y,g> <v.z,g>
rage::Vec4 = <v.x,g> <v.y,g> <v.z,g> <v.w,g>
rage::Quat = <v.x,g> <v.y,g> <v.z,g> <v.w,g>
__m128 = <m128_f32[0],g> <m128_f32[1],g> <m128_f32[2],g> <m128_f32[3],g>
; from windef.h
tagPOINT =x=<x> y=<y>
tagRECT =top=<top> bottom=<bottom> left=<left> right=<right>
; from winuser.h
tagMSG =msg=<message,x> wp=<wParam,x> lp=<lParam,x>
; intrinsics
__m64 =<m64_i64,x>
__m128=$BUILTIN(M128)
__m128i=$BUILTIN(M128I)
__m128d=$BUILTIN(M128D)
__vector4 =(<x>, <y>, <z>, <w>)
_com_error=<m_hresult,hr>
_bstr_t=<m_Data->m_wstr,su> (<m_Data->m_RefCount,u>)
_com_ptr_t<*>=<m_pInterface>
_LARGE_INTEGER=<QuadPart>
; see EEAddIn sample for how to use these
; due to all kinds of interesting limitations of msdev this HAS to be a hardcoded absolute path
_SYSTEMTIME=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_SystemTime)
_FILETIME=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_FileTime)
rage::atHashString=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash0)
rage::atNonFinalHashString=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash0)
rage::atHashValue=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash0)
rage::atFinalHashString=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash1)
rage::atLiteralHashString=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash2)
rage::atLiteralHashValue=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash2)
rage::atDiagHashString=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash3);
rage::atDiagHashValue=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash3);
rage::atStatNameString=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash4);
rage::atStatNameValue=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash4);
rage::atNamespacedHashString<0>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash0);
rage::atNamespacedHashString<1>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash1);
rage::atNamespacedHashString<2>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash2);
rage::atNamespacedHashString<3>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash3);
rage::atNamespacedHashString<4>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash4);
rage::atNamespacedHashString<5>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash5);
rage::atNamespacedHashString<6>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash6);
rage::atNamespacedHashString<7>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash7);
rage::atNamespacedHashString<8>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash8);
rage::atNamespacedHashString<9>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash9);
rage::atNamespacedHashString<10>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash10);
rage::atNamespacedHashString<11>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash11);
rage::atNamespacedHashString<12>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash12);
rage::atNamespacedHashString<13>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash13);
rage::atNamespacedHashString<14>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash14);
rage::atNamespacedHashString<15>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash15);
rage::atNamespacedHashValue<0>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash0);
rage::atNamespacedHashValue<1>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash1);
rage::atNamespacedHashValue<2>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash2);
rage::atNamespacedHashValue<3>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash3);
rage::atNamespacedHashValue<4>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash4);
rage::atNamespacedHashValue<5>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash5);
rage::atNamespacedHashValue<6>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash6);
rage::atNamespacedHashValue<7>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash7);
rage::atNamespacedHashValue<8>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash8);
rage::atNamespacedHashValue<9>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash9);
rage::atNamespacedHashValue<10>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash10);
rage::atNamespacedHashValue<11>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash11);
rage::atNamespacedHashValue<12>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash12);
rage::atNamespacedHashValue<13>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash13);
rage::atNamespacedHashValue<14>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash14);
rage::atNamespacedHashValue<15>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash15);
rage::fwTransform=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_Transform)
;ANSI C++ Standard Template library
std::basic_string<char,std::char_traits<char>,std::allocator<char> >=$BUILTIN(NSTDSTRING)
std::basic_string<unsigned short,std::char_traits<unsigned short>,std::allocator<unsigned short> >=$BUILTIN(WSTDSTRING)
std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >=$BUILTIN(WSTDSTRING)
std::map<*>=size=<_Mysize>
std::vector<*>= first=<_First> last=<_Last>
std::list<*> =size=<_Mysize>
std::multimap<*>=size=<_Mysize>
std::set<*> =size=<_Mysize>
std::deque<*> =size=<_Mysize>
std::queue<*> =size=<c._Mysize>
std::priority_queue<*>= first=<c._First> last=<c._Last>
std::stack<*> =size=<c._Mysize>
std::binder1st<*>= op=<op> value=<value>
std::binder2nd<*>= op=<op> value=<value>
std::pair<*> =first=<first> second=<second>
std::less<*>=lessthan
std::greater<*>=greaterthan
;D3D structures
_D3DBOX=<Left,d> <Top,d> <Right,d> <Bottom,d> <Front,d> <Back,d>
_D3DCOLORVALUE=<r,g> <g,g> <b,g> <a,g>
_D3DRECT=<x1,d> <y1,d> <x2,d> <y2,d>
_D3DVECTOR=<x,g> <y,g> <z,g>
_D3DVECTOR4=<x,g> <y,g> <z,g> <w,g>
;D3DX structures
D3DXCOLOR=rgba=<r,g> <g,g> <b,g> <a,g>
D3DXMATRIX=<_D3DMATRIX._11,g>, <_D3DMATRIX._12,g>, <_D3DMATRIX._13,g>, <_D3DMATRIX._14,g> ...
D3DXPLANE=<a,g> <b,g> <c,g> <d,g>
D3DXQUATERNION=<x,g> <y,g> <z,g> <w,g>
D3DXVECTOR2=<x,g>, <y,g>
D3DXVECTOR3=<x,g>, <y,g>, <z,g>
D3DXVECTOR4=<x,g>, <y,g>, <z,g>, <w,g>
;XGraphics structures
;_D3DMATRIX needs to be defined last, or else it doesn't work.
;xboxmath.h
_XMMATRIX=r=<r[0],g>, <r[1],g>, <r[2],g>, <r[3],g> ...
_XMFLOAT2=<x,g>, <y,g>
_XMHALF2=<x>, <y>
_XMSHORT2=<x,hd>, <y,hd>
_XMFLOAT3=<x,g>, <y,g>, <z,g>
_XMFLOAT4=<x,g>, <y,g>, <z,g>, <w,g>
_XMHALF4=<x>, <y>, <z>, <w>
_XMSHORT4=<x,hd>, <y,hd>, <z,hd>, <w,hd>
_XMPACKED4=<x>, <y>, <z>, <w>
_XMCOLOR=r=<r> g=<g> b=<b> a=<a>
_D3DMATRIX=<_11,g>, <_12,g>, <_13,g>, <_14,g> ...
_XMFLOAT3X3=<_11,g>, <_12,g>, <_13,g> ...
_XMFLOAT4X3=<_11,g>, <_12,g>, <_13.g> ...
_XMFLOAT4X4=<_11,g>, <_12,g>, <_13,g>, <_14,g> ...
; This section lets you define your own errors for the HRESULT display.
; You need to list the error code in unsigned decimal, followed by the message.
; Changes will take effect the next time you redisplay the variable.
[hresult]
;1234=my custom error code