Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

surfaceflags.h (3548B)


      1 /*
      2 ===========================================================================
      3 Copyright (C) 1999-2005 Id Software, Inc.
      4 
      5 This file is part of Quake III Arena source code.
      6 
      7 Quake III Arena source code is free software; you can redistribute it
      8 and/or modify it under the terms of the GNU General Public License as
      9 published by the Free Software Foundation; either version 2 of the License,
     10 or (at your option) any later version.
     11 
     12 Quake III Arena source code is distributed in the hope that it will be
     13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 GNU General Public License for more details.
     16 
     17 You should have received a copy of the GNU General Public License
     18 along with Foobar; if not, write to the Free Software
     19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     20 ===========================================================================
     21 */
     22 //
     23 // This file must be identical in the quake and utils directories
     24 
     25 // contents flags are seperate bits
     26 // a given brush can contribute multiple content bits
     27 
     28 // these definitions also need to be in q_shared.h!
     29 
     30 #define	CONTENTS_SOLID			1		// an eye is never valid in a solid
     31 #define	CONTENTS_LAVA			8
     32 #define	CONTENTS_SLIME			16
     33 #define	CONTENTS_WATER			32
     34 #define	CONTENTS_FOG			64
     35 
     36 #define CONTENTS_NOTTEAM1		0x0080
     37 #define CONTENTS_NOTTEAM2		0x0100
     38 #define CONTENTS_NOBOTCLIP		0x0200
     39 
     40 #define	CONTENTS_AREAPORTAL		0x8000
     41 
     42 #define	CONTENTS_PLAYERCLIP		0x10000
     43 #define	CONTENTS_MONSTERCLIP	0x20000
     44 //bot specific contents types
     45 #define	CONTENTS_TELEPORTER		0x40000
     46 #define	CONTENTS_JUMPPAD		0x80000
     47 #define CONTENTS_CLUSTERPORTAL	0x100000
     48 #define CONTENTS_DONOTENTER		0x200000
     49 #define CONTENTS_BOTCLIP		0x400000
     50 #define CONTENTS_MOVER			0x800000
     51 
     52 #define	CONTENTS_ORIGIN			0x1000000	// removed before bsping an entity
     53 
     54 #define	CONTENTS_BODY			0x2000000	// should never be on a brush, only in game
     55 #define	CONTENTS_CORPSE			0x4000000
     56 #define	CONTENTS_DETAIL			0x8000000	// brushes not used for the bsp
     57 #define	CONTENTS_STRUCTURAL		0x10000000	// brushes used for the bsp
     58 #define	CONTENTS_TRANSLUCENT	0x20000000	// don't consume surface fragments inside
     59 #define	CONTENTS_TRIGGER		0x40000000
     60 #define	CONTENTS_NODROP			0x80000000	// don't leave bodies or items (death fog, lava)
     61 
     62 #define	SURF_NODAMAGE			0x1		// never give falling damage
     63 #define	SURF_SLICK				0x2		// effects game physics
     64 #define	SURF_SKY				0x4		// lighting from environment map
     65 #define	SURF_LADDER				0x8
     66 #define	SURF_NOIMPACT			0x10	// don't make missile explosions
     67 #define	SURF_NOMARKS			0x20	// don't leave missile marks
     68 #define	SURF_FLESH				0x40	// make flesh sounds and effects
     69 #define	SURF_NODRAW				0x80	// don't generate a drawsurface at all
     70 #define	SURF_HINT				0x100	// make a primary bsp splitter
     71 #define	SURF_SKIP				0x200	// completely ignore, allowing non-closed brushes
     72 #define	SURF_NOLIGHTMAP			0x400	// surface doesn't need a lightmap
     73 #define	SURF_POINTLIGHT			0x800	// generate lighting info at vertexes
     74 #define	SURF_METALSTEPS			0x1000	// clanking footsteps
     75 #define	SURF_NOSTEPS			0x2000	// no footstep sounds
     76 #define	SURF_NONSOLID			0x4000	// don't collide against curves with this set
     77 #define	SURF_LIGHTFILTER		0x8000	// act as a light filter during q3map -light
     78 #define	SURF_ALPHASHADOW		0x10000	// do per-pixel light shadow casting in q3map
     79 #define	SURF_NODLIGHT			0x20000	// don't dlight even if solid (solid lava, skies)
     80 #define SURF_DUST				0x40000 // leave a dust trail when walking on this surface