CompilePassBullets: Difference between revisions
Jump to navigation
Jump to search
Bug:Does not work correctly in some games (need to use separate %CompileClip brushes instead):
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.
Confirm:Seems to act oddly in regards to casting lightmap shadows; see talk page.
SirYodaJedi (talk | contribs) mNo edit summary |
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified) |
||
Line 4: | Line 4: | ||
Adding this [[VMT]] parameter to a material to make [[VBSP]] flag the brush contents as {{code|[[CONTENTS_GRATE]]}}, causing the brush to be non-solid to hitscan traces, such as bullets. Useful for foliage or metal grates. | Adding this [[VMT]] parameter to a material to make [[VBSP]] flag the brush contents as {{code|[[CONTENTS_GRATE]]}}, causing the brush to be non-solid to hitscan traces, such as bullets. Useful for foliage or metal grates. | ||
{{bug|Does not work correctly in some games (need to use separate [[%CompileClip]] brushes instead): | {{bug|hidetested=1|Does not work correctly in some games (need to use separate [[%CompileClip]] brushes instead): | ||
* Does not work in {{csgo}} and {{css}}. | * Does not work in {{csgo}} and {{css}}. | ||
* Only allows explosions through in {{tf2}} | * Only allows explosions through in {{tf2}} |
Latest revision as of 07:15, 20 May 2025
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.


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;
}
