]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_brush.h
significant cleanup of input networking code (reorganized and now uses
[xonotic/darkplaces.git] / model_brush.h
index c5eb9f8ed2106f28286ef956465fa70b47a5fe1a..9d29e4d8a8d5db12e8172cd2966f2084fde3ec1a 100644 (file)
@@ -63,8 +63,6 @@ mplane_t;
 
 //#define SURF_PLANEBACK 2
 
-// set for anything to be transparent sorted
-#define MATERIALFLAG_TRANSPARENT 1
 // use alpha blend on this material
 #define MATERIALFLAG_ALPHA 2
 // use additive blend on this material
@@ -95,6 +93,14 @@ mplane_t;
 #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
+// render with a very short depth range (like 10% of normal), this causes entities to appear infront of most of the scene
+#define MATERIALFLAG_SHORTDEPTHRANGE 131072
+// combined mask of all attributes that require depth sorted rendering
+#define MATERIALFLAGMASK_DEPTHSORTED (MATERIALFLAG_BLENDED | MATERIALFLAG_NODEPTHTEST)
 
 typedef struct medge_s
 {
@@ -115,6 +121,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];
@@ -134,11 +142,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
@@ -636,6 +647,7 @@ q3dpvs_t;
 #define Q3SURFACEPARM_DUST 268435456
 #define Q3SURFACEPARM_BOTCLIP 536870912
 #define Q3SURFACEPARM_LIGHTGRID 1073741824
+#define Q3SURFACEPARM_ANTIPORTAL 2147483648u
 
 // various flags from shaders, used for special effects not otherwise classified
 #define Q3TEXTUREFLAG_TWOSIDED 1