// plane_t structure
typedef struct mplane_s
{
- vec3_t normal;
- float dist;
+ union
+ {
+ struct
+ {
+ vec3_t normal;
+ vec_t dist;
+ };
+ vec4_t normal_and_dist;
+ };
// for texture axis selection and fast side tests
int type; // set by PlaneClassify()
int signbits; // set by PlaneClassify()
#define MATERIALFLAG_CAMERA 67108864
// disable rtlight on surface, use R_LightPoint instead
#define MATERIALFLAG_NORTLIGHT 134217728
+// alphagen vertex
+#define MATERIALFLAG_ALPHAGEN_VERTEX 268435456
+// use occlusion buffer for corona
+#define MATERIALFLAG_OCCLUDE 536870912
// 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
typedef struct medge_s
{
- unsigned short v[2];
+ unsigned int v[2];
}
medge_t;
struct mnode_s *children[2];
// q1bsp specific
- unsigned short firstsurface;
- unsigned short numsurfaces;
+ unsigned int firstsurface;
+ unsigned int numsurfaces;
}
mnode_t;
// Q2 bsp stuff
+#define Q2BSPMAGIC ('I' + 'B' * 256 + 'S' * 65536 + 'P' * 16777216)
#define Q2BSPVERSION 38
// leaffaces, leafbrushes, planes, and verts are still bounded by
#define Q2SURF_FLOWING 0x40 // scroll towards angle
#define Q2SURF_NODRAW 0x80 // don't bother referencing the texture
+#define Q2SURF_HINT 0x100 // make a primary bsp splitter
+#define Q2SURF_SKIP 0x200 // completely ignore, allowing non-closed brushes
+#define Q2SURF_ALPHATEST 0x02000000 // alpha test masking of color 255 in wal textures (supported by modded engines)
+/*
typedef struct q2dnode_s
{
int planenum;
unsigned short numfaces; // counting both sides
} q2dnode_t;
-
typedef struct q2texinfo_s
{
float vecs[2][4]; // [s/t][xyz offset]
int flags; // miptex flags + overrides
int value; // light emission, etc
- char texture[32]; // texture name (textures/*.wal)
+ char texture[32]; // texture name (textures/something.wal)
int nexttexinfo; // for animations, -1 = end of chain
} q2texinfo_t;
int numareaportals;
int firstareaportal;
} q2darea_t;
+*/
//Q3 bsp stuff
#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