BSP flags (Quake and GoldSrc): Difference between revisions
SirYodaJedi (talk | contribs) m (→Surface flags) |
SirYodaJedi (talk | contribs) |
||
Line 69: | Line 69: | ||
== Ambient Types == | == Ambient Types == | ||
Ambients are stored as an array of 4 unsigned bytes, indicating volume. Only Quake uses them, and it only uses AMBIENT_SKY and AMBIENT_WATER, which are hardcoded in the engine to play specific sounds when a visleaf containing the given ambient type is in the current PVS. | Ambients are stored as an array of 4 unsigned bytes, indicating volume. Only Quake uses them, and it only uses AMBIENT_SKY and AMBIENT_WATER, which are hardcoded in the engine to play specific sounds when a visleaf containing the given ambient type is in the current PVS. | ||
{{modernConfirm|Probably only affected by world brushes, so probably not cast by func_water.}} | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Index !! | ! Index !! Name !! Notes | ||
|- | |- | ||
| 0 || AMBIENT_WATER || | | 0 || AMBIENT_WATER || Normally cast by any liquid ({{code|<nowiki>*</nowiki>}} prefix in {{quake}}; {{code|!}} prefix in {{goldsrc}}), unless they are slime or lava. | ||
|- | |- | ||
| 1 || AMBIENT_SKY || | | 1 || AMBIENT_SKY || Normally cast by sky brushes ({{code|sky}} prefix) | ||
|- | |- | ||
| 2 || AMBIENT_SLIME || | | 2 || AMBIENT_SLIME || Normally cast by slime brushes ({{code|<nowiki>*slime</nowiki>}} prefix in {{quake}}; {{code|!slime}} prefix in {{goldsrc}}) | ||
|- | |- | ||
| 3 || AMBIENT_LAVA || | | 3 || AMBIENT_LAVA || Normally cast by lava brushes ({{code|<nowiki>*lava</nowiki>}} prefix in {{quake}}; {{code|!lava}} prefix in {{goldsrc}}) | ||
|} | |} |
Revision as of 14:07, 6 June 2024

Remember to check for any notes left by the tagger at this article's talk page.

Surface flags
Despite having a 32-bit integer available to be used, most flags go unused. Vanilla Quake engines and GoldSrc only use TEX_SPECIAL.
Bit | Flag name | Dev comment | Notes |
---|---|---|---|
0x00000001 | TEX_SPECIAL | sky or slime, no lightmap or 256 subdivision | Surface does not have a lightmap.
Used by |
0x00000002 | TEX_MISSING | johnfitz -- this texinfo does not have a texture | Used by fitzquake and derivatives to indicate a missing texture |
0x00000800 | ??? | N/A | Used by VERTEXNORMALS BSPX lump to indicate a face that should have smooth shading based upon its vertex normals. |
Contents types
Contents are stored as a signed 32-bit integer, and are always negative. Some entities, such as func_illusionary and func_water, allow using the skin KV to override the contents of the entity.
Ambient Types
Ambients are stored as an array of 4 unsigned bytes, indicating volume. Only Quake uses them, and it only uses AMBIENT_SKY and AMBIENT_WATER, which are hardcoded in the engine to play specific sounds when a visleaf containing the given ambient type is in the current PVS.
