$definemacro
From Valve Developer Community
Defines a string substitution macro. A macro can be used as a short hand way to specify other QC commands. The macro creates a block a named block of text, that when referred to will virtually insert that text into the QC file, along with replacing the named parameters with the specified values.
[edit]
Syntax
$definemacro (macroname) [arg_name1] [arg_name2] [...] \\
- Defines a string substation macro.
- The macro definition begins on the next line, and all subsequent lines that end with \\ (two backslashes).
- Arguments are referenced by surrounding them with $’s (i.e.
$arg_name1$), and can be embedded inside of other words. - To use the macro, type
$macronameand the next N tokens will be taken as arguments.
[edit]
Examples
$definemacro testmacro seqname filename endframe \\
$sequence $seqname$01 $filename$ { \\
frames 0 $endframe$ \\
subtract $seqname$ 0 delta \\
weightlist justbody \\
}
Then, to use the macro, do:
$testmacro small_flinch "npc flinch 01" 20
Another example:
$definemacro makeidlenoise idleNoiseName fileName \\
$sequence $idleNoiseName$ {\\
$fileName$ \\
subtract $idleNoiseName$ 0 \\
iklock lfoot 1 0 iklock rfoot 1 0 \\
delta \\
hidden \\
realtime \\
}
$makeidlenoise idleNoise03 "Idle03"
$makeidlenoise idleNoise04 "Idle04_v32"
[edit]
