Infodecal: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Add bug regarding placing this near a brush entity)
m (→‎top: clean up, replaced: {{source| → {{src|)
Line 3: Line 3:
{{CD|CDecal|file1=world.cpp}}
{{CD|CDecal|file1=world.cpp}}
{{entity|infodecal|type=e0}} It is used to place a static [[decal]] in a map.
{{entity|infodecal|type=e0}} It is used to place a static [[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.
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 {{src|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.


{{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 -->
{{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 -->

Revision as of 03:04, 4 January 2024

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

Template:Entity It is used to place a static 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.

Warning.pngRisk of Confusion:Unlike most entities with the prefix info, infodecal does not have an underscore!
Icon-Important.pngImportant:This is a preserved entity in Counter-Strike: SourceHalf-Life 2: DeathmatchLeft 4 DeadLeft 4 Dead 2Alien Swarm: Reactive DropPortal 2Counter-Strike: Global Offensive.
If the game has round restart mechanics this entity may not behave as expected:
More info
  • On a new round entities with this classname will intentionally not reset. You can use logic_auto to emulate resetting it.
  • Killing it removes it forever, as it is not respawned on a new round.
  • It cannot be spawned with a point_template.
  • Parenting this with non-preserved entities may have undesirable effects.
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 ?]
Icon-Bug.pngBug:Placing this entity near brush entities may cause the game to crash with a fatal error randomly on map load: Bad inline model number N, worldmodel not yet setup  [todo tested in ?]

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