X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=model_brush.h;h=906594ad4c893db4dc623ca2e12c10151c435070;hb=94a5be97432b0a538c0200cd0c837253b65633bf;hp=0463d74d1eedc3a8fe65f79ff5143f250b77dda5;hpb=c7ba733816742fa1a2ed54c278a504394b679227;p=xonotic%2Fdarkplaces.git diff --git a/model_brush.h b/model_brush.h index 0463d74d..906594ad 100644 --- a/model_brush.h +++ b/model_brush.h @@ -62,6 +62,8 @@ mplane_t; //#define SURF_PLANEBACK 2 +// indicates that all triangles of the surface should be added to the BIH collision system +#define MATERIALFLAG_MESHCOLLISIONS 1 // use alpha blend on this material #define MATERIALFLAG_ALPHA 2 // use additive blend on this material @@ -112,6 +114,10 @@ mplane_t; #define MATERIALFLAG_CUSTOMSURFACE 16777216 // causes MATERIALFLAG_BLENDED to render a depth pass before rendering, hiding backfaces and other hidden geometry #define MATERIALFLAG_TRANSDEPTH 33554432 +// like refraction, but doesn't distort etc. +#define MATERIALFLAG_CAMERA 67108864 +// disable rtlight on surface, use R_LightPoint instead +#define MATERIALFLAG_NORTLIGHT 134217728 // combined mask of all attributes that require depth sorted rendering #define MATERIALFLAGMASK_DEPTHSORTED (MATERIALFLAG_BLENDED | MATERIALFLAG_NODEPTHTEST) // combined mask of all attributes that cause some sort of transparency @@ -699,9 +705,10 @@ typedef struct q3mbrushside_s } q3mbrushside_t; -#define CHECKPVSBIT(pvs,b) ((b) >= 0 ? ((pvs)[(b) >> 3] & (1 << ((b) & 7))) : false) -#define SETPVSBIT(pvs,b) ((b) >= 0 ? ((pvs)[(b) >> 3] |= (1 << ((b) & 7))) : false) -#define CLEARPVSBIT(pvs,b) ((b) >= 0 ? ((pvs)[(b) >> 3] &= ~(1 << ((b) & 7))) : false) +// the first cast is to shut up a stupid warning by clang, the second cast is to make both sides have the same type +#define CHECKPVSBIT(pvs,b) ((b) >= 0 ? (unsigned char) ((pvs)[(b) >> 3] & (1 << ((b) & 7))) : (unsigned char) false) +#define SETPVSBIT(pvs,b) (void) ((b) >= 0 ? (unsigned char) ((pvs)[(b) >> 3] |= (1 << ((b) & 7))) : (unsigned char) false) +#define CLEARPVSBIT(pvs,b) (void) ((b) >= 0 ? (unsigned char) ((pvs)[(b) >> 3] &= ~(1 << ((b) & 7))) : (unsigned char) false) #endif