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.
Tag: Undo |
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified) |
||
(15 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{stub}} | {{subpage|[[Material map compile flags]]}} | ||
{{stub}}{{DISPLAYTITLE:%CompilePassBullets}} | |||
{{for|models|{{cmd|$contents|grate}}}} | |||
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 in {{csgo}} and {{css}}.}} | {{bug|hidetested=1|Does not work correctly in some games (need to use separate [[%CompileClip]] brushes instead): | ||
* Does not work in {{csgo}} and {{css}}. | |||
* Only allows explosions through in {{tf2}} | |||
{{modernConfirm|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: | |||
<source lang=cpp> | |||
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; | |||
} | |||
</source>}} | |||
}} | |||
{{confirm|Seems to act oddly in regards to casting lightmap shadows; see [[Talk:%CompilePassBullets|talk page]].}} | |||
[[Category: | [[Category:Shader parameters]] |
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;
}
