Tool Textures Last edited 4 years ago2020-03-05 19:44:37 UTC

You are viewing an older revision of this wiki page. The current revision may be more detailed and up-to-date. Click here to see the current revision of this page.
Tool textures are special textures which control how the map is compiled. They are found in halflife.wad and zhlt.wad. For detailed usage of each texture, refer to it's individual wiki page.
ImageNameAllowed as worldAllowed as entityCasts shadowsHas lightmapCuts visleavesSolid to standing players and monsters (hull 1)Solid to large monsters (hull 2)Solid to crouching players (hull 3)Solid to bulletsInfo
User posted image
AAATRIGGERYesYesYesNoYesYesYesYesYesIdentical to NULL, but shouldn't be used on world brushes as it may cause bugs. Useful for differentiating entities in the editor.
User posted image
BEVELYesYesYesNoNoNoYesNoYesActs like NULL, however it changes the clipnode of a brush in a way that any player approaching the brush will not be collide with the brush until their origin reaches the plane that the BEVEL face lies on. It can be used to eliminate exterior corner clipping bugs. For clipnode optimization, BEVEL has no advantage over NULL, and sometimes uses even more clipnodes than NULL. The -cliptype precise parameter for CSG is recommended instead of the use of this texture, but it still can be used to fix any remaining clipping bugs that -cliptype precise may miss.
User posted image
black_HIDDENYesYesYesYesYesYesYesYesYesIdentical to NULL, but has a lightmap. Brushes with this texture can cast shadows. This texture will not render as black except in Sven Co-op.
User posted image
BOUNDINGBOXNoYesNoNoNoNoNoNoNoActs like ORIGIN, but can be used to define a bounding box for an entity. Useful if you have a lot of complex, off-grid geometry and need a bounding box which is snapped to the grid.
User posted image
CLIPYesYesNoNoNoYesYesYesNoCreates a clip plane on all four cliphulls that a player cannot move through, but can shoot through. Clip brushes can not exist outside the world, so keep them inside of your map.
User posted image
CLIPBEVELYesYesNoNoNoNoNoYesNoActs like BEVEL but for clipnodes.
User posted image
CLIPBEVELBRUSHYesYesNoNoNoNoNoYesNoActs like CLIPBEVEL, but affects every single face.
User posted image
CLIPHULL1YesYesNoNoNoYesNoNoNoCreates a clip plane used by standing players.
User posted image
CLIPHULL2YesYesNoNoNoNoYesNoNoCreates a clip plane used by large monsters (apache, gargantua, gonarch, etc).
User posted image
CLIPHULL3YesYesNoNoNoNoNoYesNoCreates a clip plane used by crouching players.
User posted image
CONTENTEMPTYYesYesNoNoNoNoNoNoNoRemoves collision from a brush and marks a brush as an empty volume.
User posted image
CONTENTWATERYesYesYesNoNoNoNoNoYesRemoves collision from a brush and mirrors the faces inside out. It shouldn't be used on world brushes, as it will mark the brush as a water volume that will cause visibility errors for those who submerge themselves into it.
User posted image
HINTYesYesNoNoYesNoNoNoNoFaces with this texture will split visleafs, allowing you to optimize what parts of the map are visible. Other faces of the brush should be textured with SKIP.
User posted image
NOCLIPYesYesYesNoYesNoNoNoYesActs like NULL, but no cliphulls are generated. Similar to the zhlt_noclip keyvalue in entities.
User posted image
NULLYesYesYesNoYesYesYesYesYesRemoves the face of a brush it's applied to, however clipnodes are still generated.
User posted image
ORIGINNoYesNoNoNoNoNoNoNoBrushes with this texture will act as the point of origin for entities.
User posted image
SKIPYesYesNoNoNoNoNoNoNoIgnores the face of a brush it's applied to. Should not be used on world geometry except with HINT, as it may cause bugs.
User posted image
skyYesNoNoNoYesYesYesYesYesRenders the skybox on this face and emits light if all faces are textured with SKY and you have a light_environment or light_spot entity.
User posted image
SOLIDHINTYesYesYesNoYesYesYesYesYesUsed to eliminate unnecessary face subdivision, especially on complex shapes such as triangular terrain.
User posted image
translucentYesNoYesYesYesNoNoNoNoRemoves clipnodes and mirrors the brush faces inside out.

1 Comment

Commented 1 year ago2023-12-16 09:30:25 UTC Comment #105738
I made a version with legends and emojis. The aim is threefold:
  1. trim the wasted space the table headers are using, and give more space for the description column
  2. Immediately infer the properties with emojis without constantly having to look up the yes/no columns back to the header way up the page
  3. hopefully get this to display better on mobile
For now it's in this comment for my personal use. If feedback is favourable then we can merge this version into the main page.
merged to main page 2024-05-03
2024-06-09
  • for the !cur textures, you can make them invisible by using the _HIDDEN suffix, so !cur_0 becomes !cur_0_HIDDEN

2024-08-29
  • _HIDDEN suffixes doesn't work in entities for some reason. since models don't take lighting from brush entities anyway there's no use case for it, so probably just use NULL instead.
  • Found a way to use tool textures in a way which imparts its properties, but without having it be part of any resulting face of the brush, but it only works on MAP files. You just insert an additional line defining a plane of the brush using the tool texture of interest, but the plane is way, way out towards the extremities of the map that it never intersects with any other planes of the brush:
{
( 80 144 96 ) ( 80 144 32 ) ( 80 208 96 ) NULL [ 0 -1 0 0 ] [ 0 0 -1 16 ] 0 1 1
( 144 144 96 ) ( 144 144 32 ) ( 80 144 96 ) NULL [ 1 0 0 0 ] [ 0 0 -1 16 ] 0 1 1
( 80 208 32 ) ( 80 144 32 ) ( 144 208 32 ) NULL [ -1 0 0 -0 ] [ 0 -1 0 0 ] 0 1 1
( 144 144 96 ) ( 80 144 96 ) ( 80 208 96 ) NULL [ 1 0 -0 0 ] [ 0 -1 0 0 ] 0 1 1
( 144 144 96 ) ( 144 208 32 ) ( 144 144 32 ) NULL [ 0 1 0 -0 ] [ 0 0 -1 16 ] 0 1 1
( 144 208 32 ) ( 144 144 96 ) ( 80 208 96 ) NULL [ 1 0 -0 0 ] [ 0 -1 0 0 ] 0 1 1
( 80 208 96 ) ( 80 208 32 ) ( 144 208 32 ) NULL [ -1 0 0 -0 ] [ 0 0 -1 16 ] 0 1 1
( 32767 32768 32768 ) ( 32768 32768 32767 ) ( 32768 32767 32768 ) !CUR_0 [ -0.707107 0.707107 0 0 ] [ 0.408248 0.408248 -0.816497 0 ] 0 1 1
}
  • The above spawns a NULL brush but with cur_0 contents. I figure a map pre-processor like MESS could implement this featur, inserting tool texture faces into the resulting brush defs in the output .map.

You must log in to post a comment. You can login or register a new account.