Effect flags: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
(→‎Flags: Use proper flag template)
Line 29: Line 29:


== Flags ==
== Flags ==
;1    - {{ent|EF_BONEMERGE}}: Merges bones of names shared with a parent entity to the position and direction of the parent's.
{{fl|1|[[EF_BONEMERGE]]|Merges bones of names shared with a parent entity to the position and direction of the parent's.}}
;2    - {{ent|EF_BRIGHTLIGHT}}: Emits a dynamic light of RGB(250,250,250) and a random radius of 400 to 431 from the origin.
{{fl|2|[[EF_BRIGHTLIGHT]]|Emits a dynamic light of RGB(250,250,250) and a random radius of 400 to 431 from the origin.}}
;4    - {{ent|EF_DIMLIGHT}}: Emits a dynamic light of RGB(100,100,100) and a random radius of 200 to 231 from the origin.
{{fl|4|[[EF_DIMLIGHT]]|Emits a dynamic light of RGB(100,100,100) and a random radius of 200 to 231 from the origin.}}
;8    - {{ent|EF_NOINTERP}}: Don't [[interpolation|interpolate]] on the next frame.{{warning|Causes crashes.}}
{{fl|8|[[EF_NOINTERP]]|Don't [[interpolation|interpolate]] on the next frame.{{warning|Causes crashes.}}}}
;16    - {{ent|EF_NOSHADOW}}: Don't create a render-to-texture shadow, does not affect projected texture shadows.{{note|Same as <code style{{=}}padding:0>disableshadows 1</code>.}}
{{fl|16|[[EF_NOSHADOW]]|Don't create a render-to-texture shadow, does not affect projected texture shadows.{{note|Same as <code style{{=}}padding:0>disableshadows 1</code>.}}}}
;32    - {{ent|EF_NODRAW}}: Entity is completely ignored by the client, and stops drawing the entity. Can cause prediction errors if a player proceeds to collide with it on the server, so use {{ent|Render Modes|alt=rendermode|10}} instead if this is a problem.
{{fl|32|[[EF_NODRAW]]|Entity is completely ignored by the client, and stops drawing the entity. Can cause prediction errors if a player proceeds to collide with it on the server, so use {{ent|Render Modes|alt=rendermode|10}} instead if this is a problem.}}
;64    - {{ent|EF_NORECEIVESHADOW}}: Don't receive dynamic shadows.{{note|1=Same as <code style=padding:0>disablereceiveshadows 1</code>.}}
{{fl|64|[[EF_NORECEIVESHADOW]]|Don't receive dynamic shadows.{{note|1=Same as <code style=padding:0>disablereceiveshadows 1</code>.}}}}
;128  - {{ent|EF_BONEMERGE_FASTCULL}}: For use with <code style=padding:0>EF_BONEMERGE</code>. If set, the entity will use its parent's origin to calculate whether it is visible; if not set, it will set up parent's bones every frame even if the parent is not in the [[PVS]].
{{fl|128|[[EF_BONEMERGE_FASTCULL]]|For use with <code style=padding:0>EF_BONEMERGE</code>. If set, the entity will use its parent's origin to calculate whether it is visible; if not set, it will set up parent's bones every frame even if the parent is not in the [[PVS]].}}
;256  - {{ent|EF_ITEM_BLINK}}: Blink an item so that the user notices it. Added for original Xbox, and not very subtle.
{{fl|256|[[EF_ITEM_BLINK]]|Blink an item so that the user notices it. Added for original Xbox, and not very subtle.}}
;512  - {{ent|EF_PARENT_ANIMATES}}: Assume that the [[parent]] entity is always animating. Causes it to realign every frame.{{Note|Does not function with the <code>effects</code> keyvalue.}}
{{fl|512|[[EF_PARENT_ANIMATES]]|Assume that the [[parent]] entity is always animating. Causes it to realign every frame.{{Note|Does not function with the <code>effects</code> keyvalue.}}}}
;1024  - {{ent|EF_MARKED_FOR_FAST_REFLECTION}}: Marks the entity to render in fast water reflections.{{note|Same as <code style{{=}}padding:0>drawinfastreflection 1.</code>}}
{{fl|1024|[[EF_MARKED_FOR_FAST_REFLECTION]]|Marks the entity to render in fast water reflections.{{note|Same as <code style{{=}}padding:0>drawinfastreflection 1.</code>}}|since={{portal2}}}}
;2048  - {{ent|EF_NOSHADOWDEPTH}}: Stops {{ent|env_cascade_lighting}} and {{ent|env_projectedtexture}} from making shadows for this entity.{{note|Same as <code style{{=}}padding:0>disableshadowdepth 1</code>.}}
{{fl|2048|[[EF_NOSHADOWDEPTH]]|Stops {{ent|env_cascade_lighting}} and {{ent|env_projectedtexture}} from making shadows for this entity.{{note|Same as <code style{{=}}padding:0>disableshadowdepth 1</code>.}}|since={{portal2}}}}
;4096  - {{ent|EF_SHADOWDEPTH_NOCACHE}}: Don't cache this entity into shadow depthmaps, update it every frame.
{{fl|4096|[[EF_SHADOWDEPTH_NOCACHE]]|Don't cache this entity into shadow depthmaps, update it every frame.}}
;8192  - {{ent|EF_NOFLASHLIGHT}}:Stops projected textures from making shadows for this entity.{{note|Same as <code style{{=}}padding:0>disableflashlight 1</code>.}}
{{fl|8192|[[EF_NOFLASHLIGHT]]|Stops projected textures from making shadows for this entity.{{note|Same as <code style{{=}}padding:0>disableflashlight 1</code>.}}|since={{portal2}}}}
;16384 - {{ent|EF_NOCSM}} {{csgo|since}}:Don't cast shadows from cascade shadow maps.
{{fl|16384|[[EF_NOCSM]]|Don't cast shadows from cascade shadow maps.|since={{csgo}}}}
 
== Functions ==
== Functions ==
*<code>AddEFlags()</code> / <code>SetEFlags()</code>
*<code>AddEFlags()</code> / <code>SetEFlags()</code>

Revision as of 16:07, 11 August 2024

English (en)Translate (Translate)

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.

Tip.pngTip:Effect flags are enabled by default in TeamSpen's Hammer Addons TeamSpen's Hammer Addons.

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.
Warning.pngWarning:Causes crashes.
EF_NOSHADOW : [16]
Don't create a render-to-texture shadow, does not affect projected texture shadows.
Note.pngNote:Same as disableshadows 1.
EF_NODRAW : [32]
Entity is completely ignored by the client, and stops drawing the entity. Can cause prediction errors if a player proceeds to collide with it on the server, so use rendermode 10 instead if this is a problem.
EF_NORECEIVESHADOW : [64]
Don't receive dynamic shadows.
Note.pngNote: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.pngNote:Does not function with the effects keyvalue.
EF_MARKED_FOR_FAST_REFLECTION : [1024] (in all games since Portal 2)
Marks the entity to render in fast water reflections.
Note.pngNote:Same as drawinfastreflection 1.
EF_NOSHADOWDEPTH : [2048] (in all games since Portal 2)
Stops env_cascade_lighting and env_projectedtexture from making shadows for this entity.
Note.pngNote: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 Portal 2)
Stops projected textures from making shadows for this entity.
Note.pngNote:Same as disableflashlight 1.
EF_NOCSM : [16384] (in all games since Counter-Strike: Global Offensive)
Don't cast shadows from cascade shadow maps.

Functions

  • AddEFlags() / SetEFlags()
  • RemoveEFlags()
  • GetEFlags()
  • IsEFlagSet()

See also