]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_shared.h
removed support for Sajt's unfinished McBSP format
[xonotic/darkplaces.git] / model_shared.h
index 9ec9bf16e545ab6f55af169b358b4aa83965546e..27869571d277c7ea9627217eb1b8c14947f6569e 100644 (file)
@@ -477,6 +477,10 @@ typedef struct texture_s
        float specularpower;
        // color tint (colormod * currentalpha) used for rtlighting this material
        float dlightcolor[3];
+       // color tint (colormod * 2) used for lightmapped lighting on this material
+       // includes alpha as 4th component
+       // replaces role of gl_Color in GLSL shader
+       float lightmapcolor[4];
 
        // from q3 shaders
        int customblendfunc[2];
@@ -513,7 +517,7 @@ typedef struct msurface_lightmapinfo_s
 {
        // texture mapping properties used by this surface
        mtexinfo_t *texinfo; // q1bsp
-       // index into r_refdef.lightstylevalue array, 255 means not used (black)
+       // index into r_refdef.scene.lightstylevalue array, 255 means not used (black)
        unsigned char styles[MAXLIGHTMAPS]; // q1bsp
        // RGB lighting data [numstyles][height][width][3]
        unsigned char *samples; // q1bsp
@@ -592,8 +596,6 @@ typedef struct model_brush_s
 {
        // true if this model is a HalfLife .bsp file
        qboolean ishlbsp;
-       // true if this model is a Martial Concert .bsp file
-       qboolean ismcbsp;
        // string of entity definitions (.map format)
        char *entities;
 
@@ -698,7 +700,6 @@ typedef struct model_brushq1_s
        int                             numclipnodes;
        mclipnode_t             *clipnodes;
 
-       int                             numhulls;       // this variable is only used by MCBSP, other formats know it intuitively
        hull_t                  hulls[MAX_MAP_HULLS];
 
        int                             num_compressedpvs;
@@ -866,6 +867,8 @@ typedef struct model_s
        void(*DrawLight)(struct entity_render_s *ent, int numsurfaces, const int *surfacelist, const unsigned char *trispvs);
        // trace a box against this model
        void (*TraceBox)(struct model_s *model, int frame, struct trace_s *trace, const vec3_t start, const vec3_t boxmins, const vec3_t boxmaxs, const vec3_t end, int hitsupercontentsmask);
+       // find the supercontents value at a point in this model
+       int (*PointSuperContents)(struct model_s *model, int frame, const vec3_t point);
        // fields belonging to some types of model
        model_sprite_t  sprite;
        model_brush_t   brush;