; 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]... ; ; 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 =, rage::Vector3 =, , rage::Vector4 =, , , rage::Color32 = rage::Color64 = rage::Quaternion =, , , rage::ConstString = rage::atString = rage::atWString = ; RAGE VMath rage::ScalarV = rage::Vec2V = rage::Vec3V = rage::Vec4V = rage::QuatV = ;rage::Mat44V = | | | ;rage::Mat33V = | | ;rage::Mat34V = | | | rage::Vec2 = rage::Vec3 = rage::Vec4 = rage::Quat = __m128 = ; from windef.h tagPOINT =x= y= tagRECT =top= bottom= left= right= ; from winuser.h tagMSG =msg= wp= lp= ; intrinsics __m64 = __m128=$BUILTIN(M128) __m128i=$BUILTIN(M128I) __m128d=$BUILTIN(M128D) __vector4 =(, , , ) _com_error= _bstr_t=m_wstr,su> (m_RefCount,u>) _com_ptr_t<*>= _LARGE_INTEGER= ; 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<(atHashStringNamespaces)0>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash0); rage::atNamespacedHashString<(atHashStringNamespaces)1>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash1); rage::atNamespacedHashString<(atHashStringNamespaces)2>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash2); rage::atNamespacedHashString<(atHashStringNamespaces)3>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash3); rage::atNamespacedHashString<(atHashStringNamespaces)4>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash4); rage::atNamespacedHashString<(atHashStringNamespaces)5>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash5); rage::atNamespacedHashString<(atHashStringNamespaces)6>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash6); rage::atNamespacedHashString<(atHashStringNamespaces)7>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash7); rage::atNamespacedHashString<(atHashStringNamespaces)8>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash8); rage::atNamespacedHashString<(atHashStringNamespaces)9>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash9); rage::atNamespacedHashString<(atHashStringNamespaces)10>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash10); rage::atNamespacedHashString<(atHashStringNamespaces)11>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash11); rage::atNamespacedHashString<(atHashStringNamespaces)12>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash12); rage::atNamespacedHashString<(atHashStringNamespaces)13>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash13); rage::atNamespacedHashString<(atHashStringNamespaces)14>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash14); rage::atNamespacedHashString<(atHashStringNamespaces)15>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash15); rage::atNamespacedHashValue<(atHashStringNamespaces)0>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash0); rage::atNamespacedHashValue<(atHashStringNamespaces)1>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash1); rage::atNamespacedHashValue<(atHashStringNamespaces)2>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash2); rage::atNamespacedHashValue<(atHashStringNamespaces)3>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash3); rage::atNamespacedHashValue<(atHashStringNamespaces)4>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash4); rage::atNamespacedHashValue<(atHashStringNamespaces)5>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash5); rage::atNamespacedHashValue<(atHashStringNamespaces)6>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash6); rage::atNamespacedHashValue<(atHashStringNamespaces)7>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash7); rage::atNamespacedHashValue<(atHashStringNamespaces)8>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash8); rage::atNamespacedHashValue<(atHashStringNamespaces)9>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash9); rage::atNamespacedHashValue<(atHashStringNamespaces)10>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash10); rage::atNamespacedHashValue<(atHashStringNamespaces)11>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash11); rage::atNamespacedHashValue<(atHashStringNamespaces)12>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash12); rage::atNamespacedHashValue<(atHashStringNamespaces)13>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash13); rage::atNamespacedHashValue<(atHashStringNamespaces)14>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash14); rage::atNamespacedHashValue<(atHashStringNamespaces)15>=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_NamespacedHash15); rage::fwTransform=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_Transform) rage::strIndex=$ADDIN(x:\gta5\tools_ng\bin\eeaddin.dll,AddIn_strIndex) ;ANSI C++ Standard Template library std::basic_string,std::allocator >=$BUILTIN(NSTDSTRING) std::basic_string,std::allocator >=$BUILTIN(WSTDSTRING) std::basic_string,std::allocator >=$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= std::priority_queue<*>= first= last= std::stack<*> =size= std::binder1st<*>= op= value= std::binder2nd<*>= op= value= std::pair<*> =first= second= std::less<*>=lessthan std::greater<*>=greaterthan ;D3D structures _D3DBOX= _D3DCOLORVALUE= _D3DRECT= _D3DVECTOR= _D3DVECTOR4= ;D3DX structures D3DXCOLOR=rgba= D3DXMATRIX=<_D3DMATRIX._11,g>, <_D3DMATRIX._12,g>, <_D3DMATRIX._13,g>, <_D3DMATRIX._14,g> ... D3DXPLANE= D3DXQUATERNION= D3DXVECTOR2=, D3DXVECTOR3=, , D3DXVECTOR4=, , , ;XGraphics structures ;_D3DMATRIX needs to be defined last, or else it doesn't work. ;xboxmath.h _XMMATRIX=r=, , , ... _XMFLOAT2=, _XMHALF2=, _XMSHORT2=, _XMFLOAT3=, , _XMFLOAT4=, , , _XMHALF4=, , , _XMSHORT4=, , , _XMPACKED4=, , , _XMCOLOR=r= g= b= 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 [Visualizer] rage::netIpV4Address{ preview ( #( #(($c.m_Ip & 0xff000000) >> 24), ".", #(($c.m_Ip & 0xff0000) >> 16), ".", #(($c.m_Ip & 0xff00) >> 8), ".", #($c.m_Ip & 0xff) ) ) }