1 /* 2 Copyright (C) 1999-2006 Id Software, Inc. and contributors. 3 For a list of contributors, see the accompanying CONTRIBUTORS file. 4 5 This file is part of GtkRadiant. 6 7 GtkRadiant is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 12 GtkRadiant is distributed in the hope that it will be useful, 13 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 GtkRadiant; if not, write to the Free Software 19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 */ 21 22 // Copyright (C) 1999-2000 Id Software, Inc. 23 // 24 // This file must be identical in the quake and utils directories 25 26 // contents flags are seperate bits 27 // a given brush can contribute multiple content bits 28 29 // these definitions also need to be in q_shared.h! 30 31 #define CONTENTS_SOLID 1 // an eye is never valid in a solid 32 #define CONTENTS_LAVA 8 33 #define CONTENTS_SLIME 16 34 #define CONTENTS_WATER 32 35 #define CONTENTS_FOG 64 36 37 #define CONTENTS_AREAPORTAL 0x8000 38 39 #define CONTENTS_PLAYERCLIP 0x10000 40 #define CONTENTS_MONSTERCLIP 0x20000 41 //bot specific contents types 42 #define CONTENTS_TELEPORTER 0x40000 43 #define CONTENTS_JUMPPAD 0x80000 44 #define CONTENTS_CLUSTERPORTAL 0x100000 45 #define CONTENTS_DONOTENTER 0x200000 46 #define CONTENTS_BOTCLIP 0x400000 47 48 #define CONTENTS_ORIGIN 0x1000000 // removed before bsping an entity 49 50 #define CONTENTS_BODY 0x2000000 // should never be on a brush, only in game 51 #define CONTENTS_CORPSE 0x4000000 52 #define CONTENTS_DETAIL 0x8000000 // brushes not used for the bsp 53 #define CONTENTS_STRUCTURAL 0x10000000 // brushes used for the bsp 54 #define CONTENTS_TRANSLUCENT 0x20000000 // don't consume surface fragments inside 55 #define CONTENTS_TRIGGER 0x40000000 56 #define CONTENTS_NODROP 0x80000000 // don't leave bodies or items (death fog, lava) 57 58 #define SURF_NODAMAGE 0x1 // never give falling damage 59 #define SURF_SLICK 0x2 // effects game physics 60 #define SURF_SKY 0x4 // lighting from environment map 61 #define SURF_LADDER 0x8 62 #define SURF_NOIMPACT 0x10 // don't make missile explosions 63 #define SURF_NOMARKS 0x20 // don't leave missile marks 64 #define SURF_FLESH 0x40 // make flesh sounds and effects 65 #define SURF_NODRAW 0x80 // don't generate a drawsurface at all 66 #define SURF_HINT 0x100 // make a primary bsp splitter 67 #define SURF_SKIP 0x200 // completely ignore, allowing non-closed brushes 68 #define SURF_NOLIGHTMAP 0x400 // surface doesn't need a lightmap 69 #define SURF_POINTLIGHT 0x800 // generate lighting info at vertexes 70 #define SURF_METALSTEPS 0x1000 // clanking footsteps 71 #define SURF_NOSTEPS 0x2000 // no footstep sounds 72 #define SURF_NONSOLID 0x4000 // don't collide against curves with this set 73 #define SURF_LIGHTFILTER 0x8000 // act as a light filter during q3map -light 74 #define SURF_ALPHASHADOW 0x10000 // do per-pixel light shadow casting in q3map 75 #define SURF_NODLIGHT 0x20000 // don't dlight even if solid (solid lava, skies) 76 #define SURF_DUST 0x40000 // leave a dust trail when walking on this surface 77 78 79 80 81 /* ydnar flags */ 82 83 #define CONTENTS_OPAQUE 0x02 84 #define CONTENTS_LIGHTGRID 0x04 85 86 #define SURF_VERTEXLIT ( SURF_POINTLIGHT | SURF_NOLIGHTMAP ) 87 88 89 90 /* wolfenstein flags (collisions with valid q3a flags are noted) */ 91 92 #define CONTENTS_MISSILECLIP 0x80 93 #define CONTENTS_ITEM 0x100 94 #define CONTENTS_AI_NOSIGHT 0x1000 95 #define CONTENTS_CLIPSHOT 0x2000 96 #define CONTENTS_DONOTENTER_LARGE 0x400000 /* CONTENTS_BOTCLIP */ 97 98 #define SURF_CERAMIC 0x40 /* SURF_FLESH */ 99 #define SURF_METAL 0x1000 /* SURF_METALSTEPS */ 100 #define SURF_WOOD 0x40000 /* SURF_DUST */ 101 #define SURF_GRASS 0x80000 102 #define SURF_GRAVEL 0x100000 103 #define SURF_GLASS 0x200000 104 #define SURF_SNOW 0x400000 105 #define SURF_ROOF 0x800000 106 #define SURF_RUBBLE 0x1000000 107 #define SURF_CARPET 0x2000000 108 #define SURF_MONSTERSLICK 0x4000000 109 #define SURF_MONSLICK_W 0x8000000 110 #define SURF_MONSLICK_N 0x10000000 111 #define SURF_MONSLICK_E 0x20000000 112 #define SURF_MONSLICK_S 0x40000000 113