]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_shared.h
fix an uninitialized variable warning in win32
[xonotic/darkplaces.git] / model_shared.h
index 0c6578d1e3c6fccac3f76405562acd7cdca8c155..6bec208f3c3594331a4eceb8f593616de15163e9 100644 (file)
@@ -33,7 +33,7 @@ m*_t structures are in-memory
 
 */
 
-typedef enum {mod_invalid, mod_brush, mod_sprite, mod_alias} modtype_t;
+typedef enum {mod_invalid, mod_brush, mod_sprite, mod_alias, mod_brushq2, mod_brushq3} modtype_t;
 
 typedef struct animscene_s
 {
@@ -73,9 +73,9 @@ typedef struct shadowmesh_s
        struct shadowmesh_s *next;
        int numverts, maxverts;
        int numtriangles, maxtriangles;
-       float *verts;
-       int *elements;
-       int *neighbors;
+       float *vertex3f;
+       int *element3i;
+       int *neighbor3i;
        // these are NULL after Mod_ShadowMesh_Finish is performed, only used
        // while building meshes
        shadowmeshvertexhash_t **vertexhashtable, *vertexhashentries;
@@ -87,6 +87,8 @@ shadowmesh_t;
 #include "model_sprite.h"
 #include "model_alias.h"
 
+#include "matrixlib.h"
+
 typedef struct model_s
 {
        char                    name[MAX_QPATH];
@@ -170,6 +172,8 @@ typedef struct model_s
        int                             *surfacevisframes;
        int                             *surfacepvsframes;
        msurface_t              *surfacepvsnext;
+       surfmesh_t              *entiremesh;
+       surfmesh_t              *surfmeshes;
 
        int                             numsurfedges;
        int                             *surfedges;
@@ -264,7 +268,7 @@ typedef struct model_s
        // draw a shadow volume for the model based on light source
        void(*DrawShadowVolume)(struct entity_render_s *ent, vec3_t relativelightorigin, float lightradius);
        // draw the lighting on a model (through stencil)
-       void(*DrawLight)(struct entity_render_s *ent, vec3_t relativelightorigin, vec3_t relativeeyeorigin, float lightradius, float *lightcolor);
+       void(*DrawLight)(struct entity_render_s *ent, vec3_t relativelightorigin, vec3_t relativeeyeorigin, float lightradius, float *lightcolor, const matrix4x4_t *matrix_modeltofilter, const matrix4x4_t *matrix_modeltoattenuationxyz, const matrix4x4_t *matrix_modeltoattenuationz);
 
        // memory pool for allocations
        mempool_t               *mempool;