Tool textures (Source): Difference between revisions
(→General: reworded the same section again, cutting the large warning into a warning, a workaround and a tip. to make it nicer to look at.) |
SirYodaJedi (talk | contribs) (assume tools dir as root) |
||
Line 42: | Line 42: | ||
|- id="black" | |- id="black" | ||
| [[File:Toolsblack.gif|64px]] | | [[File:Toolsblack.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblack}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 59: | Line 59: | ||
|- id="white" | |- id="white" | ||
| [[File:Toolswhite.gif|64px]] | | [[File:Toolswhite.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolswhite}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 70: | Line 70: | ||
| {{hl2ep2|since}} | | {{hl2ep2|since}} | ||
{{note|Not in {{tf2|2.bold}}}} | {{note|Not in {{tf2|2.bold}}}} | ||
Identical to <tt>lights/white</tt> (which is available in all Source games). Using glass [[surfaceprop]]. | Identical to <tt>lights/white</tt> (which is available in all Source games), but [[RAD file|doesn't cast any light]] by default. Using glass [[surfaceprop]]. | ||
|- id="blockbullets" | |- id="blockbullets" | ||
| [[File:Toolsblockbullets.gif|64px]] | | [[File:Toolsblockbullets.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblockbullets}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 87: | Line 87: | ||
This texture is basically <code>ToolsInvisible</code>, but without the <code>%compilepassbullets</code> flag.}} | This texture is basically <code>ToolsInvisible</code>, but without the <code>%compilepassbullets</code> flag.}} | ||
{{Workaround|Two invisible, not movable, or [[prop_physics]] models with the flag "Debris" in the same spot can block bullets.<br> | {{Workaround|Two invisible, not movable, or [[prop_physics]] models with the flag "Debris" in the same spot can block bullets.<br> | ||
Another option is a single [[func_physbox]] with the following spawnflag number "15005697" to set it to never move, be non solid to player, but solid to bullets. Use the material <code> | Another option is a single [[func_physbox]] with the following spawnflag number "15005697" to set it to never move, be non solid to player, but solid to bullets. Use the material <code>toolsskybox2d</code> (or any material that has no decals) and apply rendermode 10 to not render the brush. Even though it uses the skybox texture, it won't light up your map, as its applied to an entity. But the "no decal" surfaceprop of the material is used.}} | ||
{{tip|If you want to block grenades or other thrown objects, create a {{ent|trigger_multiple}}, using a {{ent|filter_activator_model}} to filter for the grenade model or a {{ent|Filter_activator_class}} for the grenade entity, with the outputs "<Code>OnStartTouch - !Activator - Kill</Code>". If the game has multiple thrown objects use a {{ent|filter_activator_model}}/{{ent|Filter_activator_class}} for each model and a {{ent|filter_multi}}.}} | {{tip|If you want to block grenades or other thrown objects, create a {{ent|trigger_multiple}}, using a {{ent|filter_activator_model}} to filter for the grenade model or a {{ent|Filter_activator_class}} for the grenade entity, with the outputs "<Code>OnStartTouch - !Activator - Kill</Code>". If the game has multiple thrown objects use a {{ent|filter_activator_model}}/{{ent|Filter_activator_class}} for each model and a {{ent|filter_multi}}.}} | ||
{{csgo}} Use <code>blockbullets_cs</code> variant, which correctly stops bullets even with 1 unit thickness.<br> | {{csgo}} Use <code>blockbullets_cs</code> variant, which correctly stops bullets even with 1 unit thickness.<br> | ||
Line 93: | Line 93: | ||
|- id="invisible" | |- id="invisible" | ||
| [[File:Toolsinvisible.gif|64px]] | | [[File:Toolsinvisible.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsinvisible}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 104: | Line 104: | ||
| Solid to {{Ent|prop_physics}}, projectiles, players, & NPCs. Not solid to bullets.<br> | | Solid to {{Ent|prop_physics}}, projectiles, players, & NPCs. Not solid to bullets.<br> | ||
{{csseries|src=1}}{{tf2}} Also solid to bullets.<br> | {{csseries|src=1}}{{tf2}} Also solid to bullets.<br> | ||
{{l4dseries}} Smokers, Boomers and Spitters can attack you through it. Survivors stop being dragged towards smokers when touching a <tt> | {{l4dseries}} Smokers, Boomers and Spitters can attack you through it. Survivors stop being dragged towards smokers when touching a <tt>toolsinvisible</tt> wall.<br> | ||
{{ModernConfusion| {{l4dseries}} <tt> | {{ModernConfusion| {{l4dseries}} <tt>ToolsNodraw_Noshadow</tt> uses the same tool texture in the texture browser, which also blocks LOS!}} | ||
|- id="ladder" | |- id="ladder" | ||
| [[File:Toolsladder.gif|64px]] | | [[File:Toolsladder.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsinvisibleladder}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 121: | Line 121: | ||
|- id="nodraw" {{Anchor|Nodraw}} | |- id="nodraw" {{Anchor|Nodraw}} | ||
| [[File:Toolsnodraw.gif|64px]] | | [[File:Toolsnodraw.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsnodraw}}</center> | ||
| {{No}} | | {{No}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 137: | Line 137: | ||
|- id="origin" | |- id="origin" | ||
| [[File:Toolsorigin.gif|64px]] | | [[File:Toolsorigin.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsorigin}}</center> | ||
| {{N/A}} | | {{N/A}} | ||
| {{No}} | | {{No}} | ||
Line 149: | Line 149: | ||
|- id="blocklos" | |- id="blocklos" | ||
| [[File:Toolsblocklos.gif|64px]] | | [[File:Toolsblocklos.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblock_los}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 161: | Line 161: | ||
|- id="blocklight" | |- id="blocklight" | ||
| [[File:Toolsblocklight.gif|64px]] | | [[File:Toolsblocklight.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblocklight}}</center> | ||
| {{No}} | | {{No}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 173: | Line 173: | ||
|- id="trigger" | |- id="trigger" | ||
| [[File:Toolstrigger.gif|64px]] | | [[File:Toolstrigger.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|[[Triggers|toolstrigger]]}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{No}} | | {{No}} | ||
Line 202: | Line 202: | ||
|- id="black_cheap" | |- id="black_cheap" | ||
| [[File:Toolsblack.gif|64px]] | | [[File:Toolsblack.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblack_cheap}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 211: | Line 211: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (Marks)}} | | {{Yes|Yes <br /> (Marks)}} | ||
| {{Portal2}} Identical to <tt> | | {{Portal2}} Identical to <tt>ToolsBlack</tt>, the only difference is that uses special <code>"black"</code> shader.<br/> {{Gmod}} has a replacement that works with older engines. <br/>{{todo|Find more about <code>"black"</code> shader}} | ||
|- id="black_nofog" | |- id="black_nofog" | ||
| [[File:Toolsblack.gif|64px]] | | [[File:Toolsblack.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblack_nofog}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 223: | Line 223: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (Marks)}} | | {{Yes|Yes <br /> (Marks)}} | ||
| {{l4dseries}} Identical to <tt> | | {{l4dseries}} Identical to <tt>ToolsBlack</tt>, but no fog will appear in front of it. Uses the {{Ent|UnlitGeneric}} shader.<br> | ||
Inherits various City17 [[%25keywords]] from <tt> | Inherits various City17 [[%25keywords]] from <tt>ToolsBlack</tt>. | ||
|- id="black_noportal" | |- id="black_noportal" | ||
| [[File:Toolsblack.gif|64px]] | | [[File:Toolsblack.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblack_noportal}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 236: | Line 236: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (Marks)}} | | {{Yes|Yes <br /> (Marks)}} | ||
| {{Portal2}} Identical to <tt> | | {{Portal2}} Identical to <tt>ToolsBlack</tt>. Seems to have been intended as a non-portalable version, but this is already the case with the normal texture in the final game. | ||
|- id="black_noportal_nofog" | |- id="black_noportal_nofog" | ||
| [[File:Toolsblack.gif|64px]] | | [[File:Toolsblack.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblack_noportal_nofog}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 248: | Line 248: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (Marks)}} | | {{Yes|Yes <br /> (Marks)}} | ||
| {{Portal2}} Identical to <tt> | | {{Portal2}} Identical to <tt>ToolsBlack</tt>, but does not render fog. | ||
|- id="black_noportal_skybox" | |- id="black_noportal_skybox" | ||
| [[File:Toolsblack.gif|64px]] | | [[File:Toolsblack.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblack_noportal_skybox}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 260: | Line 260: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (Marks)}} | | {{Yes|Yes <br /> (Marks)}} | ||
| {{Portal2}} Identical to <tt> | | {{Portal2}} Identical to <tt>ToolsBlack_Cheap</tt>. | ||
|- id="nolight" | |- id="nolight" | ||
| [[File:Toolsblack.gif|64px]] | | [[File:Toolsblack.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsnolight}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 272: | Line 272: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (Marks)}} | | {{Yes|Yes <br /> (Marks)}} | ||
| {{as}} Identical to <tt> | | {{as}} Identical to <tt>ToolsBlack</tt>, but for some reason is used instead. | ||
|- id="blockbullets" | |- id="blockbullets" | ||
| [[File:Toolsblockbullets.gif|64px]] | | [[File:Toolsblockbullets.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblockbullets2}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 284: | Line 284: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (No Marks)}} | | {{Yes|Yes <br /> (No Marks)}} | ||
| {{tf2}} Identical to <tt> | | {{tf2}} Identical to <tt>ToolsBlockBullets</tt>, but doesn't cut [[visleaf|visleaves]]. | ||
|- id="nodrawroof" | |- id="nodrawroof" | ||
|[[File:Toolsnodraw.gif|64px]] | |[[File:Toolsnodraw.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsnodraw_roof}}</center> | ||
| {{No}} | | {{No}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 296: | Line 296: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (No Marks)}} | | {{Yes|Yes <br /> (No Marks)}} | ||
| {{css}} Identical to <tt> | | {{css}} Identical to <tt>ToolsNodraw</tt>, but with a different texture name. | ||
|- id="nodrawwood" | |- id="nodrawwood" | ||
|[[File:Toolsnodraw.gif|64px]] | |[[File:Toolsnodraw.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsnodraw_wood}}</center> | ||
| {{No}} | | {{No}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 308: | Line 308: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (No Marks)}} | | {{Yes|Yes <br /> (No Marks)}} | ||
| {{css}} Identical to <tt> | | {{css}} Identical to <tt>ToolsNodraw</tt>, but will make wood impact sounds when hit. | ||
|- id="nodrawnoshadow" | |- id="nodrawnoshadow" | ||
|[[File:Toolsnodraw_metal.png|64px]] | |[[File:Toolsnodraw_metal.png|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsnodraw_metal}}</center> | ||
| {{No}} | | {{No}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 320: | Line 320: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (No Marks)}} | | {{Yes|Yes <br /> (No Marks)}} | ||
| {{l4d2}} Identical to <tt> | | {{l4d2}} Identical to <tt>ToolsNodraw</tt> but with metal [[$surfaceprop|surfaceprop]]. Does not show metal marks. You may want to use <tt>Invismetal</tt> instead. | ||
|- id="nodrawportalable" | |- id="nodrawportalable" | ||
|[[File:Nodraw_portalable.png|64px]] | |[[File:Nodraw_portalable.png|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsnodraw_portal}}</center> | ||
| {{No}} | | {{No}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 332: | Line 332: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes|Yes <br /> (No Marks)}} | | {{Yes|Yes <br /> (No Marks)}} | ||
| {{portal2}} Identical to <tt> | | {{portal2}} Identical to <tt>ToolsNodraw</tt>, but portals can be placed on this texture. | ||
|- | |- | ||
|} | |} | ||
Line 352: | Line 352: | ||
|- id="areaportal" | |- id="areaportal" | ||
| [[File:Toolsareaportal.gif|64px]] | | [[File:Toolsareaportal.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|[[Areaportal|toolsareaportal]]}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{No}} | | {{No}} | ||
Line 364: | Line 364: | ||
|- id="hint" | |- id="hint" | ||
| [[File:Toolshint.gif|64px]] | | [[File:Toolshint.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|[[Hint brush|toolshint]]}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 376: | Line 376: | ||
|- id="skip" | |- id="skip" | ||
| [[File:Toolsskip.gif|64px]] | | [[File:Toolsskip.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|[[Skip|toolsskip]]}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 391: | Line 391: | ||
|- id="occluder" | |- id="occluder" | ||
| [[File:Toolsoccluder.gif|64px]] | | [[File:Toolsoccluder.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|[[Occluder|toolsoccluder]]}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{No}} | | {{No}} | ||
Line 423: | Line 423: | ||
|- id="clip" | |- id="clip" | ||
| [[File:Toolsclip.gif|64px]] | | [[File:Toolsclip.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsclip}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 440: | Line 440: | ||
|- id="npcclip" | |- id="npcclip" | ||
| [[File:Toolsnpcclip.gif|64px]] | | [[File:Toolsnpcclip.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsnpcclip}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 452: | Line 452: | ||
|- id="playerclip" | |- id="playerclip" | ||
| [[File:Toolsplayerclip.gif|64px]] | | [[File:Toolsplayerclip.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsplayerclip}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 467: | Line 467: | ||
|- id="playercont" | |- id="playercont" | ||
| [[File:Toolsplayercont.gif|64px]] | | [[File:Toolsplayercont.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolscontrolclip}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 498: | Line 498: | ||
|- id="grenadeclip" | |- id="grenadeclip" | ||
| [[File:Toolsgrenadeclip.png|64px]] | | [[File:Toolsgrenadeclip.png|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsgrenadeclip}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 510: | Line 510: | ||
|- id="droneclip" | |- id="droneclip" | ||
| [[File:toolsdroneclip.jpg|64px]] | | [[File:toolsdroneclip.jpg|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsdroneclip}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 541: | Line 541: | ||
|- id="fog" | |- id="fog" | ||
| [[File:Toolsfog.gif|64px]] | | [[File:Toolsfog.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsfog}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{No}} | | {{No}} | ||
Line 554: | Line 554: | ||
|- id="skybox" | |- id="skybox" | ||
| [[File:Toolsskybox.png|64px]] | | [[File:Toolsskybox.png|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|[[Skybox|toolsskybox]]}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 566: | Line 566: | ||
|- id="skybox2d" | |- id="skybox2d" | ||
| [[File:Toolsskybox2d.gif|64px]] | | [[File:Toolsskybox2d.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|[[Skybox (2D)|toolsskybox2d]]}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 579: | Line 579: | ||
|- id="skyfog" | |- id="skyfog" | ||
| [[File:Toolsskyfog.gif|64px]] | | [[File:Toolsskyfog.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsskyfog}}</center> | ||
| {{No}} | | {{No}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 588: | Line 588: | ||
| {{N/A}} | | {{N/A}} | ||
| {{Yes | Yes <br /> (Marks)}} | | {{Yes | Yes <br /> (Marks)}} | ||
| The SkyFog texture does not contain any properties. There is currently no existing corresponding Shader called "skyfog". (Generates error <code>Error: Material " | | The SkyFog texture does not contain any properties. There is currently no existing corresponding Shader called "skyfog". (Generates error <code>Error: Material "toolsskyfog" uses unknown shader "SkyFog"</code>.) | ||
{{ModernConfirm|Can it be fixed to function properly if its [[VMT]] settings are changed in the Source code and recompiled?}} | {{ModernConfirm|Can it be fixed to function properly if its [[VMT]] settings are changed in the Source code and recompiled?}} | ||
|- id="fog volume" | |- id="fog volume" | ||
| [[File:Fogvolume.jpg|64px]] | | [[File:Fogvolume.jpg|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|[[fog_volume|toolsfogvolume]]}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{No}} | | {{No}} | ||
Line 630: | Line 630: | ||
|- id="blockbomb" | |- id="blockbomb" | ||
| [[File: blockbomb.jpg|64px]] | | [[File: blockbomb.jpg|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsblockbomb}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 639: | Line 639: | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
| {{csgo}} Acts like <tt> | | {{csgo}} Acts like <tt>ToolsInvisible</tt>. Possibly unimplemented. | ||
|- id="climb" | |- id="climb" | ||
| <div style="text-align: center;">[[File:L4d2-Climb_versus.png|64px]]</div> | | <div style="text-align: center;">[[File:L4d2-Climb_versus.png|64px]]</div> | ||
| <center>{{Mono| | | <center>{{Mono|climb}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 655: | Line 655: | ||
|- id="climbalpha" | |- id="climbalpha" | ||
| <div style="text-align: center;">[[File:Climb alpha.png|64px]]</div> | | <div style="text-align: center;">[[File:Climb alpha.png|64px]]</div> | ||
| <center>{{Mono| | | <center>{{Mono|climb_alpha}}</center> | ||
| {{Both|Visible to Infected}} | | {{Both|Visible to Infected}} | ||
| {{No}} | | {{No}} | ||
Line 664: | Line 664: | ||
| {{Yes}} | | {{Yes}} | ||
| {{No}} | | {{No}} | ||
| {{l4dseries}} | | {{l4dseries}} Same as '''Climb Versus''', with the only difference being that <tt>climb_alpha</tt> uses {{Ent|$alphatest}}, while <tt>climb_versus</tt> uses {{Ent|$additive}}.<br> | ||
This texture may be usable in spots where the texture is applied over a translucent material, in order to fix [[$translucent#Flickering_and_Reversed_Depth|sorting issues]], but it has so far never been used in any official campaign. | This texture may be usable in spots where the texture is applied over a translucent material, in order to fix [[$translucent#Flickering_and_Reversed_Depth|sorting issues]], but it has so far never been used in any official campaign. | ||
|- id="climb_versus" | |- id="climb_versus" | ||
| <div style="text-align: center;">[[File:L4d2-Climb_versus.png|64px]]</div> | | <div style="text-align: center;">[[File:L4d2-Climb_versus.png|64px]]</div> | ||
| <center>{{Mono| | | <center>{{Mono|climb_versus}}</center> | ||
| {{Both|Visible to Infected}} | | {{Both|Visible to Infected}} | ||
| {{No}} | | {{No}} | ||
Line 680: | Line 680: | ||
|- id="hulkwall" | |- id="hulkwall" | ||
| <div style="text-align: center;">[[File:Hulkwall.png|64px]]</div> | | <div style="text-align: center;">[[File:Hulkwall.png|64px]]</div> | ||
| <center>{{Mono| | | <center>{{Mono|hulkwall}}</center> | ||
| {{N/A}} | | {{N/A}} | ||
| {{N/A}} | | {{N/A}} | ||
Line 692: | Line 692: | ||
|- id="hulkwallglow" | |- id="hulkwallglow" | ||
| <div style="text-align: center;">[[File:Hulkwallglow.png|64px]]</div> | | <div style="text-align: center;">[[File:Hulkwallglow.png|64px]]</div> | ||
| <center>{{Mono| | | <center>{{Mono|hulkwallglow}}</center> | ||
| {{N/A}} | | {{N/A}} | ||
| {{N/A}} | | {{N/A}} | ||
Line 704: | Line 704: | ||
|- id="dotted" | |- id="dotted" | ||
| <div style="text-align: center;">[[File:Toolsdotted.png|64px]]</div> | | <div style="text-align: center;">[[File:Toolsdotted.png|64px]]</div> | ||
| <center>{{Mono| | | <center>{{Mono|toolsdotted}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{No}} | | {{No}} | ||
Line 714: | Line 714: | ||
| {{Yes | Yes <br /> (Marks)}} | | {{Yes | Yes <br /> (Marks)}} | ||
| A face textured with this texture is rendered on top of all other brush geometry. Furthermore, a brush with Dotted on any face will not block visibility or cull any face that it touches, meaning that any area enclosed in a Dotted-textured brush will not be removed from the map in any way. | | A face textured with this texture is rendered on top of all other brush geometry. Furthermore, a brush with Dotted on any face will not block visibility or cull any face that it touches, meaning that any area enclosed in a Dotted-textured brush will not be removed from the map in any way. | ||
{{confirm|This effect is probably just due to having {{cmd|$alphatest}}.}} | |||
|- id="invisibledisplacement" | |- id="invisibledisplacement" | ||
| [[File:Toolsinvisibledisplacement.gif|64px]] | | [[File:Toolsinvisibledisplacement.gif|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolsinvisibledisplacement}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 730: | Line 731: | ||
|- id="Clear" | |- id="Clear" | ||
| [[File:Toolswhite.gif|64px]] | | [[File:Toolswhite.gif|64px]] | ||
| <center>{{Mono|effects/clear}}</center> | | <center>{{Mono|../effects/clear}}</center> | ||
| {{Both|Fully Translucent}} | | {{Both|Fully Translucent}} | ||
| {{Both|Depends on use}} | | {{Both|Depends on use}} | ||
Line 740: | Line 741: | ||
| {{Both|Depends on use}} | | {{Both|Depends on use}} | ||
| {{l4dseries}} Basic {{Ent|LightmappedGeneric}} that has no abilities other than being invisible.<br> | | {{l4dseries}} Basic {{Ent|LightmappedGeneric}} that has no abilities other than being invisible.<br> | ||
Officially used like <tt> | Officially used like <tt>invisibledisplacement</tt> for [[Clip_texture|displacement clipping]].<br> | ||
Has no VMT properties other than {{Ent|$alphatest|1}}. | Has no VMT properties other than {{Ent|$alphatest|1}}. | ||
|- id="Invismetal" | |- id="Invismetal" | ||
| [[File:Toolinvismetal.png|64px]] | | [[File:Toolinvismetal.png|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|invismetal}}</center> | ||
| {{No}} | | {{No}} | ||
| {{No}} | | {{No}} | ||
Line 773: | Line 774: | ||
|- id="toolswarmlight" | |- id="toolswarmlight" | ||
| [[File:Toolswarmlight.png|64px]] | | [[File:Toolswarmlight.png|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|toolswarmlight}}</center> | ||
| {{Yes}} | | {{Yes}} | ||
| {{Yes}} | | {{Yes}} | ||
Line 788: | Line 789: | ||
|- id="wrongway" | |- id="wrongway" | ||
| [[File:Toolswrongway.png|64px]] | | [[File:Toolswrongway.png|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|wrongway}}</center> | ||
| {{both|Yes {{csgo|in}}<br> Only to Infected}} {{l4dseries|in}} | | {{both|Yes {{csgo|in}}<br> Only to Infected}} {{l4dseries|in}} | ||
| {{No}} | | {{No}} | ||
Line 804: | Line 805: | ||
|- id="wrongway_timer" | |- id="wrongway_timer" | ||
| [[File:Wrongway timer.png|64px]] | | [[File:Wrongway timer.png|64px]] | ||
| <center>{{Mono| | | <center>{{Mono|wrongway_timer}}</center> | ||
| {{Both|Doesn't work correctly}} | | {{Both|Doesn't work correctly}} | ||
| {{No}} | | {{No}} |
Revision as of 09:47, 2 February 2025
Tool textures are used, mostly by the tools but sometimes by the engine, to perform special tasks. They can easily be found in Hammer by using "tools\" as a filter in the texture browser, but other tool textures may be located in different directory.
Anyone can make their very own tool texture, by utilizing available Material Map Compile Flags, such as %compilenonsolid 1, %compileDetail 1 and %compilenodraw 1 for a tool texture which is not solid, does not cut visleafs and is invisible.
A %tooltexture may also be set, which is only to be seen in Hammer's texture browser, while the $basetexture is seen in-game; however, the self made tool textures must be shipped with the map, else they might not work.
This page contains tool textures which can be found on any Source games (including description for third-party games which changes how the tool texture works or have different behavior). For third-party games specific tool textures, see third-party page.






For example, have Clip for both teams, Player Clip for survivors and NPC Clip for infected; however, it also has func_playerinfected_clip just for player controlled infected.
General
General — Common
These tool textures are available in every Source engine game.
Some of these textures have special function in some games. These special functions are noted by having the game's icon listed in the description (such as ,
,
,
, etc.).
Image | Filename | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() This texture is often used for brushes that are far away and they are dark. It cannot be lit by any type of light, but is affected by fog color. | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
(in all games since ![]() ![]() ![]() Identical to lights/white (which is available in all Source games), but doesn't cast any light by default. Using glass surfaceprop. | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
Foremost solid to bullets, but also to NPCs and physics projectiles. It does not block all projectiles, though. Projectiles from NPCs, such as the acid spit from antlion workers, will still get through.![]() This texture is basically ToolsInvisible , but without the %compilepassbullets flag.![]() Another option is a single func_physbox with the following spawnflag number "15005697" to set it to never move, be non solid to player, but solid to bullets. Use the material toolsskybox2d (or any material that has no decals) and apply rendermode 10 to not render the brush. Even though it uses the skybox texture, it won't light up your map, as its applied to an entity. But the "no decal" surfaceprop of the material is used.![]() OnStartTouch - !Activator - Kill ". If the game has multiple thrown objects use a filter_activator_model/Filter_activator_class for each model and a filter_multi.
| |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | Solid to prop_physics, projectiles, players, & NPCs. Not solid to bullets.
| |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | Used for ladders in most multiplayer games except ![]() ![]() ![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
Not drawn in game, seals leaks, and is skipped by VRAD. Blocks visibility if used on all surfaces of the same brush. Optimally, every face that can't be seen during normal gameplay should have this texture.![]() ![]() ![]() ![]() Todo: Insert this "glass footsteps" version into the list
![]() ![]() | |
![]() |
N/A | No | No | No | No | No | No | No | ![]() ![]() | |
![]() |
No | No | No | Yes | No | No | No | No | Blocks the line of sight of NPCs and bots. mat_wireframe 1/2 will reveal that, while this texture doesn't block visleaves, it draws crossing polygons, and they alone are capable of preventing the engine from rendering enveloped brushwork. This can be worked around by turning the Block LOS–textured brush into a func_brush with its Solidity keyvalue set to a solid state. (A Block LOS func_brush can still be traversed in this state.) | |
![]() |
No | Yes | No | No | No | No | No | No | Casts shadows artificially. Only used at compile time by VRAD. Does not seal leaks. See more uses here. | |
![]() |
Yes | No | No | No | No | No | No | No | Used on triggers and on func_viscluster entities. |
General — Game-specific
These tool textures are only available in specific Source engine games.
Image | Filename | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() "black" shader.![]() Todo: Find more about
"black" shader | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() ![]() Inherits various City17 %keywords from ToolsBlack. | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
No | No | No | No | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() |
Optimization
Image | Filename | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | No | Yes | No | No | No | No | No | Use with areaportals (func_areaportals and func_areaportalwindows ). Can be used with other brush entities, such as some triggers.
| |
![]() |
No | No | Yes | No | No | No | No | No | Instructs VVIS to cut visleaves along this texture, but does nothing else. | |
![]() |
No | No | No | No | No | No | No | No | Has no effect on anything (except bomb in ![]() Useful in combination with Hint tool textures (to prevent the other sides from cutting vis) and as a tool in Hammer for grouping, moving and place-holding objects. | |
![]() |
Yes | No | No | No | No | No | No | No | Used only for the occluding sides of func_occluder entities.
Unlike toolstrigger, toolsoccluder will correctly work when VBSP is compiled with -nodrawtriggers. |
Clips
Clips — Common
These tool textures are available in every source engine game.
Some of these textures have special function in some games. These special functions are noted by having the game's icon listed in the description (such as ,
,
,
, etc.).
Image | Filename | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | No | No | Yes | Yes | No | No | Solid to players and NPCs but not other objects.
![]()
| |
![]() |
No | No | No | No | Yes | No | No | No | Solid to NPCs only.![]() ![]() ![]() ![]() | |
![]() |
No | No | No | No | No | Yes | No | No | Solid to players only.
| |
![]() |
Yes | Yes | Yes | N/A | Yes | Yes | Yes | Yes (Marks) |
(removed since ![]() ![]() ![]() (See Player Clip above for the tool texture that restricts player movement.) |
Clips — Game-Specific
These tool textures are only available in specific Source engine games.
Image | Filename | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | No | No | No | No | Solid to Grenades | No | ![]() | |
![]() |
No | No | No | N/A | N/A | No | No | No | ![]() |
Sky and Fog
Sky and Fog — Common
These tool textures are available in every Source engine game.
Some of these textures have special function in some games. These special functions are noted by having the game's icon listed in the description (such as ,
,
,
, etc.).
Image | Filename | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | No | Yes | No | Yes | Yes | Yes | Yes (Marks) |
No effect; uses nonexistent compile flag %CompileFog.
(You can use this for func_smokevolume instead of the Trigger texture, but NOT for func_dustcloud.) | |
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
This texture is used to make 3D skyboxes. Casts light if there is a light_environment entity in the map. Cannot be used in the same PVS as the toolsskybox2d tool texture[Why?]. Things such as another area of a map will render on top of the skybox. An areaportal can stop this from happening, but it's generally better practice to add more scenery to cover the stuff that shouldn't be seen, reposition those things out of view, or just don't have an opening in that area. | |
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
(in all games since ![]() Casts light if there is a light_environment entity in the map. ![]() Cannot be used in the same PVS as the toolsskybox tool texture. | |
![]() |
No | Yes | Yes | N/A | N/A | Yes | N/A | Yes (Marks) |
The SkyFog texture does not contain any properties. There is currently no existing corresponding Shader called "skyfog". (Generates error Error: Material "toolsskyfog" uses unknown shader "SkyFog" .)
![]() | |
![]() |
Yes | No | No | No | No | No | No | No | (in all games since ![]() Used in conjunction with multiple env_fog_controllers to change fog colours and densities in a level. |
Sky and Fog — Game-Specific
These tool textures are only available in specific Source engine games.
There are no game specific tool textures in this section.
Miscellaneous
These are textures that have a special use, sometimes only seen in one single game.
Some of these textures are not even "real" tool textures, as they do not possess any Compile Flags, but they have some important use that no other texture available can do.
Image | Filename | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | Yes | ![]() | |
No | No | No | No | Yes | Yes | Yes | No | ![]() ![]() Could be used in areas blocked by func_playerinfected_clip where Player Infected cannot go to and should be unable to see a climbing spot, but the AI should be able to use it for hordes. | ||
Visible to Infected | No | No | No | Yes | Yes | Yes | No | ![]() ![]() This texture may be usable in spots where the texture is applied over a translucent material, in order to fix sorting issues, but it has so far never been used in any official campaign. | ||
Visible to Infected | No | No | No | Yes | Yes | Yes | No | ![]() ![]() | ||
N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ![]() ![]() | ||
N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ![]() ![]() | ||
Yes | No | Yes | No | Yes | Yes | Yes | Yes (Marks) |
A face textured with this texture is rendered on top of all other brush geometry. Furthermore, a brush with Dotted on any face will not block visibility or cull any face that it touches, meaning that any area enclosed in a Dotted-textured brush will not be removed from the map in any way.
![]() | ||
![]() |
No | No | No | No | Yes | Yes | Yes | Depends on game | (only in ![]() Light is not blocked by this texture, except in ![]() Despite being in the Materials/Tools folder, this is not a tool texture. It has no abilities. It is simply an invisible texture used for displacement clipping, where you make an invisible displacement instead of a clip brush because making intricate clip brushes is difficult. | |
![]() |
Fully Translucent | Depends on use | Depends on use | N/A | Yes | Yes | Yes | Depends on use | ![]() ![]() Officially used like invisibledisplacement for displacement clipping. | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | ![]() ![]() Creates metal sparks when shot, but bullets pass through. ![]() %CompileDetail 1 to prevent it from cutting visleaves, which makes it much more useful. Alternatively, tie it to a func_detail or other entity. | |
No Image | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | This is a special tool texture, intended to prevent VMEX from decompiling any maps using this custom tool texture. BSPSource ignores this, rendering it useless.
It does not really exist, as every user has to make their own, but it is listed here for completeness sake. | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ![]() ![]() Used with func_brush to make it non-solid and fade away when approached. | |
![]() |
Yes (in ![]() Only to Infected (in ![]() ![]() |
No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
![]() ![]() ![]()
![]() | |
![]() |
Doesn't work correctly | No | Yes | No | Yes | Yes | Yes | Yes | ![]() ![]() PlayerProximity material proxy.
![]() |