Tool Textures Last edited 2 years ago2022-07-07 14:08:52 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. These are the tool textures used by Vluzacn's ZHLT v34. 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 shadows as world brushHas lightmapCuts visleavesSolid to cliphull 1Solid to cliphull 2Solid to cliphull 3Solid to bulletsInfo
N/A!cur_0*YesNoYesNoYesNoNoNoNoActs like CONTENTWATER and func_pushable with a speed of 2048 units/s in +X. This texture is always fullbright.
N/A!cur_180*YesNoYesNoYesNoNoNoNoActs like CONTENTWATER and func_pushable with a speed of 2048 units/s in -X. This texture is always fullbright.
N/A!cur_270*YesNoYesNoYesNoNoNoNoActs like CONTENTWATER and func_pushable with a speed of 2048 units/s in -Y. This texture is always fullbright.
N/A!cur_90*YesNoYesNoYesNoNoNoNoActs like CONTENTWATER and func_pushable with a speed of 2048 units/s in +Y. This texture is always fullbright.
N/A!cur_dwn*YesNoYesNoYesNoNoNoNoActs like CONTENTWATER and func_pushable with a speed of 2048 units/s in -Z. This texture is always fullbright.
N/A!cur_up*YesNoYesNoYesNoNoNoNoActs like CONTENTWATER and func_pushable with a speed of 2048 units/s in +Z. This texture is always fullbright.
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, and any remaining clipping bugs that the -cliptype precise CSG parameter 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 clipnodes on all three cliphulls.
User posted image
CLIPBEVELYesYesNoNoNoNoNoYesNoActs like BEVEL but for clipnodes.
User posted image
CLIPBEVELBRUSHYesYesNoNoNoNoNoYesNoActs like CLIPBEVEL, but affects every single face.
User posted image
CLIPHULL1YesYesNoNoNoYesNoNoNoCreates clipnodes on hull 1, used by standing players.
User posted image
CLIPHULL2YesYesNoNoNoNoYesNoNoCreates clipnodes on hull 2, used by large monsters (apache, gargantua, gonarch, etc).
User posted image
CLIPHULL3YesYesNoNoNoNoNoYesNoCreates clipnodes on hull 3, used by crouching players.
User posted image
CONTENTEMPTYYesYesNoNoNoNoNoNoNoRemoves collision from a brush and marks it as an empty volume.
User posted image
CONTENTWATERYesYesYesNoYesNoNoNoYesMarks the brush as a water volume that will not render anything outside of it. It also removes collision from a brush and mirrors the faces inside out.
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 faces with this texture, and emits light if all faces of a brush 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.
N/ASPLITFACE*YesYesNoNoNoNoNoNoNoBrushes with this texture will subdivide faces they touch. It can be used to eliminate bad lighting caused by opaque entities.
User posted image
translucentYesNoYesYesYesNoNoNoNoRemoves clipnodes and mirrors the brush faces inside out.
*This texture functions normally, but is missing from zhlt.wad

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.