]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_shared.h
now loads md3 tags
[xonotic/darkplaces.git] / model_shared.h
index e9027c9ed844b906343b426f31bd3d2ff0d46020..2fc1937d34a464d191dcb6c35f7244ff683b41d9 100644 (file)
@@ -83,12 +83,12 @@ typedef struct shadowmesh_s
 shadowmesh_t;
 
 
+#include "matrixlib.h"
+
 #include "model_brush.h"
 #include "model_sprite.h"
 #include "model_alias.h"
 
-#include "matrixlib.h"
-
 typedef struct model_alias_s
 {
        // LordHavoc: Q2/ZYM model support
@@ -98,6 +98,10 @@ typedef struct model_alias_s
        int                             aliasnum_meshes;
        aliasmesh_t             *aliasdata_meshes;
 
+       int                             aliasnum_tags;
+       int                             aliasnum_tagframes;
+       aliastag_t              *aliasdata_tags;
+
        // for Zymotic models
        int                             zymnum_verts;
        int                             zymnum_tris;
@@ -122,9 +126,13 @@ typedef struct model_sprite_s
 }
 model_sprite_t;
 
+struct trace_s;
+
 typedef struct model_brush_s
 {
-       char                    *entities;
+       char *entities;
+       void (*FindNonSolidLocation)(struct model_s *model, const vec3_t in, vec3_t out, vec_t radius);
+       void (*TraceBox)(struct model_s *model, struct trace_s *trace, const vec3_t boxstartmins, const vec3_t boxstartmaxs, const vec3_t boxendmins, const vec3_t boxendmaxs);
 }
 model_brush_t;
 
@@ -216,18 +224,18 @@ typedef struct model_brushq1_s
        int                             light_scalebit;
        float                   light_ambient;
 
-       void (*FindNonSolidLocation)(struct model_s *model, const vec3_t in, vec3_t out, vec_t radius);
        mleaf_t *(*PointInLeaf)(struct model_s *model, const float *p);
-       int (*PointContents)(struct model_s *model, const float *p);
        qbyte *(*LeafPVS)(struct model_s *model, mleaf_t *leaf);
        void (*BuildPVSTextureChains)(struct model_s *model);
 }
 model_brushq1_t;
 
+/* MSVC can't compile empty structs, so this is commented out for now
 typedef struct model_brushq2_s
 {
 }
 model_brushq2_t;
+*/
 
 typedef struct q3mtexture_s
 {
@@ -464,7 +472,9 @@ typedef struct model_s
        model_sprite_t  sprite;
        model_brush_t   brush;
        model_brushq1_t brushq1;
+       /* MSVC can't handle an empty struct, so this is commented out for now
        model_brushq2_t brushq2;
+       */
        model_brushq3_t brushq3;
 }
 model_t;