summaryrefslogtreecommitdiff
path: root/src/game/surfaceflags.h
blob: d7d721b49964c7ef0b3a3d82981c5edb41518d87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// Copyright (C) 1999-2000 Id Software, Inc.
//
// This file must be identical in the quake and utils directories

/*
 *  Portions Copyright (C) 2000-2001 Tim Angus
 *
 *  This program is free software; you can redistribute it and/or modify it
 *  under the terms of the OSML - Open Source Modification License v1.0 as
 *  described in the file COPYING which is distributed with this source
 *  code.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 */

// 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_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_NOTTEAM1       0x0080
#define CONTENTS_NOTTEAM2       0x0100
#define CONTENTS_NOBOTCLIP      0x0200

#define CONTENTS_AREAPORTAL     0x8000

#define CONTENTS_PLAYERCLIP     0x10000
#define CONTENTS_MONSTERCLIP    0x20000
//bot specific contents types
#define CONTENTS_TELEPORTER     0x40000
#define CONTENTS_JUMPPAD        0x80000
#define CONTENTS_CLUSTERPORTAL  0x100000
#define CONTENTS_DONOTENTER     0x200000
#define CONTENTS_BOTCLIP        0x400000
#define CONTENTS_MOVER          0x800000

#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)

//TA: custominfoparms below
#define CONTENTS_NOALIENBUILD   0x1000 // disallow alien building
#define CONTENTS_NOHUMANBUILD   0x2000 // disallow alien building
#define CONTENTS_NOBUILD        0x4000 // disallow alien building

#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_LADDER             0x8
#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_DUST               0x40000 // leave a dust trail when walking on this surface

//TA: custominfoparms below
#define SURF_NOALIENBUILD       0x80000 // disallow alien building
#define SURF_NOHUMANBUILD       0x100000 // disallow alien building
#define SURF_NOBUILD            0x200000 // disallow alien building