surfaceflags.h 3.2 KB

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