Mostly Harmless
Difference between revisions of "User:00zX/UScript.xml"
From Unreal Wiki, The Unreal Engine Documentation Site
m |
|||
Line 27: | Line 27: | ||
<PROPERTY NAME="unindentThisLine" | <PROPERTY NAME="unindentThisLine" | ||
VALUE="^.*(default:\s*|case.*:.*)$" /> | VALUE="^.*(default:\s*|case.*:.*)$" /> | ||
+ | |||
+ | <PROPERTY NAME="lineUpClosingBracket" VALUE="true" /> | ||
</PROPS> | </PROPS> | ||
− | <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" | + | <RULES SET="WIP" IGNORE_CASE="TRUE"> |
− | + | <!-- default values section for class and structs --> | |
+ | <!--<SEQ_REGEXP HASH_CHARS="cp" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1" DELEGATE="CPPTEXT">(struct)?cpptext\s*$</SEQ_REGEXP>--> | ||
+ | <SPAN_REGEXP HASH_CHARS="st" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1" DELEGATE="CPPTEXT"> | ||
+ | <!--<BEGIN>structcpptext(\s*|\n)[{]$</BEGIN>--> | ||
+ | <BEGIN>structcpptext</BEGIN><!--\s([?]{3})[:]?\s+(.+?)$--> | ||
+ | <END>((.*[}].*){2})<!--(?!\.*;?\n*\.*)}--><!--(?!.*?[}]+.*?){3, }--></END> | ||
+ | |||
+ | <!--<END>(\s*\w*[}])\2</END>--> | ||
+ | <!--<END>{(?=\s*[}])\2}</END>--> | ||
+ | <!--<END>(?![{]\s*{3})\s*\w*[}]</END>--><!--(?![{]\s?)--> | ||
+ | </SPAN_REGEXP> | ||
+ | <!--(?!;(\s*|\n)$)[}]\n*$ --> | ||
+ | |||
+ | <!--\n*$(?!\s*[{]^.*[}]\n*$)--> | ||
+ | |||
+ | <!--(\s*\w*)(?!\s*\w*(?!{)})--> | ||
+ | |||
+ | <!--$\s*(?!\s*\w*{)--> | ||
+ | |||
+ | <!--<SPAN_REGEXP HASH_CHARS="cp" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1" DELEGATE="CPPTEXT"> | ||
+ | <BEGIN>cpptext(\s*|\n)</BEGIN> | ||
+ | <END>}(\s*|\n)(?![{].*[}])+$</END> | ||
+ | </SPAN_REGEXP>--> | ||
+ | |||
+ | <!--<SPAN AT_WHITESPACE_END="TRUE" TYPE="MARKUP" MATCH_TYPE="KEYWORD4"> | ||
+ | <BEGIN><</BEGIN> | ||
+ | <END>></END> | ||
+ | </SPAN>--> | ||
+ | |||
+ | <!--<SPAN_REGEXP AT_WORD_START="TRUE" TYPE="MARKUP" HASH_CHAR="<" DELEGATE="METADATA"> | ||
+ | <BEGIN><</BEGIN> | ||
+ | <END>></END> | ||
+ | </SPAN_REGEXP>--> | ||
+ | |||
+ | <!--<SEQ_REGEXP HASH_CHAR="<" TYPE="MARKUP" DELEGATE="METADATA"><\S*></SEQ_REGEXP>--> | ||
+ | |||
+ | <SPAN_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="<" TYPE="MARKUP" MATCH_TYPE="MARKUP"><!--<(\w*|\w*\B*)>--> | ||
+ | <BEGIN><\S*</BEGIN> | ||
+ | <END>></END> | ||
+ | </SPAN_REGEXP> | ||
+ | |||
+ | <!-- Standard Variable Keyword --> | ||
+ | <!--<SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD1">var\b[(\s*)]|var\s*[(\w)]</SEQ_REGEXP>--> | ||
+ | |||
+ | <!-- Special Editor version of variable declaration --> | ||
+ | <!--<SPAN_REGEXP AT_WORD_START="TRUE" HASH_CHARS="v" TYPE="KEYWORD4" MATCH_TYPE="KEYWORD1"> | ||
+ | <BEGIN>var\b[(\s*)]|var\s*[(\w)]</BEGIN> | ||
+ | <END>(?!\w[(])|)</END> | ||
+ | </SPAN_REGEXP>--> | ||
+ | |||
+ | <!--var(?=\s)|\b(?=\s*\([\w])--> | ||
+ | <!-- var\b|var(\s*)|var\s*(\w)--> | ||
+ | |||
+ | <!--<MARK_PREVIOUS TYPE="KEYWORD1" MATCH_TYPE="KEYWORD1">(?=(var(\b|\s*)[(]))</MARK_PREVIOUS>--> | ||
+ | <!--<SEQ_REGEXP HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD4">var\s*[(\s*\w*\s*)]\s*</SEQ_REGEXP>--><!--var(\b\s*|\b\s*[(\s*)]\s*|\s*[(\s*\w*\s*)]\s*)--> | ||
+ | <!--<SEQ_REGEXP HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD4">var[\s*(\s*\w*\s*)\s*]</SEQ_REGEXP>--> | ||
+ | <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD4">var\b\s+</SEQ_REGEXP> | ||
+ | <!--<SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD4">var\s*[(\s*)]</SEQ_REGEXP>--> | ||
+ | |||
+ | <SPAN_REGEXP HASH_CHARS="v" TYPE="KEYWORD4" MATCH_TYPE="KEYWORD1"> | ||
+ | <BEGIN>var(?!\b\s+\w*)(\b\s*[(\s*]|\s*[(\s*\w*])</BEGIN> | ||
+ | <END>)</END><!--(?!var?!\b(\s*\w*)*;\n)--> | ||
+ | </SPAN_REGEXP> | ||
+ | |||
+ | </RULES> | ||
+ | |||
+ | <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="0x[\p{XDigit}]+|\d+(\.\d*)?(e[+-]?\d+)?[fF]?"> | ||
<SPAN TYPE="COMMENT2" DELEGATE="COMMENT"> | <SPAN TYPE="COMMENT2" DELEGATE="COMMENT"> | ||
Line 108: | Line 176: | ||
<SEQ TYPE="OPERATOR">|</SEQ> | <SEQ TYPE="OPERATOR">|</SEQ> | ||
<SEQ TYPE="OPERATOR">:</SEQ> | <SEQ TYPE="OPERATOR">:</SEQ> | ||
− | + | <!-- <SEQ TYPE="OPERATOR"><</SEQ> | |
− | <SEQ TYPE="OPERATOR">></SEQ> | + | <SEQ TYPE="OPERATOR">></SEQ>--> |
<SEQ TYPE="OPERATOR">/</SEQ> | <SEQ TYPE="OPERATOR">/</SEQ> | ||
<SEQ TYPE="OPERATOR">?</SEQ> | <SEQ TYPE="OPERATOR">?</SEQ> | ||
Line 118: | Line 186: | ||
<!-- functions --> | <!-- functions --> | ||
− | <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS> | + | <!--<MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>--> |
<!-- static modifier --> | <!-- static modifier --> | ||
− | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="s" | + | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="s" TYPE="KEYWORD1">static\b(?!\s*\.)</SEQ_REGEXP> |
− | + | ||
− | + | ||
<!-- static function call --> | <!-- static function call --> | ||
− | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="s" | + | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="s" TYPE="KEYWORD2">static\b(?=\s*\.)</SEQ_REGEXP> |
− | + | ||
<!-- switch keyword --> | <!-- switch keyword --> | ||
− | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="s" | + | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="s" TYPE="KEYWORD1">switch\b(?=\s*\()</SEQ_REGEXP> |
− | + | ||
<!-- default switch case --> | <!-- default switch case --> | ||
− | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="d" | + | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="d" TYPE="KEYWORD1">default\b(?=\s*\:)</SEQ_REGEXP> |
− | + | ||
<!-- default value access --> | <!-- default value access --> | ||
− | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="d" | + | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="d" TYPE="KEYWORD2">default\b(?=\s*\.)</SEQ_REGEXP> |
− | + | ||
<!-- input variable modifier --> | <!-- input variable modifier --> | ||
− | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="i" | + | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="i" TYPE="KEYWORD1">input\b(?=\s*[\w>])</SEQ_REGEXP> |
− | + | ||
<!-- name datatype --> | <!-- name datatype --> | ||
− | <!-- <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="n" | + | <!-- <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="n" TYPE="KEYWORD3">name\b(?=\s*[\w>])</SEQ_REGEXP>--> |
− | + | ||
<!-- class keyword --> | <!-- class keyword --> | ||
− | <!-- <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="c" | + | <!-- <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="c" TYPE="KEYWORD1">class\b(?=\s*[\w])</SEQ_REGEXP>--> |
− | + | ||
<!-- class identifier?? --> | <!-- class identifier?? --> | ||
− | <!-- <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="c" | + | <!-- <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="c" TYPE="KEYWORD1">class\b(?=[\s*\w'])</SEQ_REGEXP>--> |
− | + | ||
− | <!-- class datatype --> | + | <!--<SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHARS="a<" TYPE="MARKUP" DELEGATE="METADATA">(?!array)<.*></SEQ_REGEXP>--> |
− | <!-- | + | |
− | + | <!-- class / array datatype --> | |
+ | <!--<SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHARS="ac" TYPE="KEYWORD1">array\b\s*<\s*class\b\s*<\s*\w*\s*>\s+></SEQ_REGEXP> | ||
+ | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHARS="ac" TYPE="INVALID">array\b\s*<\s*class\b\s*<\s*\w*\s*>></SEQ_REGEXP>--> | ||
+ | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHARS="ac" TYPE="KEYWORD1">(array|class)\b(?=\s*[<\s*(?!(array|class))\w*\s*>])</SEQ_REGEXP> | ||
+ | |||
+ | <SPAN_REGEXP HASH_CHAR="<" TYPE="MARKUP" MATCH_TYPE="MARKUP" DELEGATE="METADATA"> | ||
+ | <BEGIN>(?!(array)?\s*<(=)?)?<|(?!<\s*\d)?<</BEGIN> | ||
+ | <END><!--(?!>=)?-->></END><!--(>(?![=]))|(>[;])--> | ||
+ | </SPAN_REGEXP> | ||
<!-- delegate keyword --> | <!-- delegate keyword --> | ||
− | <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="d" | + | <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="d" TYPE="KEYWORD1">delegate\b(?=\s*[\w])</SEQ_REGEXP> |
− | + | ||
<!-- delegate datatype --> | <!-- delegate datatype --> | ||
− | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="d" | + | <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="d" TYPE="KEYWORD3">delegate\b(?=\s*[\w<>])</SEQ_REGEXP> |
− | + | ||
<!-- default values section for class and structs --> | <!-- default values section for class and structs --> | ||
Line 169: | Line 234: | ||
<END>}</END> | <END>}</END> | ||
</SPAN_REGEXP> | </SPAN_REGEXP> | ||
+ | |||
+ | <!-- Standard Variable Keyword --> | ||
+ | <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD4">var\b\s+(?![(])</SEQ_REGEXP> | ||
+ | |||
+ | <!-- Special Editor version of variable declaration --> | ||
+ | <SPAN_REGEXP HASH_CHARS="v" TYPE="KEYWORD4" MATCH_TYPE="KEYWORD1"> | ||
+ | <BEGIN>var(?!\b\s+\w*)(\b\s*[(\s*]|\s*[(\s*\w*])</BEGIN><!-- TODO: Compress me \b(\s*[(\s*])(\w*)? --> | ||
+ | <END>)</END> | ||
+ | </SPAN_REGEXP> | ||
+ | <!--"KEYWORD4"--> | ||
+ | <!--<SPAN_REGEXP AT_WORD_START="TRUE" HASH_CHARS="ca<" TYPE="MARKUP" MATCH_TYPE="MARKUP" DELEGATE="METADATA"> | ||
+ | <BEGIN>(?!(array|class)\b)(<\s*\w*)</BEGIN> | ||
+ | <END>></END> | ||
+ | </SPAN_REGEXP>--> | ||
+ | |||
+ | <!--(?!+\s*<)--> | ||
+ | <!--(?!\s+>\s*\w*)\s*\w*[;]--> | ||
+ | <!--<IMPORT DELEGATE="uscript::WIP"/>--> | ||
<KEYWORDS> | <KEYWORDS> | ||
Line 174: | Line 257: | ||
<!-- Class Syntax --> | <!-- Class Syntax --> | ||
<KEYWORD1>Interface</KEYWORD1> | <KEYWORD1>Interface</KEYWORD1> | ||
− | <KEYWORD1>Class</KEYWORD1><!--db: added test--> | + | <!--<KEYWORD1>Class</KEYWORD1>--><!--db: added test--> |
<INVALID>Expands</INVALID><!-- only early UE1, shouldn't really be used --> | <INVALID>Expands</INVALID><!-- only early UE1, shouldn't really be used --> | ||
<KEYWORD1>Extends</KEYWORD1> | <KEYWORD1>Extends</KEYWORD1> | ||
− | |||
<!-- Class Syntax: Optional Specifiers --> | <!-- Class Syntax: Optional Specifiers --> | ||
Line 204: | Line 286: | ||
<KEYWORD1>EditConstArray</KEYWORD1><!-- only UE2 --> | <KEYWORD1>EditConstArray</KEYWORD1><!-- only UE2 --> | ||
<KEYWORD1>EditFixedSize</KEYWORD1><!-- since UE3 --> | <KEYWORD1>EditFixedSize</KEYWORD1><!-- since UE3 --> | ||
− | |||
− | |||
− | |||
<KEYWORD4>HideCategories</KEYWORD4><!-- UE2+ --> | <KEYWORD4>HideCategories</KEYWORD4><!-- UE2+ --> | ||
<KEYWORD4>HideDropDown</KEYWORD4><!-- UE2+ --> | <KEYWORD4>HideDropDown</KEYWORD4><!-- UE2+ --> | ||
− | |||
<KEYWORD4>NotPlaceable</KEYWORD4><!-- UE2+ --> | <KEYWORD4>NotPlaceable</KEYWORD4><!-- UE2+ --> | ||
<KEYWORD4>Placeable</KEYWORD4> | <KEYWORD4>Placeable</KEYWORD4> | ||
Line 215: | Line 293: | ||
<KEYWORD1>SafeReplace</KEYWORD1> | <KEYWORD1>SafeReplace</KEYWORD1> | ||
<KEYWORD1>ShowCategories</KEYWORD1><!-- since UE2 --> | <KEYWORD1>ShowCategories</KEYWORD1><!-- since UE2 --> | ||
+ | |||
+ | <!-- Object Specifiers --> | ||
+ | <KEYWORD4>EditInline</KEYWORD4><!-- since UE2 --> | ||
+ | <KEYWORD4>EditInlineUse</KEYWORD4><!-- UE2+ --> | ||
+ | <KEYWORD1>EditInlineNew</KEYWORD1><!-- since UE2 --> | ||
+ | <KEYWORD1>EditInlineNotify</KEYWORD1><!-- only UE2 --> | ||
+ | <KEYWORD4>NotEditInlineNew</KEYWORD4><!-- since UE2 --> | ||
<!--===================================================================================================--> | <!--===================================================================================================--> | ||
Line 221: | Line 306: | ||
<KEYWORD1>Cache</KEYWORD1><!-- only UE2 --> | <KEYWORD1>Cache</KEYWORD1><!-- only UE2 --> | ||
<KEYWORD1>CacheExempt</KEYWORD1><!-- only UE2 --> | <KEYWORD1>CacheExempt</KEYWORD1><!-- only UE2 --> | ||
− | |||
<KEYWORD1>Import</KEYWORD1> | <KEYWORD1>Import</KEYWORD1> | ||
<KEYWORD1>Init</KEYWORD1> | <KEYWORD1>Init</KEYWORD1> | ||
Line 233: | Line 317: | ||
<!-- Function Syntax: Primary Specifiers --> | <!-- Function Syntax: Primary Specifiers --> | ||
− | <KEYWORD1>cpptext</KEYWORD1><!-- only UE2? --> | + | <!--<KEYWORD1>cpptext</KEYWORD1>--><!-- only UE2? --> |
− | <KEYWORD1>cppstruct</KEYWORD1><!-- only UE2? --> | + | <!--<KEYWORD1>cppstruct</KEYWORD1>--><!-- only UE2? --> |
+ | <!--<KEYWORD1>structcpptext</KEYWORD1>--> | ||
<KEYWORD1>Event</KEYWORD1> | <KEYWORD1>Event</KEYWORD1> | ||
<KEYWORD1>Function</KEYWORD1> | <KEYWORD1>Function</KEYWORD1> | ||
Line 266: | Line 351: | ||
<!-- db: Secondary Keywords - grey/italic (like uncodex)--> | <!-- db: Secondary Keywords - grey/italic (like uncodex)--> | ||
<KEYWORD4>Self</KEYWORD4> | <KEYWORD4>Self</KEYWORD4> | ||
− | <KEYWORD4>Owner</KEYWORD4><!--common--> | + | <KEYWORD4>Outer</KEYWORD4><!--common--> |
+ | <COMMENT3>Owner</COMMENT3><!--common--> | ||
+ | <KEYWORD4>Instigator</KEYWORD4><!--common--> | ||
<KEYWORD4>Optional</KEYWORD4> | <KEYWORD4>Optional</KEYWORD4> | ||
<KEYWORD4>Out</KEYWORD4> | <KEYWORD4>Out</KEYWORD4> | ||
Line 275: | Line 362: | ||
<KEYWORD2>Super</KEYWORD2> | <KEYWORD2>Super</KEYWORD2> | ||
<KEYWORD2>Global</KEYWORD2> | <KEYWORD2>Global</KEYWORD2> | ||
+ | <INVALID>Null</INVALID> | ||
<!-- Function Syntax: Secondary Specifiers --> | <!-- Function Syntax: Secondary Specifiers --> | ||
<INVALID>Intrinsic</INVALID><!-- only early UE1, replaced by "native" --> | <INVALID>Intrinsic</INVALID><!-- only early UE1, replaced by "native" --> | ||
+ | <INVALID>Virtual</INVALID> | ||
<KEYWORD4>Static</KEYWORD4> | <KEYWORD4>Static</KEYWORD4> | ||
<KEYWORD4>Final</KEYWORD4> | <KEYWORD4>Final</KEYWORD4> | ||
Line 289: | Line 378: | ||
<KEYWORD1>Unreliable</KEYWORD1> | <KEYWORD1>Unreliable</KEYWORD1> | ||
<KEYWORD1>Automated</KEYWORD1><!-- only UE2 --> | <KEYWORD1>Automated</KEYWORD1><!-- only UE2 --> | ||
+ | <KEYWORD4>k2override</KEYWORD4><!-- UDK+ --> | ||
<!-- built-in type names --> | <!-- built-in type names --> | ||
<KEYWORD1>Const</KEYWORD1> | <KEYWORD1>Const</KEYWORD1> | ||
− | <KEYWORD1>Var</KEYWORD1> | + | <!--<KEYWORD1>Var</KEYWORD1>--> |
<KEYWORD1>Local</KEYWORD1> | <KEYWORD1>Local</KEYWORD1> | ||
<!-- db: modifed these to be keyword 1 from 3 --> | <!-- db: modifed these to be keyword 1 from 3 --> | ||
Line 304: | Line 394: | ||
<KEYWORD1>Struct</KEYWORD1> | <KEYWORD1>Struct</KEYWORD1> | ||
<KEYWORD1>Pointer</KEYWORD1><!-- UE2+ --> | <KEYWORD1>Pointer</KEYWORD1><!-- UE2+ --> | ||
− | <KEYWORD1>Array</KEYWORD1> | + | <!--<KEYWORD1>Array</KEYWORD1>--> |
+ | <KEYWORD1>Name</KEYWORD1> | ||
− | <KEYWORD1> | + | <KEYWORD1>vector</KEYWORD1> |
− | <KEYWORD1> | + | <KEYWORD1>rotator</KEYWORD1> |
<KEYWORD1>vector2d</KEYWORD1> | <KEYWORD1>vector2d</KEYWORD1> | ||
<KEYWORD1>color</KEYWORD1> | <KEYWORD1>color</KEYWORD1> | ||
+ | <KEYWORD1>quat</KEYWORD1> | ||
+ | <KEYWORD1>matrix</KEYWORD1> | ||
<!-- Variable Secondary (Syntax)Flags--> | <!-- Variable Secondary (Syntax)Flags--> | ||
Line 320: | Line 413: | ||
<KEYWORD4>RepNotify</KEYWORD4> | <KEYWORD4>RepNotify</KEYWORD4> | ||
<KEYWORD4>Transient</KEYWORD4> | <KEYWORD4>Transient</KEYWORD4> | ||
+ | <KEYWORD1>DuplicateTransient</KEYWORD1><!-- since UE3 --> | ||
<KEYWORD1>Instanced</KEYWORD1><!-- UE2+ --> | <KEYWORD1>Instanced</KEYWORD1><!-- UE2+ --> | ||
<KEYWORD1>DataBinding</KEYWORD1><!-- UE3+ --> | <KEYWORD1>DataBinding</KEYWORD1><!-- UE3+ --> | ||
Line 326: | Line 420: | ||
<KEYWORD1>Long</KEYWORD1><!-- UE2+ (struct) --> | <KEYWORD1>Long</KEYWORD1><!-- UE2+ (struct) --> | ||
<KEYWORD4>k2Call</KEYWORD4> | <KEYWORD4>k2Call</KEYWORD4> | ||
+ | <KEYWORD4>PrivateWrite</KEYWORD4> | ||
+ | <KEYWORD4>interp</KEYWORD4> | ||
+ | <KEYWORD4>Archetype</KEYWORD4> | ||
+ | <KEYWORD4>k2pure</KEYWORD4> | ||
+ | <!-- Editor --> | ||
<KEYWORD4>EditorOnly</KEYWORD4> | <KEYWORD4>EditorOnly</KEYWORD4> | ||
− | <KEYWORD4> | + | <KEYWORD4>EditHide</KEYWORD4> |
<!-- literals and special function calls --> | <!-- literals and special function calls --> | ||
<KEYWORD2>True</KEYWORD2> | <KEYWORD2>True</KEYWORD2> | ||
<KEYWORD2>False</KEYWORD2> | <KEYWORD2>False</KEYWORD2> | ||
+ | <KEYWORD2>enable</KEYWORD2> | ||
+ | <KEYWORD2>disable</KEYWORD2> | ||
<!-- literals --> | <!-- literals --> | ||
Line 344: | Line 445: | ||
<KEYWORD2>EnumCount</KEYWORD2> | <KEYWORD2>EnumCount</KEYWORD2> | ||
<KEYWORD2>Length</KEYWORD2><!-- UE2+ --> | <KEYWORD2>Length</KEYWORD2><!-- UE2+ --> | ||
+ | <KEYWORD2>PathName</KEYWORD2> | ||
− | + | </KEYWORDS> | |
+ | |||
+ | <!-- Expanded UnrealEngine highlighting rules --> | ||
+ | <IMPORT DELEGATE="uscript::UNREALENGINE"/> | ||
+ | |||
+ | </RULES> | ||
+ | |||
+ | <RULES SET="UNREALENGINE" IGNORE_CASE="TRUE"> | ||
+ | |||
+ | <!-- UnrealEngine functions --> | ||
+ | <SEQ_REGEXP HASH_CHAR="fi" TYPE="KEYWORD4">FindChild(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | <SEQ_REGEXP HASH_CHAR="is" TYPE="KEYWORD4">IsA(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | <SEQ_REGEXP HASH_CHAR="c" TYPE="KEYWORD4">ClassIsChildOf(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | |||
+ | <SEQ_REGEXP HASH_CHAR="isi" TYPE="KEYWORD4">IsInState(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | <SEQ_REGEXP HASH_CHAR="dr" TYPE="KEYWORD4">Draw3DLine(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | <SEQ_REGEXP HASH_CHAR="de" TYPE="KEYWORD4">DeProject(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | |||
+ | <SEQ_REGEXP HASH_CHAR="re" TYPE="KEYWORD4">ReplicateMove(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | <SEQ_REGEXP HASH_CHAR="pr" TYPE="KEYWORD4">ProcessMove(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | <SEQ_REGEXP HASH_CHAR="pl" TYPE="KEYWORD4">PlayerTick(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | |||
+ | <SEQ_REGEXP HASH_CHAR="po" TYPE="KEYWORD4">PostRender(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | <SEQ_REGEXP HASH_CHAR="ge" TYPE="KEYWORD4">GetEnum(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | <SEQ_REGEXP HASH_CHAR="fi" TYPE="KEYWORD4">FindObject(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | |||
+ | <SEQ_REGEXP HASH_CHAR="tr" TYPE="KEYWORD4">Trace(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | <SEQ_REGEXP HASH_CHAR="fa" TYPE="KEYWORD4">FastTrace(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | <SEQ_REGEXP HASH_CHAR="sp" TYPE="KEYWORD4">Spawn(?=[(]\s*|\w*[)])</SEQ_REGEXP> | ||
+ | |||
+ | <KEYWORDS> | ||
+ | <!-- Dynamic Arrays --> | ||
<KEYWORD2>Find</KEYWORD2><!-- (since UE3) --> | <KEYWORD2>Find</KEYWORD2><!-- (since UE3) --> | ||
<KEYWORD2>Add</KEYWORD2><!-- (since UE3) --> | <KEYWORD2>Add</KEYWORD2><!-- (since UE3) --> | ||
Line 355: | Line 488: | ||
<KEYWORD1>index_none</KEYWORD1> | <KEYWORD1>index_none</KEYWORD1> | ||
− | + | <!-- Constants --> | |
− | <!-- | + | <KEYWORD2>MaxInt</KEYWORD2> |
− | + | <KEYWORD2>Pi</KEYWORD2> | |
− | < | + | <KEYWORD2>RadToDeg</KEYWORD2> |
− | < | + | <KEYWORD2>DegToRad</KEYWORD2> |
− | < | + | <KEYWORD2>UnrRotToRad</KEYWORD2> |
− | < | + | <KEYWORD2>RadToUnrRot</KEYWORD2> |
− | < | + | <KEYWORD2>DegToUnrRot</KEYWORD2> |
− | + | <KEYWORD2>UnrRotToDeg</KEYWORD2> | |
− | + | ||
− | < | + | |
− | < | + | |
− | < | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<KEYWORD3>Velocity</KEYWORD3> | <KEYWORD3>Velocity</KEYWORD3> | ||
Line 389: | Line 512: | ||
<KEYWORD3>PlayerController</KEYWORD3> | <KEYWORD3>PlayerController</KEYWORD3> | ||
<KEYWORD3>Material</KEYWORD3> | <KEYWORD3>Material</KEYWORD3> | ||
+ | <KEYWORD3>PhysicalMaterial</KEYWORD3> | ||
<KEYWORD3>MaterialInterface</KEYWORD3><!-- UE3 --> | <KEYWORD3>MaterialInterface</KEYWORD3><!-- UE3 --> | ||
<KEYWORD3>Texture</KEYWORD3> | <KEYWORD3>Texture</KEYWORD3> | ||
Line 396: | Line 520: | ||
<KEYWORD3>Font</KEYWORD3> | <KEYWORD3>Font</KEYWORD3> | ||
<KEYWORD3>Projectile</KEYWORD3> | <KEYWORD3>Projectile</KEYWORD3> | ||
+ | <KEYWORD3>PlayerInput</KEYWORD3> | ||
<!-- UnrealEngine Enums --> | <!-- UnrealEngine Enums --> | ||
Line 411: | Line 536: | ||
<KEYWORD3>UIObject</KEYWORD3> | <KEYWORD3>UIObject</KEYWORD3> | ||
<KEYWORD3>UIImage</KEYWORD3> | <KEYWORD3>UIImage</KEYWORD3> | ||
+ | <KEYWORD3>TextureCoordinates</KEYWORD3> | ||
<KEYWORD3>AnimSet</KEYWORD3><!-- UE3 --> | <KEYWORD3>AnimSet</KEYWORD3><!-- UE3 --> | ||
+ | <KEYWORD3>AnimNode</KEYWORD3> | ||
+ | <KEYWORD3>AnimNodeSequence</KEYWORD3> | ||
+ | |||
<KEYWORD3>CameraAnim</KEYWORD3> | <KEYWORD3>CameraAnim</KEYWORD3> | ||
<KEYWORD3>Emitter</KEYWORD3> | <KEYWORD3>Emitter</KEYWORD3> | ||
Line 431: | Line 560: | ||
<KEYWORD3>ForceFeedbackWaveform</KEYWORD3> | <KEYWORD3>ForceFeedbackWaveform</KEYWORD3> | ||
+ | <KEYWORD3>FluidSurfaceActor</KEYWORD3> | ||
+ | |||
+ | <KEYWORD3>Sequence</KEYWORD3> | ||
+ | <KEYWORD3>SequenceEvent</KEYWORD3> | ||
+ | <KEYWORD3>SequenceObject</KEYWORD3> | ||
+ | |||
+ | <KEYWORD3>FaceFXAsset</KEYWORD3> | ||
<!--Components UE3--> | <!--Components UE3--> | ||
− | <KEYWORD3>Component</KEYWORD3> | + | <KEYWORD4>AttachComponent</KEYWORD4> |
− | + | <KEYWORD4>DetachComponent</KEYWORD4> | |
− | + | <KEYWORD4>ReattachComponent</KEYWORD4> | |
− | + | <COMMENT3>AttachComponentToSocket</COMMENT3> | |
− | + | <KEYWORD3>Component</KEYWORD3> | |
− | + | <KEYWORD3>ActorComponent</KEYWORD3> | |
− | + | <KEYWORD3>PrimitiveComponent</KEYWORD3> | |
− | + | <KEYWORD3>SVehicleSimBase</KEYWORD3> | |
− | + | <KEYWORD3>StaticMeshComponent</KEYWORD3> | |
+ | <KEYWORD3>SkeletalMeshComponent</KEYWORD3> | ||
+ | <KEYWORD3>ParticleSystemComponent</KEYWORD3> | ||
+ | <KEYWORD3>PointLightComponent</KEYWORD3> | ||
+ | <KEYWORD3>SplineComponent</KEYWORD3> | ||
+ | <KEYWORD3>AudioComponent</KEYWORD3> | ||
<!--UDK specific--> | <!--UDK specific--> | ||
Line 455: | Line 596: | ||
<KEYWORD3>SoundCue</KEYWORD3><!-- UE3 --> | <KEYWORD3>SoundCue</KEYWORD3><!-- UE3 --> | ||
− | <!-- | + | <!-- Object Events --> |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<KEYWORD4>BeginState</KEYWORD4> | <KEYWORD4>BeginState</KEYWORD4> | ||
<KEYWORD4>EndState</KEYWORD4> | <KEYWORD4>EndState</KEYWORD4> | ||
+ | <KEYWORD4>PushedState</KEYWORD4> | ||
+ | <KEYWORD4>PoppedState</KEYWORD4> | ||
+ | <KEYWORD4>PausedState</KEYWORD4> | ||
+ | <KEYWORD4>ContinuedState</KEYWORD4> | ||
− | <!-- Timer functions: UE3--> | + | <!-- Actor Events --> |
+ | <KEYWORD4>ReplicatedEvent</KEYWORD4><!-- UE3+ --> | ||
+ | <KEYWORD4>Destroyed</KEYWORD4> | ||
+ | <KEYWORD4>GainedChild</KEYWORD4> | ||
+ | <KEYWORD4>LostChild</KEYWORD4> | ||
+ | <KEYWORD4>Tick</KEYWORD4> | ||
+ | <KEYWORD4>Timer</KEYWORD4> | ||
+ | <KEYWORD4>HitWall</KEYWORD4> | ||
+ | <KEYWORD4>Falling</KEYWORD4> | ||
+ | <KEYWORD4>Landed</KEYWORD4> | ||
+ | <KEYWORD4>PhysicsVolumeChange</KEYWORD4> | ||
+ | <KEYWORD4>Touch</KEYWORD4> | ||
+ | <KEYWORD4>PostTouch</KEYWORD4> | ||
+ | <KEYWORD4>UnTouch</KEYWORD4> | ||
+ | <KEYWORD4>Bump</KEYWORD4> | ||
+ | <KEYWORD4>BaseChange</KEYWORD4> | ||
+ | <KEYWORD4>Attach</KEYWORD4> | ||
+ | <KEYWORD4>Detach</KEYWORD4> | ||
+ | <KEYWORD4>SpecialHandling</KEYWORD4> | ||
+ | <KEYWORD4>CollisionChanged</KEYWORD4> | ||
+ | <KEYWORD4>EncroachingOn</KEYWORD4> | ||
+ | <KEYWORD4>EncroachedBy</KEYWORD4> | ||
+ | <KEYWORD4>RanInto</KEYWORD4> | ||
+ | <KEYWORD4>OnWakeRBPhysics</KEYWORD4> | ||
+ | <KEYWORD4>OnSleepRBPhysics</KEYWORD4> | ||
+ | <KEYWORD4>OverRotated</KEYWORD4> | ||
+ | <KEYWORD4>FellOutOfWorld</KEYWORD4> | ||
+ | <KEYWORD4>OutsideWorldBounds</KEYWORD4> | ||
+ | <KEYWORD4>TornOff</KEYWORD4> | ||
+ | <KEYWORD4>PreBeginPlay</KEYWORD4> | ||
+ | <KEYWORD4>BroadcastLocalizedMessage</KEYWORD4> | ||
+ | <KEYWORD4>BroadcastLocalizedTeamMessage</KEYWORD4> | ||
+ | <KEYWORD4>PostBeginPlay</KEYWORD4> | ||
+ | <KEYWORD4>SetInitialState</KEYWORD4> | ||
+ | <KEYWORD4>ConstraintBrokenNotify</KEYWORD4> | ||
+ | <KEYWORD4>NotifySkelControlBeyondLimit</KEYWORD4> | ||
+ | <KEYWORD4>TakeDamage</KEYWORD4> | ||
+ | <KEYWORD4>HealDamage</KEYWORD4> | ||
+ | <KEYWORD4>DebugFreezeGame</KEYWORD4> | ||
+ | <KEYWORD4>BecomeViewTarget</KEYWORD4> | ||
+ | <KEYWORD4>EndViewTarget</KEYWORD4> | ||
+ | <KEYWORD4>ModifyHearSoundComponent</KEYWORD4> | ||
+ | <KEYWORD4>GetFaceFXAudioComponent</KEYWORD4> | ||
+ | <KEYWORD4>Reset</KEYWORD4> | ||
+ | <KEYWORD4>DebugMessagePlayer</KEYWORD4> | ||
+ | <KEYWORD4>ReceivedNewEvent</KEYWORD4> | ||
+ | <KEYWORD4>ForceNetRelevant</KEYWORD4> | ||
+ | <KEYWORD4>ShutDown</KEYWORD4> | ||
+ | <KEYWORD4>OnAnimEnd</KEYWORD4> | ||
+ | <KEYWORD4>OnAnimPlay</KEYWORD4> | ||
+ | <KEYWORD4>BeginAnimControl</KEYWORD4> | ||
+ | <KEYWORD4>SetAnimPosition</KEYWORD4> | ||
+ | <KEYWORD4>FinishAnimControl</KEYWORD4> | ||
+ | <KEYWORD4>PlayActorFaceFXAnim</KEYWORD4> | ||
+ | <KEYWORD4>StopActorFaceFXAnim</KEYWORD4> | ||
+ | <KEYWORD4>SetMorphWeight</KEYWORD4> | ||
+ | <KEYWORD4>SetSkelControlScale</KEYWORD4> | ||
+ | <KEYWORD4>GetActorFaceFXAsset</KEYWORD4> | ||
+ | <KEYWORD4>GetActorEyesViewPoint</KEYWORD4> | ||
+ | <KEYWORD4>ScriptGetTeamNum</KEYWORD4> | ||
+ | <KEYWORD4>SpawnedByKismet</KEYWORD4> | ||
+ | <KEYWORD4>InterpolationStarted</KEYWORD4> | ||
+ | <KEYWORD4>InterpolationFinished</KEYWORD4> | ||
+ | <KEYWORD4>InterpolationChanged</KEYWORD4> | ||
+ | <KEYWORD4>RigidBodyCollision</KEYWORD4> | ||
+ | <KEYWORD4>OnRanOver</KEYWORD4> | ||
+ | <KEYWORD4>PostRenderFor</KEYWORD4> | ||
+ | <KEYWORD4>RootMotionModeChanged</KEYWORD4> | ||
+ | <KEYWORD4>RootMotionProcessed</KEYWORD4> | ||
+ | <KEYWORD4>RootMotionExtracted</KEYWORD4> | ||
+ | <KEYWORD4>PostInitAnimTree</KEYWORD4> | ||
+ | <KEYWORD4>OnRigidBodySpringOverextension</KEYWORD4> | ||
+ | <KEYWORD4>PlayParticleEffect</KEYWORD4> | ||
+ | <KEYWORD4>CreateForceField</KEYWORD4> | ||
+ | <KEYWORD4>TrailsNotify</KEYWORD4> | ||
+ | <KEYWORD4>TrailsNotifyTick</KEYWORD4> | ||
+ | <KEYWORD4>TrailsNotifyEnd</KEYWORD4> | ||
+ | <KEYWORD4>AnimTreeUpdated</KEYWORD4> | ||
+ | <KEYWORD4>PostDemoRewind</KEYWORD4> | ||
+ | <KEYWORD4>ReplicationEnded</KEYWORD4> | ||
+ | |||
+ | <!-- Math Functions --> | ||
+ | <KEYWORD4>min</KEYWORD4> | ||
+ | <KEYWORD4>max</KEYWORD4> | ||
+ | <KEYWORD4>abs</KEYWORD4> | ||
+ | <KEYWORD4>clamp</KEYWORD4> | ||
+ | |||
+ | <KEYWORD4>sin</KEYWORD4> | ||
+ | <KEYWORD4>cos</KEYWORD4> | ||
+ | <KEYWORD4>atan</KEYWORD4> | ||
+ | |||
+ | <KEYWORD4>vlerp</KEYWORD4> | ||
+ | <KEYWORD4>vsize</KEYWORD4> | ||
+ | <KEYWORD4>vsize2d</KEYWORD4> | ||
+ | <KEYWORD4>round</KEYWORD4> | ||
+ | |||
+ | <KEYWORD4>fclamp</KEYWORD4> | ||
+ | <KEYWORD4>fmin</KEYWORD4> | ||
+ | <KEYWORD4>fmax</KEYWORD4> | ||
+ | <KEYWORD4>frand</KEYWORD4> | ||
+ | |||
+ | <!-- Actor Functions --> | ||
+ | <KEYWORD4>SetLocation</KEYWORD4> | ||
+ | <KEYWORD4>SetRotation</KEYWORD4> | ||
+ | <KEYWORD4>SetBase</KEYWORD4> | ||
+ | <KEYWORD4>SetHidden</KEYWORD4> | ||
+ | <KEYWORD4>SetHardAttach</KEYWORD4> | ||
+ | <KEYWORD4>SetCollision</KEYWORD4> | ||
+ | |||
+ | <KEYWORD4>DynamicLoadObject</KEYWORD4> | ||
+ | |||
+ | <!-- SkeletalMesh Component functions --> | ||
+ | <KEYWORD4>GetSocketWorldLocationAndRotation</KEYWORD4> | ||
+ | <KEYWORD4>GetSocketByName</KEYWORD4> | ||
+ | <KEYWORD4>MatchRefBone</KEYWORD4> | ||
+ | <KEYWORD4>TransformFromBoneSpace</KEYWORD4> | ||
+ | |||
+ | <!-- Timer functions: UE3--> | ||
<KEYWORD4>SetTimer</KEYWORD4> | <KEYWORD4>SetTimer</KEYWORD4> | ||
<KEYWORD4>ClearTimer</KEYWORD4> | <KEYWORD4>ClearTimer</KEYWORD4> | ||
Line 481: | Line 727: | ||
<KEYWORD4>GetTimerCount</KEYWORD4> | <KEYWORD4>GetTimerCount</KEYWORD4> | ||
<KEYWORD4>GetTimerRate</KEYWORD4> | <KEYWORD4>GetTimerRate</KEYWORD4> | ||
+ | <KEYWORD4>ClearAllTimers</KEYWORD4> | ||
+ | <KEYWORD4>PauseTimer</KEYWORD4> | ||
− | <!-- | + | <!-- Native Iterators --> |
<KEYWORD4>AllActors</KEYWORD4><!-- UE2+ --> | <KEYWORD4>AllActors</KEYWORD4><!-- UE2+ --> | ||
<KEYWORD4>DynamicActors</KEYWORD4><!-- UE2+ --> | <KEYWORD4>DynamicActors</KEYWORD4><!-- UE2+ --> | ||
Line 496: | Line 744: | ||
<KEYWORD4>AllOwnedComponents</KEYWORD4><!-- UE3+ --> | <KEYWORD4>AllOwnedComponents</KEYWORD4><!-- UE3+ --> | ||
<KEYWORD4>LocalPlayerControllers</KEYWORD4> | <KEYWORD4>LocalPlayerControllers</KEYWORD4> | ||
+ | |||
</KEYWORDS> | </KEYWORDS> | ||
+ | |||
</RULES> | </RULES> | ||
Line 529: | Line 779: | ||
<EOL_SPAN DELEGATE="PRAGMA" TYPE="KEYWORD1">pragma</EOL_SPAN> | <EOL_SPAN DELEGATE="PRAGMA" TYPE="KEYWORD1">pragma</EOL_SPAN> | ||
<EOL_SPAN DELEGATE="PRAGMA" TYPE="KEYWORD1">ucpp</EOL_SPAN> | <EOL_SPAN DELEGATE="PRAGMA" TYPE="KEYWORD1">ucpp</EOL_SPAN> | ||
+ | </RULES> | ||
+ | |||
+ | <RULES SET="METADATA" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="0x[\p{XDigit}]+|\d+(\.\d*)?(e[+-]?\d+)?[fF]?"> | ||
+ | <!-- operators, separators and brackets --> | ||
+ | <SEQ TYPE="OPERATOR">|</SEQ> | ||
+ | |||
+ | <KEYWORDS> | ||
+ | <!-- UE3 property tags --> | ||
+ | <!-- db: moved these to keyword 3 instead of 4 to make room --> | ||
+ | |||
+ | <MARKUP>AllowAbstract</MARKUP> | ||
+ | <MARKUP>AutoComment</MARKUP> | ||
+ | <MARKUP>DisplayName</MARKUP> | ||
+ | <MARKUP>EditCondition</MARKUP> | ||
+ | <MARKUP>Tooltip</MARKUP> | ||
+ | <MARKUP>ClampMin</MARKUP> | ||
+ | <MARKUP>ClampMax</MARKUP> | ||
+ | <MARKUP>UIMin</MARKUP> | ||
+ | <MARKUP>UIMax</MARKUP> | ||
+ | </KEYWORDS> | ||
</RULES> | </RULES> | ||
Line 594: | Line 864: | ||
<LITERAL2>on</LITERAL2> | <LITERAL2>on</LITERAL2> | ||
<LITERAL2>off</LITERAL2> | <LITERAL2>off</LITERAL2> | ||
+ | </KEYWORDS> | ||
+ | </RULES> | ||
+ | |||
+ | <RULES SET="CPPTEXT" ESCAPE="\" IGNORE_CASE="false"> | ||
+ | |||
+ | <!-- --> | ||
+ | <EOL_SPAN AT_WHITESPACE_END="TRUE" DELEGATE="DIRECTIVE" TYPE="KEYWORD2">#</EOL_SPAN> | ||
+ | |||
+ | <SPAN TYPE="COMMENT2" DELEGATE="COMMENT"> | ||
+ | <BEGIN>/**</BEGIN> | ||
+ | <END>*/</END> | ||
+ | </SPAN> | ||
+ | |||
+ | <!-- multi line comments --> | ||
+ | <SPAN TYPE="COMMENT1" DELEGATE="COMMENT"> | ||
+ | <BEGIN>/*</BEGIN> | ||
+ | <END>*/</END> | ||
+ | </SPAN> | ||
+ | |||
+ | <!-- end of line comments --> | ||
+ | <EOL_SPAN TYPE="COMMENT1" DELEGATE="EOLCOMMENT">//</EOL_SPAN> | ||
+ | <EOL_SPAN TYPE="COMMENT2" DELEGATE="EOLCOMMENT">///</EOL_SPAN> | ||
+ | |||
+ | <!--<IMPORT DELEGATE="c++::LEX"/>--> | ||
+ | <IMPORT DELEGATE="c++::CORE"/> | ||
+ | <!--<IMPORT DELEGATE="c++::DEFINE"/>--> | ||
+ | |||
+ | <KEYWORDS> | ||
+ | <KEYWORD1>NULL</KEYWORD1> | ||
+ | <KEYWORD1>FALSE</KEYWORD1> | ||
+ | <KEYWORD1>TRUE</KEYWORD1> | ||
+ | |||
+ | <KEYWORD1>BYTE</KEYWORD1> | ||
+ | <KEYWORD1>FLOAT</KEYWORD1> | ||
+ | <KEYWORD1>INT</KEYWORD1> | ||
+ | <KEYWORD1>TCHAR</KEYWORD1> | ||
+ | |||
+ | <!-- Unreal Engine CPP Types --> | ||
+ | <KEYWORD2>FName</KEYWORD2> | ||
+ | <KEYWORD2>FVector</KEYWORD2> | ||
+ | <KEYWORD2>FRotator</KEYWORD2> | ||
+ | <KEYWORD2>FColor</KEYWORD2> | ||
+ | <KEYWORD2>FLinearColor</KEYWORD2> | ||
+ | <KEYWORD2>FGuid</KEYWORD2> | ||
+ | <KEYWORD2>FFrame</KEYWORD2> | ||
+ | |||
+ | <KEYWORD3>FRigidBodyState</KEYWORD3> | ||
+ | <KEYWORD3>FRigidBodyCollisionInfo</KEYWORD3> | ||
+ | <KEYWORD3>FCollisionImpactData</KEYWORD3> | ||
+ | |||
+ | <KEYWORD3>UBOOL</KEYWORD3> | ||
+ | <KEYWORD3>UPackageMap</KEYWORD3> | ||
+ | <KEYWORD3>UActorChannel</KEYWORD3> | ||
+ | <KEYWORD3>UPackageMap</KEYWORD3> | ||
+ | <KEYWORD3>UFunction</KEYWORD3> | ||
+ | <KEYWORD3>UProperty</KEYWORD3> | ||
+ | <KEYWORD3>UPrimitiveComponent</KEYWORD3> | ||
+ | <KEYWORD3>ULevel</KEYWORD3> | ||
+ | <KEYWORD3>UAnimNodeSequence</KEYWORD3> | ||
+ | |||
+ | <KEYWORD3>AActor</KEYWORD3> | ||
+ | <KEYWORD3>APawn</KEYWORD3> | ||
+ | <KEYWORD3>APlayerController</KEYWORD3> | ||
+ | <KEYWORD3>AVolume</KEYWORD3> | ||
+ | <KEYWORD3>AController</KEYWORD3> | ||
+ | <KEYWORD3>AFluidSurfaceActor</KEYWORD3> | ||
+ | <KEYWORD3>AProjectile</KEYWORD3> | ||
+ | <KEYWORD3>APortalTeleporter</KEYWORD3> | ||
+ | <KEYWORD3>ANavigationPoint</KEYWORD3> | ||
+ | |||
+ | <KEYWORD3>TArray</KEYWORD3> | ||
+ | |||
+ | <!-- PhysX --> | ||
+ | <KEYWORD3>NxActorDesc</KEYWORD3> | ||
+ | <KEYWORD3>NxActor</KEYWORD3> | ||
+ | |||
</KEYWORDS> | </KEYWORDS> | ||
</RULES> | </RULES> | ||
Line 643: | Line 989: | ||
<MARK_PREVIOUS AT_WORD_START="TRUE" MATCH_TYPE="OPERATOR" TYPE="MARKUP">.</MARK_PREVIOUS> | <MARK_PREVIOUS AT_WORD_START="TRUE" MATCH_TYPE="OPERATOR" TYPE="MARKUP">.</MARK_PREVIOUS> | ||
<MARK_PREVIOUS AT_WORD_START="TRUE" MATCH_TYPE="OPERATOR" TYPE="MARKUP">(</MARK_PREVIOUS> | <MARK_PREVIOUS AT_WORD_START="TRUE" MATCH_TYPE="OPERATOR" TYPE="MARKUP">(</MARK_PREVIOUS> | ||
− | <MARK_PREVIOUS AT_WORD_START="TRUE" MATCH_TYPE="OPERATOR" TYPE="MARKUP">[</MARK_PREVIOUS> | + | <MARK_PREVIOUS AT_WORD_START="TRUE" MATCH_TYPE="OPERATOR" TYPE="MARKUP">[</MARK_PREVIOUS><!-- Invalid for arrays in defaults --> |
<!-- closing brackets --> | <!-- closing brackets --> | ||
− | <SEQ TYPE="OPERATOR">]</SEQ> | + | <SEQ TYPE="OPERATOR">]</SEQ><!-- Invalid for arrays in defaults --> |
<SEQ TYPE="OPERATOR">)</SEQ> | <SEQ TYPE="OPERATOR">)</SEQ> | ||
Line 677: | Line 1,023: | ||
<KEYWORD3>Texture</KEYWORD3> | <KEYWORD3>Texture</KEYWORD3> | ||
<KEYWORD3>Texture2D</KEYWORD3> | <KEYWORD3>Texture2D</KEYWORD3> | ||
+ | <KEYWORD3>SkeletalMesh</KEYWORD3> | ||
+ | <KEYWORD3>AnimTree</KEYWORD3> | ||
+ | <KEYWORD3>PhysicsAsset</KEYWORD3> | ||
<!--Components UE3--> | <!--Components UE3--> |
Revision as of 10:50, 15 May 2011
<?xml version="1.0"?> <!DOCTYPE MODE SYSTEM "xmode.dtd"> <MODE> <!-- UnrealScript edit mode. Put this file to your .jedit/modes/ directory and add the following line to your .jedit/modes/catalog file: <MODE NAME="unrealscript" FILE="unrealscript.xml" FILE_NAME_GLOB="*.{uc,puc,uci}"/> --> <PROPS> <PROPERTY NAME="commentStart" VALUE="/*" /> <PROPERTY NAME="commentEnd" VALUE="*/" /> <PROPERTY NAME="lineComment" VALUE="//" /> <PROPERTY NAME="newlineComment" VALUE="///" /> <PROPERTY NAME="wordBreakChars" VALUE=",+-=<>/?^&*" /> <!-- Auto indent --> <PROPERTY NAME="indentOpenBrackets" VALUE="{" /> <PROPERTY NAME="indentCloseBrackets" VALUE="}" /> <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" /> <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" /> <PROPERTY NAME="indentNextLine" VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for(?:each)?\s*\(.*\))[^{;]*)" /> <PROPERTY NAME="unindentThisLine" VALUE="^.*(default:\s*|case.*:.*)$" /> <PROPERTY NAME="lineUpClosingBracket" VALUE="true" /> </PROPS> <RULES SET="WIP" IGNORE_CASE="TRUE"> <!-- default values section for class and structs --> <!--<SEQ_REGEXP HASH_CHARS="cp" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1" DELEGATE="CPPTEXT">(struct)?cpptext\s*$</SEQ_REGEXP>--> <SPAN_REGEXP HASH_CHARS="st" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1" DELEGATE="CPPTEXT"> <!--<BEGIN>structcpptext(\s*|\n)[{]$</BEGIN>--> <BEGIN>structcpptext</BEGIN><!--\s([?]{3})[:]?\s+(.+?)$--> <END>((.*[}].*){2})<!--(?!\.*;?\n*\.*)}--><!--(?!.*?[}]+.*?){3, }--></END> <!--<END>(\s*\w*[}])\2</END>--> <!--<END>{(?=\s*[}])\2}</END>--> <!--<END>(?![{]\s*{3})\s*\w*[}]</END>--><!--(?![{]\s?)--> </SPAN_REGEXP> <!--(?!;(\s*|\n)$)[}]\n*$ --> <!--\n*$(?!\s*[{]^.*[}]\n*$)--> <!--(\s*\w*)(?!\s*\w*(?!{)})--> <!--$\s*(?!\s*\w*{)--> <!--<SPAN_REGEXP HASH_CHARS="cp" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1" DELEGATE="CPPTEXT"> <BEGIN>cpptext(\s*|\n)</BEGIN> <END>}(\s*|\n)(?![{].*[}])+$</END> </SPAN_REGEXP>--> <!--<SPAN AT_WHITESPACE_END="TRUE" TYPE="MARKUP" MATCH_TYPE="KEYWORD4"> <BEGIN><</BEGIN> <END>></END> </SPAN>--> <!--<SPAN_REGEXP AT_WORD_START="TRUE" TYPE="MARKUP" HASH_CHAR="<" DELEGATE="METADATA"> <BEGIN><</BEGIN> <END>></END> </SPAN_REGEXP>--> <!--<SEQ_REGEXP HASH_CHAR="<" TYPE="MARKUP" DELEGATE="METADATA"><\S*></SEQ_REGEXP>--> <SPAN_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="<" TYPE="MARKUP" MATCH_TYPE="MARKUP"><!--<(\w*|\w*\B*)>--> <BEGIN><\S*</BEGIN> <END>></END> </SPAN_REGEXP> <!-- Standard Variable Keyword --> <!--<SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD1">var\b[(\s*)]|var\s*[(\w)]</SEQ_REGEXP>--> <!-- Special Editor version of variable declaration --> <!--<SPAN_REGEXP AT_WORD_START="TRUE" HASH_CHARS="v" TYPE="KEYWORD4" MATCH_TYPE="KEYWORD1"> <BEGIN>var\b[(\s*)]|var\s*[(\w)]</BEGIN> <END>(?!\w[(])|)</END> </SPAN_REGEXP>--> <!--var(?=\s)|\b(?=\s*\([\w])--> <!-- var\b|var(\s*)|var\s*(\w)--> <!--<MARK_PREVIOUS TYPE="KEYWORD1" MATCH_TYPE="KEYWORD1">(?=(var(\b|\s*)[(]))</MARK_PREVIOUS>--> <!--<SEQ_REGEXP HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD4">var\s*[(\s*\w*\s*)]\s*</SEQ_REGEXP>--><!--var(\b\s*|\b\s*[(\s*)]\s*|\s*[(\s*\w*\s*)]\s*)--> <!--<SEQ_REGEXP HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD4">var[\s*(\s*\w*\s*)\s*]</SEQ_REGEXP>--> <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD4">var\b\s+</SEQ_REGEXP> <!--<SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD4">var\s*[(\s*)]</SEQ_REGEXP>--> <SPAN_REGEXP HASH_CHARS="v" TYPE="KEYWORD4" MATCH_TYPE="KEYWORD1"> <BEGIN>var(?!\b\s+\w*)(\b\s*[(\s*]|\s*[(\s*\w*])</BEGIN> <END>)</END><!--(?!var?!\b(\s*\w*)*;\n)--> </SPAN_REGEXP> </RULES> <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="0x[\p{XDigit}]+|\d+(\.\d*)?(e[+-]?\d+)?[fF]?"> <SPAN TYPE="COMMENT2" DELEGATE="COMMENT"> <BEGIN>/**</BEGIN> <END>*/</END> </SPAN> <!-- multi line comments --> <SPAN TYPE="COMMENT1" DELEGATE="COMMENT"> <BEGIN>/*</BEGIN> <END>*/</END> </SPAN> <!-- end of line comments --> <EOL_SPAN TYPE="COMMENT1" DELEGATE="EOLCOMMENT">//</EOL_SPAN> <EOL_SPAN TYPE="COMMENT2" DELEGATE="EOLCOMMENT">///</EOL_SPAN> <!-- string literals --> <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"> <BEGIN>"</BEGIN> <END>"</END> </SPAN> <!-- name and object literals --> <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" ESCAPE="\"> <BEGIN>'</BEGIN> <END>'</END> </SPAN> <!-- <SPAN_REGEXP AT_WORD_START="TRUE" TYPE="LITERAL2" NO_LINE_BREAK="TRUE"> <BEGIN>\w*\s*'</BEGIN> <END>'</END> </SPAN_REGEXP>--> <!-- UE1/2 compiler directives and UCPP pragmas --> <EOL_SPAN AT_WHITESPACE_END="TRUE" DELEGATE="DIRECTIVE" TYPE="KEYWORD2">#</EOL_SPAN> <!-- UE3 compiler macros --> <!-- macro in braces --> <SPAN TYPE="MARKUP" MATCH_TYPE="KEYWORD2" NO_LINE_BREAK="TRUE"> <BEGIN>`{</BEGIN> <END>}</END> </SPAN> <!-- special UE3 compiler macros --> <EOL_SPAN_REGEXP HASH_CHAR="`" AT_WHITESPACE_END="TRUE" DELEGATE="MAIN" TYPE="KEYWORD4">`(define|else|endif|if|debug)\b</EOL_SPAN_REGEXP> <SPAN AT_WHITESPACE_END="TRUE" TYPE="LITERAL4" MATCH_TYPE="KEYWORD4"> <BEGIN>`include(</BEGIN> <END>)</END> </SPAN> <SEQ_REGEXP HASH_CHAR="`" TYPE="KEYWORD4">`(isdefined|notdefined)\b</SEQ_REGEXP> <!-- in-line macro --> <MARK_FOLLOWING MATCH_TYPE="KEYWORD2" TYPE="MARKUP">`</MARK_FOLLOWING> <!-- GoTo labels --> <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR" AT_WHITESPACE_END="TRUE">:</MARK_PREVIOUS> <!-- UE3 native replacements --> <SEQ_REGEXP HASH_CHAR="{" TYPE="COMMENT4">\{[^}]+}</SEQ_REGEXP> <!-- operators, separators and brackets --> <SEQ TYPE="OPERATOR">~</SEQ> <SEQ TYPE="OPERATOR">!</SEQ> <SEQ TYPE="OPERATOR">@</SEQ> <SEQ TYPE="OPERATOR">#</SEQ> <SEQ TYPE="OPERATOR">$</SEQ> <SEQ TYPE="OPERATOR">^</SEQ> <SEQ TYPE="OPERATOR">&</SEQ> <SEQ TYPE="OPERATOR">*</SEQ> <SEQ TYPE="OPERATOR">-</SEQ> <SEQ TYPE="OPERATOR">=</SEQ> <SEQ TYPE="OPERATOR">+</SEQ> <SEQ TYPE="OPERATOR">|</SEQ> <SEQ TYPE="OPERATOR">:</SEQ> <!-- <SEQ TYPE="OPERATOR"><</SEQ> <SEQ TYPE="OPERATOR">></SEQ>--> <SEQ TYPE="OPERATOR">/</SEQ> <SEQ TYPE="OPERATOR">?</SEQ> <SEQ TYPE="OPERATOR">\</SEQ> <SEQ TYPE="OPERATOR">)</SEQ> <SEQ TYPE="OPERATOR">{</SEQ> <SEQ TYPE="OPERATOR">}</SEQ> <!-- functions --> <!--<MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>--> <!-- static modifier --> <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="s" TYPE="KEYWORD1">static\b(?!\s*\.)</SEQ_REGEXP> <!-- static function call --> <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="s" TYPE="KEYWORD2">static\b(?=\s*\.)</SEQ_REGEXP> <!-- switch keyword --> <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="s" TYPE="KEYWORD1">switch\b(?=\s*\()</SEQ_REGEXP> <!-- default switch case --> <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="d" TYPE="KEYWORD1">default\b(?=\s*\:)</SEQ_REGEXP> <!-- default value access --> <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="d" TYPE="KEYWORD2">default\b(?=\s*\.)</SEQ_REGEXP> <!-- input variable modifier --> <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="i" TYPE="KEYWORD1">input\b(?=\s*[\w>])</SEQ_REGEXP> <!-- name datatype --> <!-- <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="n" TYPE="KEYWORD3">name\b(?=\s*[\w>])</SEQ_REGEXP>--> <!-- class keyword --> <!-- <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="c" TYPE="KEYWORD1">class\b(?=\s*[\w])</SEQ_REGEXP>--> <!-- class identifier?? --> <!-- <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="c" TYPE="KEYWORD1">class\b(?=[\s*\w'])</SEQ_REGEXP>--> <!--<SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHARS="a<" TYPE="MARKUP" DELEGATE="METADATA">(?!array)<.*></SEQ_REGEXP>--> <!-- class / array datatype --> <!--<SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHARS="ac" TYPE="KEYWORD1">array\b\s*<\s*class\b\s*<\s*\w*\s*>\s+></SEQ_REGEXP> <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHARS="ac" TYPE="INVALID">array\b\s*<\s*class\b\s*<\s*\w*\s*>></SEQ_REGEXP>--> <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHARS="ac" TYPE="KEYWORD1">(array|class)\b(?=\s*[<\s*(?!(array|class))\w*\s*>])</SEQ_REGEXP> <SPAN_REGEXP HASH_CHAR="<" TYPE="MARKUP" MATCH_TYPE="MARKUP" DELEGATE="METADATA"> <BEGIN>(?!(array)?\s*<(=)?)?<|(?!<\s*\d)?<</BEGIN> <END><!--(?!>=)?-->></END><!--(>(?![=]))|(>[;])--> </SPAN_REGEXP> <!-- delegate keyword --> <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="d" TYPE="KEYWORD1">delegate\b(?=\s*[\w])</SEQ_REGEXP> <!-- delegate datatype --> <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="d" TYPE="KEYWORD3">delegate\b(?=\s*[\w<>])</SEQ_REGEXP> <!-- default values section for class and structs --> <SPAN_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHARS="ds" NO_LINE_BREAK="FALSE" MATCH_TYPE="KEYWORD1" DELEGATE="DEFAULTS"> <BEGIN>(struct)?defaultproperties\s*$</BEGIN> <END>}</END> </SPAN_REGEXP> <!-- Standard Variable Keyword --> <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="v" TYPE="KEYWORD1" MATCH_TYPE="KEYWORD4">var\b\s+(?![(])</SEQ_REGEXP> <!-- Special Editor version of variable declaration --> <SPAN_REGEXP HASH_CHARS="v" TYPE="KEYWORD4" MATCH_TYPE="KEYWORD1"> <BEGIN>var(?!\b\s+\w*)(\b\s*[(\s*]|\s*[(\s*\w*])</BEGIN><!-- TODO: Compress me \b(\s*[(\s*])(\w*)? --> <END>)</END> </SPAN_REGEXP> <!--"KEYWORD4"--> <!--<SPAN_REGEXP AT_WORD_START="TRUE" HASH_CHARS="ca<" TYPE="MARKUP" MATCH_TYPE="MARKUP" DELEGATE="METADATA"> <BEGIN>(?!(array|class)\b)(<\s*\w*)</BEGIN> <END>></END> </SPAN_REGEXP>--> <!--(?!+\s*<)--> <!--(?!\s+>\s*\w*)\s*\w*[;]--> <!--<IMPORT DELEGATE="uscript::WIP"/>--> <KEYWORDS> <!-- Class Syntax --> <KEYWORD1>Interface</KEYWORD1> <!--<KEYWORD1>Class</KEYWORD1>--><!--db: added test--> <INVALID>Expands</INVALID><!-- only early UE1, shouldn't really be used --> <KEYWORD1>Extends</KEYWORD1> <!-- Class Syntax: Optional Specifiers --> <!-- General --> <KEYWORD1>Implements</KEYWORD1><!-- UE3+ --> <KEYWORD1>Abstract</KEYWORD1> <KEYWORD1>Config</KEYWORD1><!-- used for both class and var --> <KEYWORD1>GlobalConfig</KEYWORD1><!-- used for both class and var?? --> <KEYWORD4>PerObjectConfig</KEYWORD4> <KEYWORD1>Native</KEYWORD1> <KEYWORD1>NativeReplication</KEYWORD1> <KEYWORD1>NoExport</KEYWORD1> <KEYWORD1>NoImport</KEYWORD1> <KEYWORD1>NotTransient</KEYWORD1><!-- since UE2 --> <KEYWORD1>Within</KEYWORD1><!-- since UE2 --> <KEYWORD1>DependsOn</KEYWORD1><!-- since UE2 --> <KEYWORD4>Deprecated</KEYWORD4><!-- since UE2, marks variables that should no longer be used --> <!-- Class Syntax: Secondary Specifiers --> <!-- Editor --> <KEYWORD4>AutoExpandCategories</KEYWORD4><!-- since UE3? --> <KEYWORD4>CollapseCatergories</KEYWORD4><!-- since UE2 --> <KEYWORD4>DontCollapseCategories</KEYWORD4><!-- UE2+ --> <KEYWORD1>EdFindable</KEYWORD1> <KEYWORD1>EditConst</KEYWORD1> <KEYWORD1>EditConstArray</KEYWORD1><!-- only UE2 --> <KEYWORD1>EditFixedSize</KEYWORD1><!-- since UE3 --> <KEYWORD4>HideCategories</KEYWORD4><!-- UE2+ --> <KEYWORD4>HideDropDown</KEYWORD4><!-- UE2+ --> <KEYWORD4>NotPlaceable</KEYWORD4><!-- UE2+ --> <KEYWORD4>Placeable</KEYWORD4> <KEYWORD1>ExportStructs</KEYWORD1><!-- only UE2 --> <KEYWORD1>SafeReplace</KEYWORD1> <KEYWORD1>ShowCategories</KEYWORD1><!-- since UE2 --> <!-- Object Specifiers --> <KEYWORD4>EditInline</KEYWORD4><!-- since UE2 --> <KEYWORD4>EditInlineUse</KEYWORD4><!-- UE2+ --> <KEYWORD1>EditInlineNew</KEYWORD1><!-- since UE2 --> <KEYWORD1>EditInlineNotify</KEYWORD1><!-- only UE2 --> <KEYWORD4>NotEditInlineNew</KEYWORD4><!-- since UE2 --> <!--===================================================================================================--> <KEYWORD4>Inherits</KEYWORD4><!-- native effect, since UE3 --> <KEYWORD1>Assert</KEYWORD1> <KEYWORD1>Cache</KEYWORD1><!-- only UE2 --> <KEYWORD1>CacheExempt</KEYWORD1><!-- only UE2 --> <KEYWORD1>Import</KEYWORD1> <KEYWORD1>Init</KEYWORD1> <KEYWORD1>Latent</KEYWORD1> <KEYWORD1>ParseConfig</KEYWORD1> <KEYWORD1>Skip</KEYWORD1> <KEYWORD1>Stop</KEYWORD1> <KEYWORD1>Travel</KEYWORD1> <KEYWORD1>Export</KEYWORD1> <!--===================================================================================================--> <!-- Function Syntax: Primary Specifiers --> <!--<KEYWORD1>cpptext</KEYWORD1>--><!-- only UE2? --> <!--<KEYWORD1>cppstruct</KEYWORD1>--><!-- only UE2? --> <!--<KEYWORD1>structcpptext</KEYWORD1>--> <KEYWORD1>Event</KEYWORD1> <KEYWORD1>Function</KEYWORD1> <KEYWORD1>Operator</KEYWORD1> <KEYWORD1>PostOperator</KEYWORD1> <KEYWORD1>PreOperator</KEYWORD1> <KEYWORD1>Replication</KEYWORD1><!-- db: Could update so replication block gets special handling --> <KEYWORD1>If</KEYWORD1> <KEYWORD1>Else</KEYWORD1> <KEYWORD1>Case</KEYWORD1> <KEYWORD1>Break</KEYWORD1> <KEYWORD1>Continue</KEYWORD1> <KEYWORD1>Return</KEYWORD1> <KEYWORD1>State</KEYWORD1> <KEYWORD1>Goto</KEYWORD1> <KEYWORD2>GotoState</KEYWORD2> <!-- State Syntax: Secondary Specifiers --> <KEYWORD1>Auto</KEYWORD1> <KEYWORD1>Ignores</KEYWORD1> <!-- Function Syntax: Iterators --> <KEYWORD1>For</KEYWORD1> <KEYWORD1>ForEach</KEYWORD1> <KEYWORD1>While</KEYWORD1> <KEYWORD1>Do</KEYWORD1> <KEYWORD1>Until</KEYWORD1> <!-- db: Secondary Keywords - grey/italic (like uncodex)--> <KEYWORD4>Self</KEYWORD4> <KEYWORD4>Outer</KEYWORD4><!--common--> <COMMENT3>Owner</COMMENT3><!--common--> <KEYWORD4>Instigator</KEYWORD4><!--common--> <KEYWORD4>Optional</KEYWORD4> <KEYWORD4>Out</KEYWORD4> <KEYWORD4>Object</KEYWORD4> <KEYWORD4>Native</KEYWORD4> <KEYWORD2>New</KEYWORD2> <KEYWORD2>None</KEYWORD2> <KEYWORD2>Super</KEYWORD2> <KEYWORD2>Global</KEYWORD2> <INVALID>Null</INVALID> <!-- Function Syntax: Secondary Specifiers --> <INVALID>Intrinsic</INVALID><!-- only early UE1, replaced by "native" --> <INVALID>Virtual</INVALID> <KEYWORD4>Static</KEYWORD4> <KEYWORD4>Final</KEYWORD4> <KEYWORD4>Server</KEYWORD4><!-- UE3+ --> <KEYWORD4>Client</KEYWORD4><!-- UE3+ --> <KEYWORD4>Simulated</KEYWORD4> <KEYWORD4>Iterator</KEYWORD4> <KEYWORD4>Singular</KEYWORD4> <KEYWORD4>Exec</KEYWORD4> <KEYWORD1>Reliable</KEYWORD1> <KEYWORD1>Unreliable</KEYWORD1> <KEYWORD1>Automated</KEYWORD1><!-- only UE2 --> <KEYWORD4>k2override</KEYWORD4><!-- UDK+ --> <!-- built-in type names --> <KEYWORD1>Const</KEYWORD1> <!--<KEYWORD1>Var</KEYWORD1>--> <KEYWORD1>Local</KEYWORD1> <!-- db: modifed these to be keyword 1 from 3 --> <!-- Variable Primary (Syntax)Flags --> <KEYWORD1>Bool</KEYWORD1> <KEYWORD1>Byte</KEYWORD1> <KEYWORD1>Enum</KEYWORD1> <KEYWORD1>Float</KEYWORD1> <KEYWORD1>Int</KEYWORD1> <KEYWORD1>String</KEYWORD1> <KEYWORD1>Struct</KEYWORD1> <KEYWORD1>Pointer</KEYWORD1><!-- UE2+ --> <!--<KEYWORD1>Array</KEYWORD1>--> <KEYWORD1>Name</KEYWORD1> <KEYWORD1>vector</KEYWORD1> <KEYWORD1>rotator</KEYWORD1> <KEYWORD1>vector2d</KEYWORD1> <KEYWORD1>color</KEYWORD1> <KEYWORD1>quat</KEYWORD1> <KEYWORD1>matrix</KEYWORD1> <!-- Variable Secondary (Syntax)Flags--> <INVALID>Public</INVALID><!-- redundant, members are always public unless marked private or protected --> <KEYWORD4>Private</KEYWORD4> <KEYWORD4>Protected</KEYWORD4> <KEYWORD4>Localized</KEYWORD4> <KEYWORD4>Config</KEYWORD4><!--is also a class flag--> <KEYWORD4>GlobalConfig</KEYWORD4> <KEYWORD4>RepNotify</KEYWORD4> <KEYWORD4>Transient</KEYWORD4> <KEYWORD1>DuplicateTransient</KEYWORD1><!-- since UE3 --> <KEYWORD1>Instanced</KEYWORD1><!-- UE2+ --> <KEYWORD1>DataBinding</KEYWORD1><!-- UE3+ --> <KEYWORD1>Immutable</KEYWORD1><!-- UE3+ (struct) --> <KEYWORD1>Coerce</KEYWORD1><!-- (string) --> <KEYWORD1>Long</KEYWORD1><!-- UE2+ (struct) --> <KEYWORD4>k2Call</KEYWORD4> <KEYWORD4>PrivateWrite</KEYWORD4> <KEYWORD4>interp</KEYWORD4> <KEYWORD4>Archetype</KEYWORD4> <KEYWORD4>k2pure</KEYWORD4> <!-- Editor --> <KEYWORD4>EditorOnly</KEYWORD4> <KEYWORD4>EditHide</KEYWORD4> <!-- literals and special function calls --> <KEYWORD2>True</KEYWORD2> <KEYWORD2>False</KEYWORD2> <KEYWORD2>enable</KEYWORD2> <KEYWORD2>disable</KEYWORD2> <!-- literals --> <KEYWORD2>Vect2D</KEYWORD2> <KEYWORD2>Vect</KEYWORD2> <KEYWORD2>Rot</KEYWORD2> <KEYWORD2>NameOf</KEYWORD2> <KEYWORD2>Normal</KEYWORD2> <KEYWORD2>VSize</KEYWORD2> <KEYWORD2>ArrayCount</KEYWORD2> <KEYWORD2>EnumCount</KEYWORD2> <KEYWORD2>Length</KEYWORD2><!-- UE2+ --> <KEYWORD2>PathName</KEYWORD2> </KEYWORDS> <!-- Expanded UnrealEngine highlighting rules --> <IMPORT DELEGATE="uscript::UNREALENGINE"/> </RULES> <RULES SET="UNREALENGINE" IGNORE_CASE="TRUE"> <!-- UnrealEngine functions --> <SEQ_REGEXP HASH_CHAR="fi" TYPE="KEYWORD4">FindChild(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="is" TYPE="KEYWORD4">IsA(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="c" TYPE="KEYWORD4">ClassIsChildOf(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="isi" TYPE="KEYWORD4">IsInState(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="dr" TYPE="KEYWORD4">Draw3DLine(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="de" TYPE="KEYWORD4">DeProject(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="re" TYPE="KEYWORD4">ReplicateMove(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="pr" TYPE="KEYWORD4">ProcessMove(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="pl" TYPE="KEYWORD4">PlayerTick(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="po" TYPE="KEYWORD4">PostRender(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="ge" TYPE="KEYWORD4">GetEnum(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="fi" TYPE="KEYWORD4">FindObject(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="tr" TYPE="KEYWORD4">Trace(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="fa" TYPE="KEYWORD4">FastTrace(?=[(]\s*|\w*[)])</SEQ_REGEXP> <SEQ_REGEXP HASH_CHAR="sp" TYPE="KEYWORD4">Spawn(?=[(]\s*|\w*[)])</SEQ_REGEXP> <KEYWORDS> <!-- Dynamic Arrays --> <KEYWORD2>Find</KEYWORD2><!-- (since UE3) --> <KEYWORD2>Add</KEYWORD2><!-- (since UE3) --> <KEYWORD2>AddItem</KEYWORD2><!-- (since UE3) --> <KEYWORD2>Insert</KEYWORD2><!-- (since UE2) --> <KEYWORD2>InsertItem</KEYWORD2><!-- (since UE3) --> <KEYWORD2>Remove</KEYWORD2><!-- UE2+ --> <KEYWORD2>RemoveItem</KEYWORD2><!-- UE+ --> <KEYWORD1>index_none</KEYWORD1> <!-- Constants --> <KEYWORD2>MaxInt</KEYWORD2> <KEYWORD2>Pi</KEYWORD2> <KEYWORD2>RadToDeg</KEYWORD2> <KEYWORD2>DegToRad</KEYWORD2> <KEYWORD2>UnrRotToRad</KEYWORD2> <KEYWORD2>RadToUnrRot</KEYWORD2> <KEYWORD2>DegToUnrRot</KEYWORD2> <KEYWORD2>UnrRotToDeg</KEYWORD2> <KEYWORD3>Velocity</KEYWORD3> <!-- UnrealEngine Classes--> <KEYWORD3>Weapon</KEYWORD3> <!-- <KEYWORD3>Other</KEYWORD3> <KEYWORD3>Instigator</KEYWORD3>--> <KEYWORD3>Actor</KEYWORD3> <KEYWORD3>Controller</KEYWORD3> <KEYWORD3>LightType</KEYWORD3><!-- UE3 --> <KEYWORD3>Level</KEYWORD3><!-- UE2 --> <KEYWORD3>WorldInfo</KEYWORD3><!-- UE3 --> <KEYWORD3>Pawn</KEYWORD3> <KEYWORD3>PlayerController</KEYWORD3> <KEYWORD3>Material</KEYWORD3> <KEYWORD3>PhysicalMaterial</KEYWORD3> <KEYWORD3>MaterialInterface</KEYWORD3><!-- UE3 --> <KEYWORD3>Texture</KEYWORD3> <KEYWORD3>Texture2D</KEYWORD3> <KEYWORD3>Effects</KEYWORD3> <KEYWORD3>Info</KEYWORD3> <KEYWORD3>Font</KEYWORD3> <KEYWORD3>Projectile</KEYWORD3> <KEYWORD3>PlayerInput</KEYWORD3> <!-- UnrealEngine Enums --> <KEYWORD3>LinearColor</KEYWORD3><!-- UE3 --> <KEYWORD3>FontRenderInfo</KEYWORD3> <KEYWORD3>InterpCurveVector</KEYWORD3> <KEYWORD3>InterpCurvePointVector</KEYWORD3> <KEYWORD3>TraceHitInfo</KEYWORD3> <!-- User Interface --> <KEYWORD3>Canvas</KEYWORD3> <KEYWORD3>HUD</KEYWORD3> <KEYWORD3>UIRoot</KEYWORD3><!-- UE3 --> <KEYWORD3>UIScene</KEYWORD3><!-- UE3 --> <KEYWORD3>UIObject</KEYWORD3> <KEYWORD3>UIImage</KEYWORD3> <KEYWORD3>TextureCoordinates</KEYWORD3> <KEYWORD3>AnimSet</KEYWORD3><!-- UE3 --> <KEYWORD3>AnimNode</KEYWORD3> <KEYWORD3>AnimNodeSequence</KEYWORD3> <KEYWORD3>CameraAnim</KEYWORD3> <KEYWORD3>Emitter</KEYWORD3> <KEYWORD3>ParticleSystem</KEYWORD3> <KEYWORD3>Projector</KEYWORD3><!-- UE2+ --> <KEYWORD3>DamageType</KEYWORD3> <KEYWORD3>GameInfo</KEYWORD3> <KEYWORD3>GameRules</KEYWORD3> <KEYWORD3>PlayerReplicationInfo</KEYWORD3><!-- UE2+ --> <KEYWORD3>GameReplicationInfo</KEYWORD3><!-- UE2+ --> <KEYWORD3>Inventory</KEYWORD3> <KEYWORD3>Vehicle</KEYWORD3><!-- UE2.5+ --> <KEYWORD3>StaticMesh</KEYWORD3><!-- UE2+ --> <KEYWORD3>NavigationPoint</KEYWORD3> <KEYWORD3>PhysicsVolume</KEYWORD3> <KEYWORD3>Mutator</KEYWORD3> <KEYWORD3>ForceFeedbackWaveform</KEYWORD3> <KEYWORD3>FluidSurfaceActor</KEYWORD3> <KEYWORD3>Sequence</KEYWORD3> <KEYWORD3>SequenceEvent</KEYWORD3> <KEYWORD3>SequenceObject</KEYWORD3> <KEYWORD3>FaceFXAsset</KEYWORD3> <!--Components UE3--> <KEYWORD4>AttachComponent</KEYWORD4> <KEYWORD4>DetachComponent</KEYWORD4> <KEYWORD4>ReattachComponent</KEYWORD4> <COMMENT3>AttachComponentToSocket</COMMENT3> <KEYWORD3>Component</KEYWORD3> <KEYWORD3>ActorComponent</KEYWORD3> <KEYWORD3>PrimitiveComponent</KEYWORD3> <KEYWORD3>SVehicleSimBase</KEYWORD3> <KEYWORD3>StaticMeshComponent</KEYWORD3> <KEYWORD3>SkeletalMeshComponent</KEYWORD3> <KEYWORD3>ParticleSystemComponent</KEYWORD3> <KEYWORD3>PointLightComponent</KEYWORD3> <KEYWORD3>SplineComponent</KEYWORD3> <KEYWORD3>AudioComponent</KEYWORD3> <!--UDK specific--> <KEYWORD3>UDKParticleSystemComponent</KEYWORD3> <KEYWORD3>UDKExplosionLight</KEYWORD3> <!--UT3 specific--> <KEYWORD3>UTSkeletalMeshComponent</KEYWORD3> <!--Sound, was changed--> <KEYWORD3>Sound</KEYWORD3> <KEYWORD3>SoundNode</KEYWORD3><!-- UE3 --> <KEYWORD3>SoundCue</KEYWORD3><!-- UE3 --> <!-- Object Events --> <KEYWORD4>BeginState</KEYWORD4> <KEYWORD4>EndState</KEYWORD4> <KEYWORD4>PushedState</KEYWORD4> <KEYWORD4>PoppedState</KEYWORD4> <KEYWORD4>PausedState</KEYWORD4> <KEYWORD4>ContinuedState</KEYWORD4> <!-- Actor Events --> <KEYWORD4>ReplicatedEvent</KEYWORD4><!-- UE3+ --> <KEYWORD4>Destroyed</KEYWORD4> <KEYWORD4>GainedChild</KEYWORD4> <KEYWORD4>LostChild</KEYWORD4> <KEYWORD4>Tick</KEYWORD4> <KEYWORD4>Timer</KEYWORD4> <KEYWORD4>HitWall</KEYWORD4> <KEYWORD4>Falling</KEYWORD4> <KEYWORD4>Landed</KEYWORD4> <KEYWORD4>PhysicsVolumeChange</KEYWORD4> <KEYWORD4>Touch</KEYWORD4> <KEYWORD4>PostTouch</KEYWORD4> <KEYWORD4>UnTouch</KEYWORD4> <KEYWORD4>Bump</KEYWORD4> <KEYWORD4>BaseChange</KEYWORD4> <KEYWORD4>Attach</KEYWORD4> <KEYWORD4>Detach</KEYWORD4> <KEYWORD4>SpecialHandling</KEYWORD4> <KEYWORD4>CollisionChanged</KEYWORD4> <KEYWORD4>EncroachingOn</KEYWORD4> <KEYWORD4>EncroachedBy</KEYWORD4> <KEYWORD4>RanInto</KEYWORD4> <KEYWORD4>OnWakeRBPhysics</KEYWORD4> <KEYWORD4>OnSleepRBPhysics</KEYWORD4> <KEYWORD4>OverRotated</KEYWORD4> <KEYWORD4>FellOutOfWorld</KEYWORD4> <KEYWORD4>OutsideWorldBounds</KEYWORD4> <KEYWORD4>TornOff</KEYWORD4> <KEYWORD4>PreBeginPlay</KEYWORD4> <KEYWORD4>BroadcastLocalizedMessage</KEYWORD4> <KEYWORD4>BroadcastLocalizedTeamMessage</KEYWORD4> <KEYWORD4>PostBeginPlay</KEYWORD4> <KEYWORD4>SetInitialState</KEYWORD4> <KEYWORD4>ConstraintBrokenNotify</KEYWORD4> <KEYWORD4>NotifySkelControlBeyondLimit</KEYWORD4> <KEYWORD4>TakeDamage</KEYWORD4> <KEYWORD4>HealDamage</KEYWORD4> <KEYWORD4>DebugFreezeGame</KEYWORD4> <KEYWORD4>BecomeViewTarget</KEYWORD4> <KEYWORD4>EndViewTarget</KEYWORD4> <KEYWORD4>ModifyHearSoundComponent</KEYWORD4> <KEYWORD4>GetFaceFXAudioComponent</KEYWORD4> <KEYWORD4>Reset</KEYWORD4> <KEYWORD4>DebugMessagePlayer</KEYWORD4> <KEYWORD4>ReceivedNewEvent</KEYWORD4> <KEYWORD4>ForceNetRelevant</KEYWORD4> <KEYWORD4>ShutDown</KEYWORD4> <KEYWORD4>OnAnimEnd</KEYWORD4> <KEYWORD4>OnAnimPlay</KEYWORD4> <KEYWORD4>BeginAnimControl</KEYWORD4> <KEYWORD4>SetAnimPosition</KEYWORD4> <KEYWORD4>FinishAnimControl</KEYWORD4> <KEYWORD4>PlayActorFaceFXAnim</KEYWORD4> <KEYWORD4>StopActorFaceFXAnim</KEYWORD4> <KEYWORD4>SetMorphWeight</KEYWORD4> <KEYWORD4>SetSkelControlScale</KEYWORD4> <KEYWORD4>GetActorFaceFXAsset</KEYWORD4> <KEYWORD4>GetActorEyesViewPoint</KEYWORD4> <KEYWORD4>ScriptGetTeamNum</KEYWORD4> <KEYWORD4>SpawnedByKismet</KEYWORD4> <KEYWORD4>InterpolationStarted</KEYWORD4> <KEYWORD4>InterpolationFinished</KEYWORD4> <KEYWORD4>InterpolationChanged</KEYWORD4> <KEYWORD4>RigidBodyCollision</KEYWORD4> <KEYWORD4>OnRanOver</KEYWORD4> <KEYWORD4>PostRenderFor</KEYWORD4> <KEYWORD4>RootMotionModeChanged</KEYWORD4> <KEYWORD4>RootMotionProcessed</KEYWORD4> <KEYWORD4>RootMotionExtracted</KEYWORD4> <KEYWORD4>PostInitAnimTree</KEYWORD4> <KEYWORD4>OnRigidBodySpringOverextension</KEYWORD4> <KEYWORD4>PlayParticleEffect</KEYWORD4> <KEYWORD4>CreateForceField</KEYWORD4> <KEYWORD4>TrailsNotify</KEYWORD4> <KEYWORD4>TrailsNotifyTick</KEYWORD4> <KEYWORD4>TrailsNotifyEnd</KEYWORD4> <KEYWORD4>AnimTreeUpdated</KEYWORD4> <KEYWORD4>PostDemoRewind</KEYWORD4> <KEYWORD4>ReplicationEnded</KEYWORD4> <!-- Math Functions --> <KEYWORD4>min</KEYWORD4> <KEYWORD4>max</KEYWORD4> <KEYWORD4>abs</KEYWORD4> <KEYWORD4>clamp</KEYWORD4> <KEYWORD4>sin</KEYWORD4> <KEYWORD4>cos</KEYWORD4> <KEYWORD4>atan</KEYWORD4> <KEYWORD4>vlerp</KEYWORD4> <KEYWORD4>vsize</KEYWORD4> <KEYWORD4>vsize2d</KEYWORD4> <KEYWORD4>round</KEYWORD4> <KEYWORD4>fclamp</KEYWORD4> <KEYWORD4>fmin</KEYWORD4> <KEYWORD4>fmax</KEYWORD4> <KEYWORD4>frand</KEYWORD4> <!-- Actor Functions --> <KEYWORD4>SetLocation</KEYWORD4> <KEYWORD4>SetRotation</KEYWORD4> <KEYWORD4>SetBase</KEYWORD4> <KEYWORD4>SetHidden</KEYWORD4> <KEYWORD4>SetHardAttach</KEYWORD4> <KEYWORD4>SetCollision</KEYWORD4> <KEYWORD4>DynamicLoadObject</KEYWORD4> <!-- SkeletalMesh Component functions --> <KEYWORD4>GetSocketWorldLocationAndRotation</KEYWORD4> <KEYWORD4>GetSocketByName</KEYWORD4> <KEYWORD4>MatchRefBone</KEYWORD4> <KEYWORD4>TransformFromBoneSpace</KEYWORD4> <!-- Timer functions: UE3--> <KEYWORD4>SetTimer</KEYWORD4> <KEYWORD4>ClearTimer</KEYWORD4> <KEYWORD4>IsTimerActive</KEYWORD4> <KEYWORD4>GetTimerCount</KEYWORD4> <KEYWORD4>GetTimerRate</KEYWORD4> <KEYWORD4>ClearAllTimers</KEYWORD4> <KEYWORD4>PauseTimer</KEYWORD4> <!-- Native Iterators --> <KEYWORD4>AllActors</KEYWORD4><!-- UE2+ --> <KEYWORD4>DynamicActors</KEYWORD4><!-- UE2+ --> <KEYWORD4>ChildActors</KEYWORD4><!-- UE2+ --> <KEYWORD4>BasedActors</KEYWORD4><!-- UE2+ --> <KEYWORD4>TouchingActors</KEYWORD4><!-- UE2+ --> <KEYWORD4>TraceActors</KEYWORD4> <KEYWORD4>VisibleActors</KEYWORD4><!-- UE2+ --> <KEYWORD4>VisibleCollidingActors</KEYWORD4><!-- UE2+ --> <KEYWORD4>CollidingActors</KEYWORD4> <KEYWORD4>OverlappingActors</KEYWORD4> <KEYWORD4>ComponentList</KEYWORD4><!-- UE3+ --> <KEYWORD4>AllOwnedComponents</KEYWORD4><!-- UE3+ --> <KEYWORD4>LocalPlayerControllers</KEYWORD4> </KEYWORDS> </RULES> <RULES IGNORE_CASE="TRUE" SET="DIRECTIVE"> <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN> <!-- exec directives --> <EOL_SPAN DELEGATE="EXEC_COMMAND" TYPE="KEYWORD1">exec</EOL_SPAN> <EOL_SPAN DELEGATE="EXEC_COMMAND" TYPE="KEYWORD1">alwaysexec</EOL_SPAN> <EOL_SPAN DELEGATE="EXEC_COMMAND" TYPE="KEYWORD1">forceexec</EOL_SPAN> <!-- source include --> <EOL_SPAN DELEGATE="EXEC_COMMAND" TYPE="KEYWORD1">include</EOL_SPAN> <!-- execute command file --> <EOL_SPAN DELEGATE="EXEC_COMMAND" TYPE="KEYWORD1">call</EOL_SPAN> <EOL_SPAN DELEGATE="EXEC_COMMAND" TYPE="KEYWORD1">alwayscall</EOL_SPAN> <!-- throw compiler error --> <EOL_SPAN DELEGATE="IGNORED" TYPE="KEYWORD1">error</EOL_SPAN> <!-- UCPP directives --> <EOL_SPAN DELEGATE="MAIN" TYPE="KEYWORD1">ifdef</EOL_SPAN> <EOL_SPAN DELEGATE="MAIN" TYPE="KEYWORD1">ifndef</EOL_SPAN> <EOL_SPAN DELEGATE="MAIN" TYPE="KEYWORD1">if</EOL_SPAN> <EOL_SPAN DELEGATE="MAIN" TYPE="KEYWORD1">elif</EOL_SPAN> <EOL_SPAN DELEGATE="IGNORED" TYPE="KEYWORD1">else</EOL_SPAN> <EOL_SPAN DELEGATE="IGNORED" TYPE="KEYWORD1">endif</EOL_SPAN> <EOL_SPAN DELEGATE="MAIN" TYPE="KEYWORD1">define</EOL_SPAN> <EOL_SPAN DELEGATE="MAIN" TYPE="KEYWORD1">undef</EOL_SPAN> <EOL_SPAN DELEGATE="MAIN" TYPE="KEYWORD1">linenumber</EOL_SPAN> <EOL_SPAN DELEGATE="PRAGMA" TYPE="KEYWORD1">pragma</EOL_SPAN> <EOL_SPAN DELEGATE="PRAGMA" TYPE="KEYWORD1">ucpp</EOL_SPAN> </RULES> <RULES SET="METADATA" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="0x[\p{XDigit}]+|\d+(\.\d*)?(e[+-]?\d+)?[fF]?"> <!-- operators, separators and brackets --> <SEQ TYPE="OPERATOR">|</SEQ> <KEYWORDS> <!-- UE3 property tags --> <!-- db: moved these to keyword 3 instead of 4 to make room --> <MARKUP>AllowAbstract</MARKUP> <MARKUP>AutoComment</MARKUP> <MARKUP>DisplayName</MARKUP> <MARKUP>EditCondition</MARKUP> <MARKUP>Tooltip</MARKUP> <MARKUP>ClampMin</MARKUP> <MARKUP>ClampMax</MARKUP> <MARKUP>UIMin</MARKUP> <MARKUP>UIMax</MARKUP> </KEYWORDS> </RULES> <RULES DEFAULT="COMMENT1" SET="COMMENT"> <!-- UE3 @tags in all kinds of comments --> <!--<SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="@" TYPE="LABEL">(?<!\w)@\w+</SEQ_REGEXP>--> </RULES> <RULES DEFAULT="COMMENT3" SET="DOCCOMMENT"> <IMPORT DELEGATE="COMMENT"/> </RULES> <RULES DEFAULT="COMMENT2" SET="EOLCOMMENT"> <IMPORT DELEGATE="COMMENT"/> </RULES> <RULES DEFAULT="COMMENT1" SET="IGNORED"> <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN> </RULES> <RULES DEFAULT="MARKUP" SET="PRAGMA"> <!-- UCPP pragmas --> <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN> <KEYWORDS> <KEYWORD1>ucpp</KEYWORD1> <KEYWORD3>notice</KEYWORD3> <KEYWORD3>rename</KEYWORD3> <KEYWORD3>include</KEYWORD3> <KEYWORD3>warning</KEYWORD3> <KEYWORD3>config</KEYWORD3> <LITERAL2>true</LITERAL2> <LITERAL2>false</LITERAL2> <LITERAL2>on</LITERAL2> <LITERAL2>off</LITERAL2> </KEYWORDS> </RULES> <RULES IGNORE_CASE="TRUE" SET="EXEC_COMMAND" NO_WORD_SEP="_\\.,+-<>/?^&*"> <!-- exec directive markup --> <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN> <!-- quoted strings --> <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"> <BEGIN>"</BEGIN> <END>"</END> </SPAN> <!-- numbers --> <SEQ_REGEXP HASH_CHARS="0123456789" TYPE="DIGIT">\b(0x[\p{XDigit}]+|\d+(\.\d*)?(e[+-]?\d+)?[fF]?)\b</SEQ_REGEXP> <!-- parameters --> <MARK_PREVIOUS MATCH_TYPE="OPERATOR" TYPE="MARKUP">=</MARK_PREVIOUS> <!-- boolean values --> <KEYWORDS> <LITERAL2>true</LITERAL2> <LITERAL2>false</LITERAL2> <LITERAL2>yes</LITERAL2> <LITERAL2>no</LITERAL2> <LITERAL2>on</LITERAL2> <LITERAL2>off</LITERAL2> </KEYWORDS> </RULES> <RULES SET="CPPTEXT" ESCAPE="\" IGNORE_CASE="false"> <!-- --> <EOL_SPAN AT_WHITESPACE_END="TRUE" DELEGATE="DIRECTIVE" TYPE="KEYWORD2">#</EOL_SPAN> <SPAN TYPE="COMMENT2" DELEGATE="COMMENT"> <BEGIN>/**</BEGIN> <END>*/</END> </SPAN> <!-- multi line comments --> <SPAN TYPE="COMMENT1" DELEGATE="COMMENT"> <BEGIN>/*</BEGIN> <END>*/</END> </SPAN> <!-- end of line comments --> <EOL_SPAN TYPE="COMMENT1" DELEGATE="EOLCOMMENT">//</EOL_SPAN> <EOL_SPAN TYPE="COMMENT2" DELEGATE="EOLCOMMENT">///</EOL_SPAN> <!--<IMPORT DELEGATE="c++::LEX"/>--> <IMPORT DELEGATE="c++::CORE"/> <!--<IMPORT DELEGATE="c++::DEFINE"/>--> <KEYWORDS> <KEYWORD1>NULL</KEYWORD1> <KEYWORD1>FALSE</KEYWORD1> <KEYWORD1>TRUE</KEYWORD1> <KEYWORD1>BYTE</KEYWORD1> <KEYWORD1>FLOAT</KEYWORD1> <KEYWORD1>INT</KEYWORD1> <KEYWORD1>TCHAR</KEYWORD1> <!-- Unreal Engine CPP Types --> <KEYWORD2>FName</KEYWORD2> <KEYWORD2>FVector</KEYWORD2> <KEYWORD2>FRotator</KEYWORD2> <KEYWORD2>FColor</KEYWORD2> <KEYWORD2>FLinearColor</KEYWORD2> <KEYWORD2>FGuid</KEYWORD2> <KEYWORD2>FFrame</KEYWORD2> <KEYWORD3>FRigidBodyState</KEYWORD3> <KEYWORD3>FRigidBodyCollisionInfo</KEYWORD3> <KEYWORD3>FCollisionImpactData</KEYWORD3> <KEYWORD3>UBOOL</KEYWORD3> <KEYWORD3>UPackageMap</KEYWORD3> <KEYWORD3>UActorChannel</KEYWORD3> <KEYWORD3>UPackageMap</KEYWORD3> <KEYWORD3>UFunction</KEYWORD3> <KEYWORD3>UProperty</KEYWORD3> <KEYWORD3>UPrimitiveComponent</KEYWORD3> <KEYWORD3>ULevel</KEYWORD3> <KEYWORD3>UAnimNodeSequence</KEYWORD3> <KEYWORD3>AActor</KEYWORD3> <KEYWORD3>APawn</KEYWORD3> <KEYWORD3>APlayerController</KEYWORD3> <KEYWORD3>AVolume</KEYWORD3> <KEYWORD3>AController</KEYWORD3> <KEYWORD3>AFluidSurfaceActor</KEYWORD3> <KEYWORD3>AProjectile</KEYWORD3> <KEYWORD3>APortalTeleporter</KEYWORD3> <KEYWORD3>ANavigationPoint</KEYWORD3> <KEYWORD3>TArray</KEYWORD3> <!-- PhysX --> <KEYWORD3>NxActorDesc</KEYWORD3> <KEYWORD3>NxActor</KEYWORD3> </KEYWORDS> </RULES> <RULES SET="DEFAULTS" ESCAPE="\" IGNORE_CASE="TRUE"> <!-- defaultproperties and structdefaultproperties --> <!-- highlight initial opening brace like final closing brace (there are no others in defprops, so this shouldn't be a problem --> <SEQ TYPE="KEYWORD1">{</SEQ> <!-- multi line comments --> <SPAN TYPE="COMMENT1" DELEGATE="COMMENT"> <BEGIN>/*</BEGIN> <END>*/</END> </SPAN> <!-- end of line comments --> <EOL_SPAN TYPE="COMMENT2" DELEGATE="EOLCOMMENT">//</EOL_SPAN> <!-- string literals --> <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"> <BEGIN>"</BEGIN> <END>"</END> </SPAN> <!-- name and object literals --> <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" ESCAPE="\"> <BEGIN>'</BEGIN> <END>'</END> </SPAN> <!-- <SPAN_REGEXP AT_WORD_START="TRUE" TYPE="LITERAL2" NO_LINE_BREAK="TRUE"> <BEGIN>\w*\s*'</BEGIN> <END>'</END> </SPAN_REGEXP>--> <!-- subobjects --> <EOL_SPAN_REGEXP HASH_CHAR="b" AT_WHITESPACE_END="TRUE" DELEGATE="BEGINOBJECT" MATCH_TYPE="KEYWORD1">begin\s+object\s*</EOL_SPAN_REGEXP> <EOL_SPAN_REGEXP HASH_CHAR="e" AT_WHITESPACE_END="TRUE" MATCH_TYPE="KEYWORD1">end\s+object\s*</EOL_SPAN_REGEXP> <!-- regular expression for hexadecimal and decimal numbers, including sign --> <SEQ_REGEXP HASH_CHARS="+-0123456789" TYPE="DIGIT">\b0x[\p{XDigit}]+|[+-]?\b\d+(\.\d*)?([eE][+-]?\d+)?[fF]?\b</SEQ_REGEXP> <!-- everything before "=", ".", "(" or "[" is a variable name --> <MARK_PREVIOUS AT_WORD_START="TRUE" MATCH_TYPE="OPERATOR" TYPE="MARKUP">=</MARK_PREVIOUS> <MARK_PREVIOUS AT_WORD_START="TRUE" MATCH_TYPE="OPERATOR" TYPE="MARKUP">.</MARK_PREVIOUS> <MARK_PREVIOUS AT_WORD_START="TRUE" MATCH_TYPE="OPERATOR" TYPE="MARKUP">(</MARK_PREVIOUS> <MARK_PREVIOUS AT_WORD_START="TRUE" MATCH_TYPE="OPERATOR" TYPE="MARKUP">[</MARK_PREVIOUS><!-- Invalid for arrays in defaults --> <!-- closing brackets --> <SEQ TYPE="OPERATOR">]</SEQ><!-- Invalid for arrays in defaults --> <SEQ TYPE="OPERATOR">)</SEQ> <!-- comma for dynarray and struct values --> <SEQ TYPE="OPERATOR">,</SEQ> <!-- variable names can be separated from "=" by whitespace, so highlight that case separately --> <SEQ_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHARS="abcdefghijklmnopqrstuvwxyz" TYPE="MARKUP">\w+</SEQ_REGEXP> <KEYWORDS> <KEYWORD1>class</KEYWORD1> <!-- dynamic array operations --> <KEYWORD1>Add</KEYWORD1> <KEYWORD1>Empty</KEYWORD1> <KEYWORD1>Remove</KEYWORD1> <!-- literals --> <KEYWORD2>False</KEYWORD2> <KEYWORD2>None</KEYWORD2> <KEYWORD2>True</KEYWORD2> <!-- UnrealEngine Classes / Enums --> <KEYWORD3>AnimSet</KEYWORD3><!-- UE3 --> <KEYWORD3>CameraAnim</KEYWORD3> <KEYWORD3>Emitter</KEYWORD3> <KEYWORD3>ParticleSystem</KEYWORD3> <KEYWORD3>Material</KEYWORD3> <KEYWORD3>MaterialInterface</KEYWORD3><!-- UE3 --> <KEYWORD3>Texture</KEYWORD3> <KEYWORD3>Texture2D</KEYWORD3> <KEYWORD3>SkeletalMesh</KEYWORD3> <KEYWORD3>AnimTree</KEYWORD3> <KEYWORD3>PhysicsAsset</KEYWORD3> <!--Components UE3--> <KEYWORD3>Component</KEYWORD3> <KEYWORD3>ActorComponent</KEYWORD3> <KEYWORD3>PrimitiveComponent</KEYWORD3> <KEYWORD3>SVehicleSimBase</KEYWORD3> <KEYWORD3>StaticMeshComponent</KEYWORD3> <KEYWORD3>SkeletalMeshComponent</KEYWORD3> <KEYWORD3>ParticleSystemComponent</KEYWORD3> <KEYWORD3>PointLightComponent</KEYWORD3> <KEYWORD3>SplineComponent</KEYWORD3> <!--UDK specific--> <KEYWORD3>UDKParticleSystemComponent</KEYWORD3> <KEYWORD3>UDKExplosionLight</KEYWORD3> <!--UT3 specific--> <KEYWORD3>UTSkeletalMeshComponent</KEYWORD3> <!--Sound, was changed--> <KEYWORD3>Sound</KEYWORD3> <KEYWORD3>SoundNode</KEYWORD3><!-- UE3 --> <KEYWORD3>SoundCue</KEYWORD3><!-- UE3 --> <KEYWORD3>ParticleSystem</KEYWORD3> </KEYWORDS> </RULES> <RULES SET="BEGINOBJECT"> <!-- special highlighting for "Begin Object" lines --> <SEQ TYPE="OPERATOR">=</SEQ> <!-- multi line comments --> <SPAN TYPE="COMMENT1" DELEGATE="COMMENT"> <BEGIN>/*</BEGIN> <END>*/</END> </SPAN> <!-- name and object literals --> <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" ESCAPE="\"> <BEGIN>'</BEGIN> <END>'</END> </SPAN> <KEYWORDS> <KEYWORD1>Class</KEYWORD1> <KEYWORD1>Name</KEYWORD1> <KEYWORD1>LegacyClassName</KEYWORD1><!-- UE3 --> <KEYWORD1>ObjName</KEYWORD1> <KEYWORD1>Archetype</KEYWORD1><!-- UE3 --> <!-- UnrealEngine Classes / Enums --> <KEYWORD3>AnimSet</KEYWORD3><!-- UE3 --> <KEYWORD3>CameraAnim</KEYWORD3> <KEYWORD3>Emitter</KEYWORD3> <KEYWORD3>ParticleSystem</KEYWORD3> <KEYWORD3>Material</KEYWORD3> <KEYWORD3>MaterialInterface</KEYWORD3><!-- UE3 --> <KEYWORD3>Texture</KEYWORD3> <KEYWORD3>Texture2D</KEYWORD3> <!--Components UE3--> <KEYWORD3>Component</KEYWORD3> <KEYWORD3>ActorComponent</KEYWORD3> <KEYWORD3>PrimitiveComponent</KEYWORD3> <KEYWORD3>SVehicleSimBase</KEYWORD3> <KEYWORD3>StaticMeshComponent</KEYWORD3> <KEYWORD3>SkeletalMeshComponent</KEYWORD3> <KEYWORD3>ParticleSystemComponent</KEYWORD3> <KEYWORD3>PointLightComponent</KEYWORD3> <KEYWORD3>SplineComponent</KEYWORD3> <!--UDK specific--> <KEYWORD3>UDKParticleSystemComponent</KEYWORD3> <KEYWORD3>UDKExplosionLight</KEYWORD3> <!--UT3 specific--> <KEYWORD3>UTSkeletalMeshComponent</KEYWORD3> <!--Sound, was changed--> <KEYWORD3>Sound</KEYWORD3> <KEYWORD3>SoundNode</KEYWORD3><!-- UE3 --> <KEYWORD3>SoundCue</KEYWORD3><!-- UE3 --> </KEYWORDS> </RULES> </MODE>