Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!

Editing Textures

From Quake Wiki

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 
[[File:Textures.png|thumb|Some of Quake's Textures]]
 
[[File:Textures.png|thumb|Some of Quake's Textures]]
Textures in Quake are [[Quake_palette|256 color]] images used in [[Quake maps]]. Each texture has a name of no more than 15 characters. Their dimensions are required to be a multiple of 16. Older hardware-rendered [[engine]]s would automatically resize textures to a [http://en.wikipedia.org/wiki/Power_of_two power of 2], but most modern engines allow disabling this behavior if supported by the GPU. Textures are stored directly within [[Quake_BSP_Format|.bsp files]] when used by Quake, or extracted, collected, and used in [[Texture_Wad|.wad files]] by level designers.
+
Textures in Quake are [[Quake_palette|256 color]] images used in [[Quake maps]]. Each texture has a name of no more than 15 characters. Their dimensions are required to be a [http://en.wikipedia.org/wiki/Power_of_two power of 2], commonly 64x64 or 128x128. Textures are stored directly within [[Quake_BSP_Format|.bsp files]] when used by Quake, or extracted, collected, and used in [[Texture_Wad|.wad files]] by level designers.
 
 
To edit .wad files, extract textures from .bsp or convert images use [[Wally]] or [[TexMex]].
 
  
 
=Special Textures=
 
=Special Textures=
There are several special textures in Quake, which have properties defined either by the [[QBSP]] compiler or by the game [[Engines|engine]].
+
There are several special textures in Quake, which have properties defined either by the [[QBSP]] compiler, or by the game [[Engines|engine]].
  
 
==Clip==
 
==Clip==
Line 13: Line 11:
 
==Liquids==
 
==Liquids==
 
[[File:texture_liquid.png|center]]
 
[[File:texture_liquid.png|center]]
Liquids are textures whose name is preceeded by the character "*". By default, this means they are water in Quake and you may [[swim]] in them. All faces of a brush must be of a single type of liquid texture, and they may not touch Sky textures. Their surface will also animate, and not block [[Vis]] on any modern compiler by default - meaning they can be made transparent by setting a water alpha value, either globally via console variables, or on a per-map basis via worldspawn fields.
+
Liquids are textures whose name is proceeded by the character "*". By default, this means they are water in Quake and you may [[swim]] in them. All faces of a brush must be of only liquid textures, and they may not touch Sky textures. Their surface will also animate, and if compiled with the option "-transwater" will be translucent and not block [[Vis]].
 
 
A liquid with a name which starts with "*slime" will be damaging slime, and a liquid with a name starting with "*lava" will be even deadlier lava. When compiled by vis, liquids will play an automatic ambient sound. Beware that most versions of vis won't create sound for water liquids which do not begin with the name "*water" or "*04water". Modern vis programs allow you to turn off the creation of automatic ambient sounds.
 
 
 
Modern compilers also support skip versions of each liquid, so you can have placeholder textures named "*waterskip", "*lavaskip" and "*slimeskip", that can still be used to define liquid volumes (even in conjunction with standard liquid textures), but will be invisible in the compiled map. See [[#Skip|Skip]] for more information.
 
  
*(when using replacement textures the "*" prefix on the names of liquids inside a wad becomes an "#" in your texture replacement names.)
+
A liquid with a name which starts with "*slime" will be damaging slime, and a liquid with a name starting with "*lava" will be even deadlier lava. When compiled by vis, liquids will play an automatic ambient sound. Beware that most versions of vis won't create sound for water liquids which do not begin with the name "*water". Some modern vis programs allow you to turn off the creation of automatic ambient sounds.
  
 
==Skies==
 
==Skies==
 
[[File:texture_sky.png|center]]
 
[[File:texture_sky.png|center]]
Skies are textures whose name which start with the word "sky", and must be of dimensions 256x128. The texture is treated like two 128x128 textures, the right section used as a backdrop, and the left section used as an overlay with its black pixels transparent. Skies are displayed animated and full-bright, block player and monster movement, and 'swallow' weapon fire. Sky brushes do seal the world from leaks.
+
Skies are textures whose name which start with the word "sky", and must be of dimensions 256x128. The texture is treated like two 128x128 textures, the right section used as a backdrop, and the left section used as an overlay with it's black pixels transparent. Skies are displayed animated and full-bright, block player and monster movement, and 'swallow' weapon fire. Sky brushes do seal the world from leaks.
 
 
* Some engines (ex: Quakespasm) support sky textures of a different resolution (printing an error message in the console). Sky textures which are not 256x128 will not be animated correctly, so they should only be used if using a Quake II-style [[skybox]]. Use [[#External Textures|external textures]] if animated skies of a different resolution are desired.
 
  
 
==Animated textures==
 
==Animated textures==
Line 31: Line 23:
 
Simple animated textures with up to 10 frames can be used in Quake. Their name must begin with the character "+" and a number between 0-9. Quake will display a sequence beginning at "+0", "+1", etc, up to the highest number, and then loop back to "+0".
 
Simple animated textures with up to 10 frames can be used in Quake. Their name must begin with the character "+" and a number between 0-9. Quake will display a sequence beginning at "+0", "+1", etc, up to the highest number, and then loop back to "+0".
  
Animated textures may also switch to an alternate sequence if applied to some brush entities, such as [[func_wall]], and [[func_button]] (doesn't work on [[func_door]]). When one of these entities is textured with an animated texture and is triggered, it will switch to an alternate sequence if it exists. These must be named the same as the original animated textures, except use "+a", "+b", up to "+j". You are not limited by the number of frames in the original animation, but you must begin at "+a".
+
Animated textures may also switch to an alternate sequence if applied to some brush entities, such as [[func_wall]], [[func_door]], and [[func_button]]. When one of these entities is textured with an animated texture and is triggered, it will switch to an alternate sequence if it exists. These must be named the same as the original animated textures, except use "+a", "+b", up to "+j". You are not limited by the number of frames in the original animation, but you must begin at "+a".
  
 
An example of this is the button texture used in the base maps of Quake. "+0basebtn" and "+1basebtn" blink a red texture, and when the func_button is used, it swaps to "+abasebtn".
 
An example of this is the button texture used in the base maps of Quake. "+0basebtn" and "+1basebtn" blink a red texture, and when the func_button is used, it swaps to "+abasebtn".
Line 37: Line 29:
 
==Skip==
 
==Skip==
 
[[File:texture_skip.png|center]]
 
[[File:texture_skip.png|center]]
SKIP is a '''nonstandard''' special texture, used by modern QBSP compilers, but does not have any function in the stock Quake compilers as released by [[id Software]]. Skip is a texture much like clip in that it is invisible, but skip's use is to remove an entire face from ever rendering, and a brush does not have to be fully textured in skip. The removed face remains solid and will block player and monster movement, as well as block weapon fire. In general, this is of little use on solid geometry, as Quake performs backside culling, but can be used on brush entities or "hacks" like windows to hide unwanted faces. <code>*waterskip</code>, <code>*lavaskip</code>, and <code>*slimeskip</code> textures exists as well, for use with liquid brushes.
+
Skip is a '''nonstandard''' special texture, used by modern QBSP compilers, but does not have any function in the stock Quake compilers as released by [[ID Software]]. Skip is a texture much like clip in that it is invisible, but skip's use is to remove an entire face from ever rendering, and a brush does not have to be fully textured in skip. The removed face remains solid, and will block player and monster movement, as well as block weapon fire. In general, this is of little use on solid geometery, as Quake performs backside culling, but can be used on brush entities or "hacks" like windows to hide unwanted faces. A "*waterskip" texture exists as well, for use with liquid brushes.
 
 
* In ericw-tools, textures named NULL or BEVEL can also be used to not render a face.
 
* In ericw-tools, SKIP is normally solid, ''except when combined with HINT''. This is different from other engines' compilers (Q2, HL1, etc.), wherein SKIP is always nonsolid.
 
 
 
<span id="fence_textures">
 
 
 
==<span id="fence_textures"></span>Alphatest Textures==
 
[[File:fence_texure.png|center]]
 
 
 
Alphatest textures (sometimes called "fence" textures) are '''nonstandard''' special textures handled by the modern ericw-tools QBSP compiler and properly supported in some of the current quake engine ports. As the name implies these textures have parts that are alpha-masked so you can see through them. You can use these textures to make fences, spider webs, vines, bushes, icicles, trees, etc.
 
 
 
Alphatest textures are determined by having the 1st character in the texture name as "{", making any pixel using color index #255 (the pinkish one in the lower right-hand corner) of the [[Quake_palette|Quake palette]] to be rendered as transparent. For external TGAs, the alpha channel will be used instead (using an alpha clip threshold of 127).
 
 
 
In supported engines, you can use them in any non-vis-blocking, non-geometry-culling brush entity, such as [[func_wall]], [[func_illusionary]] or [[func_detail#func_detail_vars|func_detail_fence]] . Other [[func_detail]] variants may still cull away underlying geometry depending on the case, thus making likely you'll see the void through transparent texture areas.
 
 
 
 
 
(much of this article was rewritten from http://www.celephais.net/stuff/texturefaq.htm)
 
  
=External Textures=
 
Some [[Engines|source ports]] enable the use of external textures by replacing the images supplied from the WAD with image files in the game directory. This allows for a much broader range of color, not limited by the standard palette of Quake.
 
==File format==
 
While some engines are capable of replacing textures with many different image types, most engines specifically require an 24-bit or 32-bit [[wikipedia:Truevision_TGA|TGA]], or an opaque 8-bit [[wikipedia:PCX|PCX]] (which does not have to adhere to the [[quake palette]]).
 
  
==Name format==
 
In order for the engine to replace the correct texture from the WAD, the name of the texture and the image file must match; however, because of [https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions| limitations in the Windows file system], liquids texture replacements must be named using a different character. Instead of an asterisk being used, the number symbol "#" has to prefix the name.
 
==File location==
 
These image files need to be placed within the same mod directory as the map you're trying to replace textures of (or the id1 folder if you want to replace it for all mods/maps). For replacements of world textures, place them inside of a directory called "textures" in order to be seen by the engine (e.g. ..\Quake\id1\textures\).
 
  
Certain source ports also allow for model and menu texture replacements, which are stored in much the same way, but in different directories. Model texture replacements should be placed within a directory called "progs" and menu replacements in a directory named "gfx".
+
(much of this article was rewritten from http://www.celephais.net/stuff/texturefaq.htm , I'll ask permission later)

Please note that all contributions to Quake Wiki are considered to be released under the GNU Free Documentation License 1.3 or later (see Quake Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)