rpgxef/code/game/surfaceflags.h

67 lines
3.1 KiB
C
Raw Normal View History

// Copyright (C) 1999-2000 Id Software, Inc.
//
// This file must be identical in the quake and utils directories
// contents flags are seperate bits
// a given brush can contribute multiple content bits
// these definitions also need to be in q_shared.h!
#define CONTENTS_NONE 0
#define CONTENTS_SOLID 1 // an eye is never valid in a solid
#define CONTENTS_LAVA 8
#define CONTENTS_SLIME 16
#define CONTENTS_WATER 32
#define CONTENTS_FOG 64
#define CONTENTS_LADDER 128
#define CONTENTS_AREAPORTAL 0x8000
#define CONTENTS_PLAYERCLIP 0x10000
#define CONTENTS_MONSTERCLIP 0x20000
#define CONTENTS_SHOTCLIP 0x40000 //!< These are not needed if CONTENTS_SOLID is included
//q3 bot specific contents types
#define CONTENTS_TELEPORTER 0x40000
#define CONTENTS_JUMPPAD 0x80000 //!< needed for bspc
#define CONTENTS_ITEM 0x80000 //!< Items can be touched but do not block movement (like triggers) but can be hit by the infoString trace
#define CONTENTS_CLUSTERPORTAL 0x100000
#define CONTENTS_DONOTENTER 0x200000
#define CONTENTS_BOTCLIP 0x400000
#define CONTENTS_ORIGIN 0x1000000 //!< removed before bsping an entity
#define CONTENTS_BODY 0x2000000 //!< should never be on a brush, only in game
#define CONTENTS_CORPSE 0x4000000
#define CONTENTS_DETAIL 0x8000000 //!< brushes not used for the bsp
#define CONTENTS_STRUCTURAL 0x10000000 //!< brushes used for the bsp
#define CONTENTS_TRANSLUCENT 0x20000000 //!< don't consume surface fragments inside
#define CONTENTS_TRIGGER 0x40000000
#define CONTENTS_NODROP 0x80000000 //!< don't leave bodies or items (death fog, lava)
#define SURF_NODAMAGE 0x1 //!< never give falling damage
#define SURF_SLICK 0x2 //!< effects game physics
#define SURF_SKY 0x4 //!< lighting from environment map
#define SURF_NOIMPACT 0x10 //!< don't make missile explosions
#define SURF_NOMARKS 0x20 //!< don't leave missile marks
#define SURF_FLESH 0x40 //!< make flesh sounds and effects
#define SURF_NODRAW 0x80 //!< don't generate a drawsurface at all
#define SURF_HINT 0x100 //!< make a primary bsp splitter
#define SURF_SKIP 0x200 //!< completely ignore, allowing non-closed brushes
#define SURF_NOLIGHTMAP 0x400 //!< surface doesn't need a lightmap
#define SURF_POINTLIGHT 0x800 //!< generate lighting info at vertexes
#define SURF_METALSTEPS 0x1000 //!< clanking footsteps
#define SURF_NOSTEPS 0x2000 //!< no footstep sounds
#define SURF_NONSOLID 0x4000 //!< don't collide against curves with this set
#define SURF_LIGHTFILTER 0x8000 //!< act as a light filter during q3map -light
#define SURF_ALPHASHADOW 0x10000 //!< do per-pixel light shadow casting in q3map
#define SURF_NODLIGHT 0x20000 //!< don't dlight even if solid (solid lava, skies)
#define SURF_FORCEFIELD 0x40000 //!< the surface in question is a forcefield
//RPG-X | GSIO01 | 20/05/2009 | START MOD
#define SURF_GRASS 0x80000 //!< grass, use grass footsteps etc.
#define SURF_GRAVEL 0x100000 //!< gravel, use grass footsteps etc.
#define SURF_SNOW 0x200000 //!< snow, use grass footsteps etc.
#define SURF_WOOD 0x400000 //!< wood, use grass footsteps etc.
//RPG-X | GSIO01 | 20/05/2009 | END MOD