Tool Textures Last edited 8 months ago2024-02-29 23:57:20 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.
Image Name Allowed as world Allowed as entity Casts shadows as world brush Has lightmap Cuts visleaves Solid to cliphull 1 Solid to cliphull 2 Solid to cliphull 3 Solid to bullets Info
N/A !cur_0* Yes No Yes No Yes No No No No Acts like CONTENTWATER and func_pushable with a speed of 2048 units/s in +X. This texture is always fullbright.
N/A !cur_180* Yes No Yes No Yes No No No No Acts like CONTENTWATER and func_pushable with a speed of 2048 units/s in -X. This texture is always fullbright.
N/A !cur_270* Yes No Yes No Yes No No No No Acts like CONTENTWATER and func_pushable with a speed of 2048 units/s in -Y. This texture is always fullbright.
N/A !cur_90* Yes No Yes No Yes No No No No Acts like CONTENTWATER and func_pushable with a speed of 2048 units/s in +Y. This texture is always fullbright.
N/A !cur_dwn* Yes No Yes No Yes No No No No Acts like CONTENTWATER and func_pushable with a speed of 2048 units/s in -Z. This texture is always fullbright.
N/A !cur_up* Yes No Yes No Yes No No No No Acts like CONTENTWATER and func_pushable with a speed of 2048 units/s in +Z. This texture is always fullbright.
User posted image
AAATRIGGER Yes Yes Yes No Yes Yes Yes Yes Yes Identical 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
BEVEL Yes Yes Yes No No No Yes No Yes Acts 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_HIDDEN Yes Yes Yes Yes Yes Yes Yes Yes Yes Identical to NULL, but has a lightmap. Brushes with this texture can cast shadows.
User posted image
BOUNDINGBOX No Yes No No No No No No No Acts 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
CLIP Yes Yes No No No Yes Yes Yes No Creates clipnodes on all three cliphulls.
User posted image
CLIPBEVEL Yes Yes No No No No No Yes No Acts like BEVEL but for clipnodes.
User posted image
CLIPBEVELBRUSH Yes Yes No No No No No Yes No Acts like CLIPBEVEL, but affects every single face.
User posted image
CLIPHULL1 Yes Yes No No No Yes No No No Creates clipnodes on hull 1, used by standing players.
User posted image
CLIPHULL2 Yes Yes No No No No Yes No No Creates clipnodes on hull 2, used by large monsters (apache, gargantua, gonarch, etc).
User posted image
CLIPHULL3 Yes Yes No No No No No Yes No Creates clipnodes on hull 3, used by crouching players.
User posted image
CONTENTEMPTY Yes Yes No No No No No No No Removes collision from a brush and marks it as an empty volume.
User posted image
CONTENTWATER Yes Yes Yes No Yes No No No Yes Marks 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
HINT Yes Yes No No Yes No No No No Faces 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
NOCLIP Yes Yes Yes No Yes No No No Yes Acts like NULL, but no cliphulls are generated. Similar to the zhlt_noclip keyvalue in entities.
User posted image
NULL Yes Yes Yes No Yes Yes Yes Yes Yes Removes the face of a brush it's applied to, however clipnodes are still generated.
User posted image
ORIGIN No Yes No No No No No No No Brushes with this texture will act as the point of origin for entities.
User posted image
SKIP Yes Yes No No No No No No No Ignores 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
SKY Yes No No No Yes Yes Yes Yes Yes Renders 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
SOLIDHINT Yes Yes Yes No Yes Yes Yes Yes Yes Used to eliminate unnecessary face subdivision, especially on complex shapes such as triangular terrain.
N/A SPLITFACE* Yes Yes No No No No No No No Brushes with this texture will subdivide faces they touch. It can be used to eliminate bad lighting caused by opaque entities.
User posted image
translucent Yes No Yes Yes Yes No No No No Removes clipnodes and mirrors the brush faces inside out.
*This texture functions normally, but is missing from zhlt.wad

1 Comment

Commented 11 months 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.