Effect flags


A set of bitflags for configuring client-side visual effects.
Usage From Hammer
Effect flags can be configured from Hammer. To do so, turn off SmartEdit and add a new keyvalue pair:
effects <n>
"n
" is the sum total of the flags you want to use. For example, 66 would mean EF_BRIGHTLIGHT
and EF_NORECEIVESHADOW
.
Alternatively, you can add the following code (or similar) to the FGD entries of entities you wish to use effect flags on:
effects(choices) : "Effect Flags" : 0 : "For configuring visual effects. If you want to combine effects, simply type in the sum of the effect numbers, e.g., '72' for 64+8." = [ 0: "0 - None" 1: "1 - EF_BONEMERGE: Bonemerge always (very expensive!)" 2: "2 - EF_BRIGHTLIGHT: Bright, dynamic light at entity origin" 4: "4 - EF_DIMLIGHT: Dim, dynamic light at entity origin" 8: "8 - EF_NOINTERP: No movement interpolation" 16: "16 - EF_NOSHADOW: Don't cast shadows" 32: "32 - EF_NODRAW: Don't draw entity (entity is fully ignored by clients, NOT server; can cause collision problems)" 64: "64 - EF_NORECEIVESHADOW: Don't receive dynamic shadows" 128: "128 - EF_BONEMERGE_FASTCULL: Bonemerge only in PVS, better performance but prone to disappearing. Use with Bonemerge." 256: "256 - EF_ITEM_BLINK: Unsubtle blink" 512: "512 - EF_PARENT_ANIMATES: Flag parent as always animating and realign each frame" ]
If you wish to use effect flags on enough entity classes, it may be worthwhile to create or modify a BaseClass
instead of adding code to numerous entity classes individually.


Flags
EF_BONEMERGE : [1]
- Merges bones of names shared with a parent entity to the position and direction of the parent's.
EF_BRIGHTLIGHT : [2]
- Emits a dynamic light of RGB(250,250,250) and a random radius of 400 to 431 from the origin.
EF_DIMLIGHT : [4]
- Emits a dynamic light of RGB(100,100,100) and a random radius of 200 to 231 from the origin.
EF_NOINTERP : [8]
- Don't interpolate on the next frame.
Bug:Causes crashes. [todo tested in ?]
EF_NOSHADOW : [16]
- Don't create a render-to-texture shadow, does not affect projected texture shadows.
Note:Same as
disableshadows 1
.
EF_NODRAW : [32]
- Entity is completely ignored by the client, and stops drawing the entity.

EF_NORECEIVESHADOW : [64]
- Don't receive dynamic shadows.
Note:Same as
disablereceiveshadows 1
.
EF_BONEMERGE_FASTCULL : [128]
EF_ITEM_BLINK : [256]
- Blink an item so that the user notices it. Added for original Xbox, and not very subtle.
EF_PARENT_ANIMATES : [512]
- Assume that the parent entity is always animating. Causes it to realign every frame.
Note:Does not function with the
effects
keyvalue.
EF_MARKED_FOR_FAST_REFLECTION : [1024] (in all games since )
- Marks the entity to render in fast water reflections.
Note:Same as
drawinfastreflection 1.
EF_NOSHADOWDEPTH : [2048] (in all games since )
- Stops env_cascade_light and env_projectedtexture from making shadows for this entity.
Note:Same as
disableshadowdepth 1
.
EF_SHADOWDEPTH_NOCACHE : [4096]
- Don't cache this entity into shadow depthmaps, update it every frame.
EF_NOFLASHLIGHT : [8192] (in all games since )
- Stops projected textures from making shadows for this entity.
Note:Same as
disableflashlight 1
.
EF_NOCSM : [16384] (in all games since )
- Don't cast shadows from cascade shadow maps.
Functions

EF_
effect flags with EFL_
entity flags (aka EFlags
). Always use the following AddEffects
series of functions for the EF_
flags on this page, and never AddEFlags
. Even some of Valve's own code and past versions of this article have made this mistake!AddEffects()
/SetEffects()
RemoveEffects()
GetEffects()
IsEffectActive()