%CompilePassBullets

From Valve Developer Community
(Redirected from %CompilePassBullets)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Stub

This article or section is a stub. You can help by expanding it.

For models, see $contents grate.

Adding this VMT parameter to a material to make VBSP flag the brush contents as CONTENTS_GRATE, causing the brush to be non-solid to hitscan traces, such as bullets. Useful for foliage or metal grates.

Icon-Bug.pngBug:Does not work correctly in some games (need to use separate %CompileClip brushes instead):
  • Does not work in Counter-Strike: Global Offensive and Counter-Strike: Source.
  • Only allows explosions through in Team Fortress 2
Confirm:A custom VBSP which applies CONTENTS_PLAYERCLIP and CONTENTS_MONSTERCLIP instead of CONTENTS_GRATE (without applying SURF_NODRAW and SURF_NOLIGHT, unlike %CompileClip) would probably function as intended in these games.

Example code:

if ( ( propVal = GetMaterialVar( matID, "%compileClipYesDraw" ) ) && StringIsTrue( propVal ) )
{
	// like %compilePassBullets, but works in CS:S and TF2
	// NOTE: This has effects on visibility too!
	textureref[i].contents &= ~CONTENTS_SOLID;
	textureref[i].contents |= CONTENTS_PLAYERCLIP | CONTENTS_MONSTERCLIP;
}
Confirm:Seems to act oddly in regards to casting lightmap shadows; see talk page.