]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_brush.h
added NetConn_SleepMicroseconds function, and LHNET_SleepUntilPacket_Microseconds...
[xonotic/darkplaces.git] / model_brush.h
index 080daf0eb9654343e0923ef152ccfad5039b7fdb..558f992d2c5298f85aacbf36776625f18caefd60 100644 (file)
@@ -86,6 +86,19 @@ mplane_t;
 #define MATERIALFLAG_NODRAW 512
 // probably used only on q1bsp water
 #define MATERIALFLAG_LIGHTBOTHSIDES 1024
+// use alpha test on this material
+#define MATERIALFLAG_ALPHATEST 2048
+// treat this material as a blended transparency (as opposed to an alpha test
+// transparency), this causes special fog behavior, and disables glDepthMask
+#define MATERIALFLAG_BLENDED 4096
+// render using a custom blendfunc
+#define MATERIALFLAG_CUSTOMBLEND 8192
+// do not cast shadows from this material
+#define MATERIALFLAG_NOSHADOW 16384
+// render using vertex alpha (q3bsp) as texture blend parameter between foreground (normal) skinframe and background skinframe
+#define MATERIALFLAG_VERTEXTEXTUREBLEND 32768
+// disables GL_CULL_FACE on this texture (making it double sided)
+#define MATERIALFLAG_NOCULLFACE 65536
 
 typedef struct medge_s
 {
@@ -106,6 +119,8 @@ typedef struct mnode_s
        // for bounding box culling
        vec3_t mins;
        vec3_t maxs;
+       // supercontents from all brushes inside this node or leaf
+       int combinedsupercontents;
 
        // this part unique to node
        struct mnode_s *children[2];
@@ -125,11 +140,14 @@ typedef struct mleaf_s
        // for bounding box culling
        vec3_t mins;
        vec3_t maxs;
+       // supercontents from all brushes inside this node or leaf
+       int combinedsupercontents;
 
        // this part unique to leaf
        // common
        int clusterindex; // -1 is not in pvs, >= 0 is pvs bit number
        int areaindex; // q3bsp
+       int containscollisionsurfaces; // indicates whether the leafsurfaces contains q3 patches
        int numleafsurfaces;
        int *firstleafsurface;
        int numleafbrushes; // q3bsp
@@ -623,15 +641,17 @@ q3dpvs_t;
 #define Q3SURFACEPARM_TRANS 16777216
 #define Q3SURFACEPARM_WATER 33554432
 #define Q3SURFACEPARM_POINTLIGHT 67108864
+#define Q3SURFACEPARM_HINT 134217728
+#define Q3SURFACEPARM_DUST 268435456
+#define Q3SURFACEPARM_BOTCLIP 536870912
+#define Q3SURFACEPARM_LIGHTGRID 1073741824
+#define Q3SURFACEPARM_ANTIPORTAL 2147483648u
 
-// various flags from shaders
+// various flags from shaders, used for special effects not otherwise classified
 #define Q3TEXTUREFLAG_TWOSIDED 1
-#define Q3TEXTUREFLAG_ADDITIVE 2
-#define Q3TEXTUREFLAG_NOMIPMAPS 4
-#define Q3TEXTUREFLAG_NOPICMIP 8
-#define Q3TEXTUREFLAG_AUTOSPRITE 16
-#define Q3TEXTUREFLAG_AUTOSPRITE2 32
-#define Q3TEXTUREFLAG_ALPHATEST 64
+#define Q3TEXTUREFLAG_AUTOSPRITE 2
+#define Q3TEXTUREFLAG_AUTOSPRITE2 4
+#define Q3TEXTUREFLAG_NOPICMIP 16
 
 typedef struct q3mbrush_s
 {