This article's documentation is for the "GoldSrc" engine. Click here for more information.
Quake1-16px.png

BSP flags (Quake and GoldSrc): Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
Line 4: Line 4:
{{note|These aren't actually flags, except for the surface flags; the page title is for consistency so that the tabs work.}}
{{note|These aren't actually flags, except for the surface flags; the page title is for consistency so that the tabs work.}}
== Surface flags ==
== Surface flags ==
Despite having a 32-bit integer available to be used, most flags go unused. Vanilla Quake and GoldSrc only use TEX_SPECIAL.
Despite having a 32-bit integer available to be used, most flags go unused. Vanilla Quake engines and GoldSrc only use TEX_SPECIAL.
{| class="wikitable"
{| class="wikitable"
|-
|-
! Flag !! Name !! Notes
! Flag !! Name !! Notes
|-
|-
| 0x00000001 || TEX_SPECIAL ||
| 0x00000001 || TEX_SPECIAL || Surface does not have a lightmap. Used by [[QBSP]] to tell [[LIGHT (Quake compiler)|LIGHT]] to not generate lightmaps for sky and liquid surfaces]]
|-
|-
| 0x00000002 || TEX_MISSING || Used by fitzquake and derivatives to indicate a missing texture
| 0x00000002 || TEX_MISSING || Used by fitzquake and derivatives to indicate a missing texture

Revision as of 08:34, 6 June 2024

Icon-under construction-blue.png
This is a draft page. It is a work in progress open to editing by anyone.
Remember to check for any notes left by the tagger at this article's talk page.
Note.pngNote:These aren't actually flags, except for the surface flags; the page title is for consistency so that the tabs work.

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.

Flag Name Notes
0x00000001 TEX_SPECIAL Surface does not have a lightmap. Used by QBSP to tell LIGHT to not generate lightmaps for sky and liquid surfaces]]
0x00000002 TEX_MISSING Used by fitzquake and derivatives to indicate a missing texture
0x00000800 ??? Used by VERTEXNORMALS BSPX lump

Contents types

Contents are stored as a signed 32-bit integer, and are always negative.

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.

Index Header text Header text
0 AMBIENT_WATER
1 AMBIENT_SKY
2 AMBIENT_SLIME
3 AMBIENT_LAVA