Documentation
¶
Index ¶
Constants ¶
const ALL_VISIBLE_CONTENTS = LAST_VISIBLE_CONTENTS | (LAST_VISIBLE_CONTENTS - 1)
const CONTENTS_AREAPORTAL = 0x8000
remaining contents are non-visible, and don't eat brushes
const CONTENTS_AUX = 0x4
const CONTENTS_BLOCKLOS = 0x40 // block AI line of sight
const CONTENTS_CURRENT_0 = 0x40000
currents can be added to any other contents, and may be mixed
const CONTENTS_CURRENT_180 = 0x100000
const CONTENTS_CURRENT_270 = 0x200000
const CONTENTS_CURRENT_90 = 0x80000
const CONTENTS_CURRENT_DOWN = 0x800000
const CONTENTS_CURRENT_UP = 0x400000
const CONTENTS_DEBRIS = 0x4000000
const CONTENTS_DETAIL = 0x8000000 // brushes to be added after vis leafs
const CONTENTS_EMPTY = 0 // No contents
const CONTENTS_GRATE = 0x8 // alpha-tested "grate" textures. Bullets/sight pass through, but solids don't
const CONTENTS_HITBOX = 0x40000000 // use accurate hitboxes on trace
const CONTENTS_IGNORE_NODRAW_OPAQUE = 0x2000
ignore CONTENTS_OPAQUE on surfaces that have SURF_NODRAW
const CONTENTS_LADDER = 0x20000000
const CONTENTS_MONSTER = 0x2000000 // should never be on a brush, only in game
const CONTENTS_MONSTERCLIP = 0x20000
const CONTENTS_MOVEABLE = 0x4000
hits entities which are MOVETYPE_PUSH (doors, plats, etc.)
const CONTENTS_OPAQUE = 0x80 // things that cannot be seen through (may be non-solid though)
const CONTENTS_ORIGIN = 0x1000000 // removed before bsping an entity
const CONTENTS_PLAYERCLIP = 0x10000
const CONTENTS_SLIME = 0x10
const CONTENTS_SOLID = 0x1 // an eye is never valid in a solid
const CONTENTS_TEAM1 = 0x800 // per team contents used to differentiate collisions
const CONTENTS_TEAM2 = 0x1000 // between players and objects on different teams
const CONTENTS_TESTFOGVOLUME = 0x100
const CONTENTS_TRANSLUCENT = 0x10000000 // auto set if any surface has trans
const CONTENTS_UNUSED = 0x200
const CONTENTS_UNUSED6 = 0x400
unused NOTE: If it's visible, grab from the top + update LAST_VISIBLE_CONTENTS if not visible, then grab from the bottom.
const CONTENTS_WATER = 0x20
const CONTENTS_WINDOW = 0x2 // translucent, but not watery (glass)
const LAST_VISIBLE_CONTENTS = 0x80
const MASK_ALL = (0xFFFFFFFF)
----------------------------------------------------- spatial content masks - used for spatial queries (traceline,etc.) -----------------------------------------------------
const MASK_BLOCKLOS = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_BLOCKLOS)
everything that blocks line of sight for AI
const MASK_BLOCKLOS_AND_NPCS = (MASK_BLOCKLOS | CONTENTS_MONSTER)
everything that blocks line of sight for AI plus NPCs
const MASK_CURRENT = (CONTENTS_CURRENT_0 | CONTENTS_CURRENT_90 | CONTENTS_CURRENT_180 | CONTENTS_CURRENT_270 | CONTENTS_CURRENT_UP | CONTENTS_CURRENT_DOWN)
UNDONE: This is untested, any moving water
const MASK_DEADSOLID = (CONTENTS_SOLID | CONTENTS_PLAYERCLIP | CONTENTS_WINDOW | CONTENTS_GRATE)
everything that blocks corpse movement UNDONE: Not used yet / may be deleted
const MASK_NPCSOLID = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_MONSTERCLIP | CONTENTS_WINDOW | CONTENTS_MONSTER | CONTENTS_GRATE)
blocks npc movement
const MASK_NPCSOLID_BRUSHONLY = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_WINDOW | CONTENTS_MONSTERCLIP | CONTENTS_GRATE)
everything normally solid for npc movement, except monsters (world+brush only)
const MASK_NPCWORLDSTATIC = (CONTENTS_SOLID | CONTENTS_WINDOW | CONTENTS_MONSTERCLIP | CONTENTS_GRATE)
just the world, used for route rebuilding
const MASK_OPAQUE = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_OPAQUE)
everything that blocks lighting
const MASK_OPAQUE_AND_NPCS = (MASK_OPAQUE | CONTENTS_MONSTER)
everything that blocks lighting, but with monsters added.
const MASK_PLAYERSOLID = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_PLAYERCLIP | CONTENTS_WINDOW | CONTENTS_MONSTER | CONTENTS_GRATE)
everything that blocks player movement
const MASK_PLAYERSOLID_BRUSHONLY = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_WINDOW | CONTENTS_PLAYERCLIP | CONTENTS_GRATE)
everything normally solid for player movement, except monsters (world+brush only)
const MASK_SHOT = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_MONSTER | CONTENTS_WINDOW | CONTENTS_DEBRIS | CONTENTS_HITBOX)
bullets see these as solid
const MASK_SHOT_HULL = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_MONSTER | CONTENTS_WINDOW | CONTENTS_DEBRIS | CONTENTS_GRATE)
non-raycasted weapons see this as solid (includes grates)
const MASK_SHOT_PORTAL = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_WINDOW | CONTENTS_MONSTER)
hits solids (not grates) and passes through everything else
const MASK_SOLID = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_WINDOW | CONTENTS_MONSTER | CONTENTS_GRATE)
everything that is normally solid
const MASK_SOLID_BRUSHONLY = (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_WINDOW | CONTENTS_GRATE)
everything normally solid, except monsters (world+brush only)
const MASK_SPLITAREAPORTAL = (CONTENTS_WATER | CONTENTS_SLIME)
These are things that can split areaportals
const MASK_VISIBLE = (MASK_OPAQUE | CONTENTS_IGNORE_NODRAW_OPAQUE)
everything that blocks line of sight for players
const MASK_VISIBLE_AND_NPCS = (MASK_OPAQUE_AND_NPCS | CONTENTS_IGNORE_NODRAW_OPAQUE)
everything that blocks line of sight for players, but with monsters added.
const MASK_WATER = (CONTENTS_WATER | CONTENTS_MOVEABLE | CONTENTS_SLIME)
water physics in these contents
const SURF_BUMPLIGHT = 0x0800 // calculate three lightmaps for the surface for bumpmapping
const SURF_HINT = 0x0100 // make a primary bsp splitter
const SURF_HITBOX = 0x8000 // surface is part of a hitbox
const SURF_LIGHT = 0x0001 // value will hold the light strength
NOTE: These are stored in a short in the engine now. Don't use more than 16 bits
const SURF_NOCHOP = 0x4000 // Don't subdivide patches on this surface
const SURF_NODECALS = 0x2000 // Don't receive decals
const SURF_NODRAW = 0x0080 // don't bother referencing the texture
const SURF_NOLIGHT = 0x0400 // Don't calculate light
const SURF_NOPORTAL = 0x0020 // the surface can not have a portal placed on it
const SURF_NOSHADOWS = 0x1000 // Don't receive shadows
const SURF_SKIP = 0x0200 // completely ignore, allowing non-closed brushes
const SURF_SKY = 0x0004 // don't draw, but add to skybox
const SURF_SKY2D = 0x0002 // don't draw, indicates we should skylight + draw 2d sky but not draw the 3D skybox
const SURF_TRANS = 0x0010
const SURF_TRIGGER = 0x0040 // FIXME: This is an xbox hack to work around elimination of trigger surfaces, which breaks occluders
const SURF_WARP = 0x0008 // turbulent water warp
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
This section is empty.