]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_brush.h
fix reflections not working when just reflective stuff, but no water, is on the map
[xonotic/darkplaces.git] / model_brush.h
index c4e3fb25e9f846aa6a00c4a8927d5b8a3ebae484..b4cce7b7030fe37e7908205aba2ad4bad8e770da 100644 (file)
@@ -29,7 +29,6 @@ BRUSH MODELS
 ==============================================================================
 */
 
-#define Q3PATHLENGTH 64
 
 
 //
@@ -97,6 +96,12 @@ mplane_t;
 #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
+// render refraction and reflection (note: this is always opaque, the shader does the alpha effect)
+#define MATERIALFLAG_WATERSHADER 262144
+// render reflection only
+#define MATERIALFLAG_REFLECTION 524288
 // combined mask of all attributes that require depth sorted rendering
 #define MATERIALFLAGMASK_DEPTHSORTED (MATERIALFLAG_BLENDED | MATERIALFLAG_NODEPTHTEST)
 
@@ -158,9 +163,15 @@ typedef struct mleaf_s
 }
 mleaf_t;
 
+typedef struct mclipnode_s
+{
+       int                     planenum;
+       int                     children[2];    // negative numbers are contents
+} mclipnode_t;
+
 typedef struct hull_s
 {
-       dclipnode_t *clipnodes;
+       mclipnode_t *clipnodes;
        mplane_t *planes;
        int firstclipnode;
        int lastclipnode;
@@ -647,12 +658,6 @@ q3dpvs_t;
 #define Q3SURFACEPARM_LIGHTGRID 1073741824
 #define Q3SURFACEPARM_ANTIPORTAL 2147483648u
 
-// various flags from shaders, used for special effects not otherwise classified
-#define Q3TEXTUREFLAG_TWOSIDED 1
-#define Q3TEXTUREFLAG_AUTOSPRITE 2
-#define Q3TEXTUREFLAG_AUTOSPRITE2 4
-#define Q3TEXTUREFLAG_NOPICMIP 16
-
 typedef struct q3mbrush_s
 {
        struct colbrushf_s *colbrushf;