Decals (GoldSrc)
Remember to check for any notes left by the tagger at this article's talk page.
Contents
Infodecal
infodecal
can be used to display decals from decals.wad. This is generally the easiest way to place a decal, however it can be finicky where a decal needs to be placed on the grid in comparison to the brush. Additionally, infodecals can sometimes shift around when reloading a map, and may disappear if enough code-generated decals (such as bullet decals) are spawned.
Oriented IndexAlpha Sprites
Sprites have an oft-neglected texture format, called IndexAlpha, which provides 8-bit alpha translucency, resulting in an effect similar to decals. These are useful for simulating hard shadows "cast" from models, and can also be used instead of infodecal to allow custom decals in multiplayer maps, as well as to more reliably place a decal in a specific location. This also allows for scaling the decal, as sprites can use an arbitrary scale, instead of being restricted to the brush texel size.
This can also be used for decals placed on models, which normally cannot have decals, although they won't wrap around geometr
Baking into the WAD or MDL texture
Normally, decals need to be a single color. This can be worked around by simply creating a duplicate version of the texture that would normally house the decal, but with the decal drawn directly onto the texture. This method was used for several textures used by de_dust and de_dust2 in Counter-Strike.
This also prevents the decal from affecting the number of max edicts, and is cheaper to render, as it does not require texture blending.
Examples of decals in the Goldsrc Engine
- Explosion Marks(Grenades,Rockets,Satchel charge,Explosive barrels,Mines,etc)
- Alien blood (Shows if violence_ablood equals 1 and/or content lock is disabled)
- Human blood (Shows if violence_hblood equals 1 and/or content lock is disabled)
- Gauss gun wall mark
- Bullet holes
- Bull Squid's acid