]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_brush.h
changed Q1BSP traceline to only use the surface-hitting variant if
[xonotic/darkplaces.git] / model_brush.h
index 9d67f60b97cfe834e49112b9487399daac59f83f..1621b491b8c15d5d2ccfbaeb903e3fc339a97d5a 100644 (file)
@@ -116,6 +116,10 @@ mplane_t;
 #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
+// alphagen vertex
+#define MATERIALFLAG_ALPHAGEN_VERTEX 268435456
 // 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
@@ -123,7 +127,7 @@ mplane_t;
 
 typedef struct medge_s
 {
-       unsigned short v[2];
+       unsigned int v[2];
 }
 medge_t;
 
@@ -147,8 +151,8 @@ typedef struct mnode_s
        struct mnode_s *children[2];
 
        // q1bsp specific
-       unsigned short firstsurface;
-       unsigned short numsurfaces;
+       unsigned int firstsurface;
+       unsigned int numsurfaces;
 }
 mnode_t;
 
@@ -636,17 +640,17 @@ q3dpvs_t;
 #define Q3SURFACEFLAG_NODAMAGE 1
 #define Q3SURFACEFLAG_SLICK 2
 #define Q3SURFACEFLAG_SKY 4
-#define Q3SURFACEFLAG_LADDER 8
+#define Q3SURFACEFLAG_LADDER 8 // has no surfaceparm
 #define Q3SURFACEFLAG_NOIMPACT 16
 #define Q3SURFACEFLAG_NOMARKS 32
-#define Q3SURFACEFLAG_FLESH 64
+#define Q3SURFACEFLAG_FLESH 64 // has no surfaceparm
 #define Q3SURFACEFLAG_NODRAW 128
 #define Q3SURFACEFLAG_HINT 256
-#define Q3SURFACEFLAG_SKIP 512
+#define Q3SURFACEFLAG_SKIP 512 // has no surfaceparm
 #define Q3SURFACEFLAG_NOLIGHTMAP 1024
 #define Q3SURFACEFLAG_POINTLIGHT 2048
 #define Q3SURFACEFLAG_METALSTEPS 4096
-#define Q3SURFACEFLAG_NOSTEPS 8192
+#define Q3SURFACEFLAG_NOSTEPS 8192 // has no surfaceparm
 #define Q3SURFACEFLAG_NONSOLID 16384
 #define Q3SURFACEFLAG_LIGHTFILTER 32768
 #define Q3SURFACEFLAG_ALPHASHADOW 65536
@@ -705,8 +709,8 @@ q3mbrushside_t;
 
 // 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) ((b) >= 0 ? (unsigned char) ((pvs)[(b) >> 3] |= (1 << ((b) & 7))) : (unsigned char) false)
-#define CLEARPVSBIT(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