Infodecal: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
(-added class hierarchy, cleanup, info, important notice changed into confusion notice)
Line 1: Line 1:
__NOTOC__
[[File:Infodecal.jpg|thumb|right|300px|Infodecal with Cubemap decaltexture]]
[[File:Infodecal.jpg|thumb|right|300px|Infodecal with Cubemap decaltexture]]
 
{{CD|CDecal|file1=world.cpp}}
{{entity|infodecal|type=e0}} It is used to place a [[decal]] in a map.
{{entity|infodecal|type=e0}} It is used to place a [[decal]] in a map.
It is the entity created when the [[Hammer Decal Tool|Decal tool]] is used. It places a texture on any surface, with transparency if the texture being applied supports transparency. In {{gldsrc|2}}, these textures were indicated by being in [[Decals (GoldSrc)|decals.wad]], while in {{source|2}}, they are indicated by the {{ent|$decal}} material parameter and typically placed in the <code>decals/</code> texture folder. When needed, an [[info overlay | overlay]] can be used for more control over the applied texture. For example, an <code>infodecal</code> cannot be applied to a displacement, resized, or rotated, while an overlay can; however, overlays cannot be applied dynamically.


{{bug|In games where this entity is not [[S_PreserveEnts|preserved]], such as {{tf2|2}}, large amounts of this entity present may overflow the decal limit after round restarts and not allow any more decals to be spawned. This can be be workarounded by spawning the decals once-off via [[VScript]] or [[point_template]]s instead.}}
{{bug|In games where this entity is not [[S_PreserveEnts|preserved]], such as {{tf2|2}}, large amounts of this entity present may overflow the decal limit after round restarts and not allow any more decals to be spawned. This can be be workarounded by spawning the decals once-off via [[VScript]] or [[point_template]]s instead.}}
{{modernImportant|Unlike most entities with the prefix {{mono|info}}, {{ent|infodecal}} does ''not'' have an underscore!}} <!-- notable because it's an easy mistake to make; even info_overlay has an underscore -->
{{ModernConfusion|Unlike most entities with the prefix {{mono|info}}, {{ent|infodecal}} does ''not'' have an underscore!}} <!-- notable because it's an easy mistake to make; even info_overlay has an underscore -->
==Entity Description==
 
It is the entity created when the [[Hammer Decal Tool|Decal tool]] is used. It places a texture on any surface, with transparency if the texture being applied supports transparency. In {{gldsrc|2}}, these textures were indicated by being in [[Decals (GoldSrc)|decals.wad]], while in {{source|2}}, they are indicated by the {{ent|$decal}} material parameter and typically placed in the <code>decals/</code> texture folder. When needed, an [[info overlay | overlay]] can be used for more control over the applied texture. For example, an <code>infodecal</code> cannot be applied to a displacement, resized, or rotated, while an overlay can; however, overlays cannot be applied dynamically.
 
{{note|Naming this entity will make it count towards the [[Entity limit]] and make it more [[expensive]], similar to a {{ent|light}} entity.}}


== Keyvalues ==
== Keyvalues ==
{{KV Targetname}}
:{{note|Unnamed infodecal applies the decal right after spawning and then removes itself. If named, <code>Activate</code> input needs to be fired to spawn the decal. The entity counts towards [[edict limit]] in both cases though in the first case it's only for a fraction of second.}}
{{KV|texture|intn=texture|decal|The image to apply as a decal.}}
{{KV|texture|intn=texture|decal|The image to apply as a decal.}}
{{KV|Low Priority (can be replaced)|intn=LowPriority|boolean|If true, allows the decal to be removed to accommodate newly-placed decals. Default behavior is false (high priority), meaning it is always present.}}
{{KV|Low Priority (can be replaced)|intn=LowPriority|boolean|If true, allows the decal to be removed to accommodate newly-placed decals. Default behavior is false (high priority), meaning it is always present.}}
{{KV|Apply Entity|intn=ApplyEntity|target_destination|An optional entity to apply the decal to.  If this is empty, the decal will locate the entity by tracing.
{{KV|Apply Entity|intn=ApplyEntity|target_destination|An optional entity to apply the decal to.  If this is empty, the decal will locate the entity by tracing.
:{{note|Mainly present in {{l4ds}} FGDs, but is still implemented in future branches.}}|since={{l4d}}}}
:{{note|Mainly present in {{l4ds}} FGDs, but is still implemented in future branches.}}|since={{l4d}}}}
{{KV Targetname}}


== Inputs ==
== Inputs ==
{{IO|Activate|Force the decal to apply itself to the world.}}
{{IO|Activate|Force the decal to apply itself to the world and removes itself.}}
{{I Targetname}}
 
== Outputs ==
{{O Targetname}}


== See also ==
== See also ==

Revision as of 22:51, 9 August 2023

Infodecal with Cubemap decaltexture
C++ Class hierarchy
CDecal
CPointEntity
CBaseEntity
C++ world.cpp

Template:Entity It is used to place a decal in a map. It is the entity created when the Decal tool is used. It places a texture on any surface, with transparency if the texture being applied supports transparency. In GoldSrc GoldSrc, these textures were indicated by being in decals.wad, while in Source Source, they are indicated by the $decal material parameter and typically placed in the decals/ texture folder. When needed, an overlay can be used for more control over the applied texture. For example, an infodecal cannot be applied to a displacement, resized, or rotated, while an overlay can; however, overlays cannot be applied dynamically.

Icon-Bug.pngBug:In games where this entity is not preserved, such as Team Fortress 2 Team Fortress 2, large amounts of this entity present may overflow the decal limit after round restarts and not allow any more decals to be spawned. This can be be workarounded by spawning the decals once-off via VScript or point_templates instead.  [todo tested in ?]
Warning.pngRisk of Confusion:Unlike most entities with the prefix info, infodecal does not have an underscore!

Keyvalues

Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Note.pngNote:Unnamed infodecal applies the decal right after spawning and then removes itself. If named, Activate input needs to be fired to spawn the decal. The entity counts towards edict limit in both cases though in the first case it's only for a fraction of second.
texture (texture) <decal>
The image to apply as a decal.
Low Priority (can be replaced) (LowPriority) <boolean>
If true, allows the decal to be removed to accommodate newly-placed decals. Default behavior is false (high priority), meaning it is always present.
Apply Entity (ApplyEntity) <targetname> (in all games since Left 4 Dead)
An optional entity to apply the decal to. If this is empty, the decal will locate the entity by tracing.
Note.pngNote:Mainly present in Left 4 Dead seriesLeft 4 Dead series FGDs, but is still implemented in future branches.

Inputs

Activate
Force the decal to apply itself to the world and removes itself.

See also