Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

surfaceflags.h (3270B)


      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 // This file must be identical in the quake and utils directories
     23 
     24 // contents flags are seperate bits
     25 // a given brush can contribute multiple content bits
     26 
     27 // these definitions also need to be in q_shared.h!
     28 
     29 #define	CONTENTS_SOLID			1		// an eye is never valid in a solid
     30 #define	CONTENTS_LAVA			8
     31 #define	CONTENTS_SLIME			16
     32 #define	CONTENTS_WATER			32
     33 #define	CONTENTS_FOG			64
     34 
     35 #define	CONTENTS_AREAPORTAL		0x8000
     36 
     37 #define	CONTENTS_PLAYERCLIP		0x10000
     38 #define	CONTENTS_MONSTERCLIP	0x20000
     39 //bot specific contents types
     40 #define	CONTENTS_TELEPORTER		0x40000
     41 #define	CONTENTS_JUMPPAD		0x80000
     42 #define CONTENTS_CLUSTERPORTAL	0x100000
     43 #define CONTENTS_DONOTENTER		0x200000
     44 
     45 #define	CONTENTS_ORIGIN			0x1000000	// removed before bsping an entity
     46 
     47 #define	CONTENTS_BODY			0x2000000	// should never be on a brush, only in game
     48 #define	CONTENTS_CORPSE			0x4000000
     49 #define	CONTENTS_DETAIL			0x8000000	// brushes not used for the bsp
     50 #define	CONTENTS_STRUCTURAL		0x10000000	// brushes used for the bsp
     51 #define	CONTENTS_TRANSLUCENT	0x20000000	// don't consume surface fragments inside
     52 #define	CONTENTS_TRIGGER		0x40000000
     53 #define	CONTENTS_NODROP			0x80000000	// don't leave bodies or items (death fog, lava)
     54 
     55 #define	SURF_NODAMAGE			0x1		// never give falling damage
     56 #define	SURF_SLICK				0x2		// effects game physics
     57 #define	SURF_SKY				0x4		// lighting from environment map
     58 #define	SURF_LADDER				0x8
     59 #define	SURF_NOIMPACT			0x10	// don't make missile explosions
     60 #define	SURF_NOMARKS			0x20	// don't leave missile marks
     61 #define	SURF_FLESH				0x40	// make flesh sounds and effects
     62 #define	SURF_NODRAW				0x80	// don't generate a drawsurface at all
     63 #define	SURF_HINT				0x100	// make a primary bsp splitter
     64 #define	SURF_SKIP				0x200	// completely ignore, allowing non-closed brushes
     65 #define	SURF_NOLIGHTMAP			0x400	// surface doesn't need a lightmap
     66 #define	SURF_POINTLIGHT			0x800	// generate lighting info at vertexes
     67 #define	SURF_METALSTEPS			0x1000	// clanking footsteps
     68 #define	SURF_NOSTEPS			0x2000	// no footstep sounds
     69 #define	SURF_NONSOLID			0x4000	// don't collide against curves with this set
     70 #define SURF_LIGHTFILTER		0x8000	// act as a light filter during q3map -light
     71 #define	SURF_ALPHASHADOW		0x10000	// do per-pixel light shadow casting in q3map
     72 #define	SURF_NODLIGHT			0x20000	// never add dynamic lights