$cmdlist: Difference between revisions
Jump to navigation
Jump to search

Trigger hurt (talk | contribs) m (Making use of the "this is a" template for the first line here + cleanup for consistency with other QC commands.) |
No edit summary |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{LanguageBar}} | {{LanguageBar}} | ||
{{this is a|QC command|name=$cmdlist}} It creates a reusable list of <code>[[$animation]]</code> tokens, allowing you to reuse the same set of options for multiple | {{this is a|QC command|name=$cmdlist}} It creates a reusable list of <code>[[$animation]]</code> tokens, allowing you to reuse the same set of options for multiple $animations.<br> | ||
This in turn lets you not only save space, but also lets you edit multiple animations at once. | |||
== Syntax == | == Syntax == | ||
$cmdlist (name) [options...] | $cmdlist (name) [options...] | ||
== Options | === Example === | ||
<source> | |||
$cmdlist shared_stuff { ikrule rhand touch Weapon usesource ikrule lhand touch Weapon usesource Subtract a_idle 0 } | |||
$Sequence "shoot" "anim/shoot" cmdlist shared_stuff delta ACT_VM_PRIMARYATTACK_LAYER | |||
$Sequence "draw" "anim/draw" cmdlist shared_stuff delta ACT_VM_DEPLOY_LAYER | |||
$Sequence "reload" "anim/reload" cmdlist shared_stuff delta ACT_VM_RELOAD_LAYER | |||
</source> | |||
Without using cmdlist, the QC would look like this<source> | |||
$Sequence "shoot" "anim/shoot" ikrule rhand touch Weapon usesource ikrule lhand touch Weapon usesource Subtract a_idle 0 delta ACT_VM_PRIMARYATTACK_LAYER | |||
$Sequence "draw" "anim/draw" ikrule rhand touch Weapon usesource ikrule lhand touch Weapon usesource Subtract a_idle 0 delta ACT_VM_DEPLOY_LAYER | |||
$Sequence "reload" "anim/reload" ikrule rhand touch Weapon usesource ikrule lhand touch Weapon usesource Subtract a_idle 0 delta ACT_VM_RELOAD_LAYER | |||
</source> | |||
== Options == | |||
These commands are available to be used inside a cmdlist. Essentially the same as [[$animation]], but with less options. <br> | |||
As example <code>Frames</code> is missing. | |||
*align | *align | ||
*alignboneto | *alignboneto | ||
*alignto | |||
*compress | |||
*counterrotate | |||
*counterrotateto | |||
*derivative | |||
*fixuploop | |||
*ikfixup | |||
*ikrule | |||
*lineardelta | |||
*match | *match | ||
*matchblend | *matchblend | ||
*noanimation | |||
*numframes | |||
*presubtract | |||
*rotateto | |||
*splinedelta | |||
*subtract (but not delta) | |||
*walkalign | |||
*walkalignto | |||
*walkframe | |||
*weightlist | |||
*worldspaceblend | *worldspaceblend | ||
*worldspaceblendloop | *worldspaceblendloop | ||
== See also == | == See also == | ||
* [[$sequence]] | * [[$sequence]] | ||
Latest revision as of 19:34, 16 July 2025


$cmdlist
is a QC command available in all Source games. It creates a reusable list of
$animation
tokens, allowing you to reuse the same set of options for multiple $animations.
This in turn lets you not only save space, but also lets you edit multiple animations at once.
Syntax
$cmdlist (name) [options...]
Example
$cmdlist shared_stuff { ikrule rhand touch Weapon usesource ikrule lhand touch Weapon usesource Subtract a_idle 0 }
$Sequence "shoot" "anim/shoot" cmdlist shared_stuff delta ACT_VM_PRIMARYATTACK_LAYER
$Sequence "draw" "anim/draw" cmdlist shared_stuff delta ACT_VM_DEPLOY_LAYER
$Sequence "reload" "anim/reload" cmdlist shared_stuff delta ACT_VM_RELOAD_LAYER
Without using cmdlist, the QC would look like this
$Sequence "shoot" "anim/shoot" ikrule rhand touch Weapon usesource ikrule lhand touch Weapon usesource Subtract a_idle 0 delta ACT_VM_PRIMARYATTACK_LAYER
$Sequence "draw" "anim/draw" ikrule rhand touch Weapon usesource ikrule lhand touch Weapon usesource Subtract a_idle 0 delta ACT_VM_DEPLOY_LAYER
$Sequence "reload" "anim/reload" ikrule rhand touch Weapon usesource ikrule lhand touch Weapon usesource Subtract a_idle 0 delta ACT_VM_RELOAD_LAYER
Options
These commands are available to be used inside a cmdlist. Essentially the same as $animation, but with less options.
As example Frames
is missing.
- align
- alignboneto
- alignto
- compress
- counterrotate
- counterrotateto
- derivative
- fixuploop
- ikfixup
- ikrule
- lineardelta
- match
- matchblend
- noanimation
- numframes
- presubtract
- rotateto
- splinedelta
- subtract (but not delta)
- walkalign
- walkalignto
- walkframe
- weightlist
- worldspaceblend
- worldspaceblendloop