mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2024-11-22 20:31:11 +00:00
132 lines
4.8 KiB
C
132 lines
4.8 KiB
C
//-----------------------------------------------------------------------------
|
|
//
|
|
// $Id$
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
//
|
|
// $Log$
|
|
// Revision 1.13 2005/02/15 16:33:39 makro
|
|
// Tons of updates (entity tree attachment system, UI vectors)
|
|
//
|
|
// Revision 1.12 2002/06/16 20:06:14 jbravo
|
|
// Reindented all the source files with "indent -kr -ut -i8 -l120 -lc120 -sob -bad -bap"
|
|
//
|
|
// Revision 1.11 2002/04/01 02:56:50 jbravo
|
|
// Some sourcecode reformatting
|
|
//
|
|
// Revision 1.10 2002/01/24 14:20:53 jbravo
|
|
// Adding func_explosive and a few new surfaceparms
|
|
//
|
|
// Revision 1.9 2002/01/11 19:48:30 jbravo
|
|
// Formatted the source in non DOS format.
|
|
//
|
|
// Revision 1.8 2001/12/31 16:28:42 jbravo
|
|
// I made a Booboo with the Log tag.
|
|
//
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
// Copyright (C) 1999-2000 Id Software, Inc.
|
|
//
|
|
// This file must be identical in the quake and utils directories
|
|
|
|
// 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)
|
|
|
|
#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
|
|
//Elder: new surfaces
|
|
#define SURF_GRAVEL 0x80000
|
|
#define SURF_WOOD 0x100000
|
|
#define SURF_CARPET 0x200000
|
|
#define SURF_METAL2 0x400000
|
|
#define SURF_GLASS 0x800000
|
|
#define SURF_GRASS 0x1000000
|
|
// JBravo: new sounds
|
|
#define SURF_SNOW 0x2000000
|
|
#define SURF_MUD 0x4000000
|
|
#define SURF_WOOD2 0x8000000
|
|
#define SURF_HARDMETAL 0x10000000
|
|
|
|
|
|
//Makro - for the new surfaceparm system
|
|
|
|
#define MAT_DEFAULT 0
|
|
#define MAT_METALSTEPS 1
|
|
#define MAT_GRAVEL 2
|
|
#define MAT_WOOD 3
|
|
#define MAT_CARPET 4
|
|
#define MAT_METAL2 5
|
|
#define MAT_GLASS 6
|
|
#define MAT_GRASS 7
|
|
#define MAT_SNOW 8
|
|
#define MAT_MUD 9
|
|
#define MAT_WOOD2 10
|
|
#define MAT_HARDMETAL 11
|
|
//new
|
|
#define MAT_LEAVES 12
|
|
#define MAT_CEMENT 13
|
|
#define MAT_MARBLE 14
|
|
#define MAT_SNOW2 15
|
|
#define MAT_HARDSTEPS 16
|
|
#define MAT_SAND 17
|
|
#define MAT_BRICK 18
|
|
#define MAT_CERAMIC 19
|
|
|
|
int GetMaterialFromFlag(int flag);
|
|
#define IsMetalMat(Mat) ( (Mat)==MAT_METALSTEPS || (Mat)==MAT_METAL2 || (Mat)==MAT_HARDMETAL )
|
|
#define IsMetalFlag(Flag) ( IsMetalMat( GetMaterialFromFlag( Flag ) ) )
|
|
#define IsWoodMat(Mat) ( (Mat)==MAT_WOOD || (Mat)==MAT_WOOD2 )
|
|
#define IsWoodFlag(Flag) ( IsWoodMat( GetMaterialFromFlag( Flag ) ) )
|
|
#define IsSnowMat(Mat) ( (Mat)==MAT_SNOW || (Mat)==MAT_SNOW2 )
|
|
#define IsSnowFlag(Flag) ( IsSnowMat( GetMaterialFromFlag( Flag ) ) )
|