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
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;
}
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;
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
{
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;