]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_shared.h
add a type cast for C++
[xonotic/darkplaces.git] / model_shared.h
index f8a8dabe4446d97d63a14702c063fe230695bdf9..4f0905e18dc48895b68c4bd8c845a64fece27e79 100644 (file)
@@ -137,6 +137,7 @@ typedef struct r_meshbuffer_s
        size_t size;
        qboolean isindexbuffer;
        qboolean isdynamic;
+       qboolean isindex16;
        char name[MAX_QPATH];
 }
 r_meshbuffer_t;
@@ -487,7 +488,7 @@ typedef enum texturelayertype_e
        TEXTURELAYERTYPE_INVALID,
        TEXTURELAYERTYPE_LITTEXTURE,
        TEXTURELAYERTYPE_TEXTURE,
-       TEXTURELAYERTYPE_FOG,
+       TEXTURELAYERTYPE_FOG
 }
 texturelayertype_t;
 
@@ -878,7 +879,9 @@ typedef struct model_brushq3_s
        // lightmap textures
        int num_originallightmaps;
        int num_mergedlightmaps;
-       int num_lightmapmergepower;
+       int num_lightmapmergedwidthpower;
+       int num_lightmapmergedheightpower;
+       int num_lightmapmergedwidthheightdeluxepower;
        int num_lightmapmerge;
        rtexture_t **data_lightmaps;
        rtexture_t **data_deluxemaps;
@@ -960,6 +963,7 @@ typedef struct model_s
        int                             nummodelbrushes;
        // BIH (Bounding Interval Hierarchy) for this (sub)model
        bih_t                   collision_bih;
+       bih_t                   render_bih; // if not set, use collision_bih instead for rendering purposes too
        // for md3 models
        int                             num_tags;
        int                             num_tagframes;
@@ -1089,6 +1093,7 @@ q3shaderinfo_t *Mod_LookupQ3Shader(const char *name);
 qboolean Mod_LoadTextureFromQ3Shader(texture_t *texture, const char *name, qboolean warnmissing, qboolean fallback, int defaulttexflags);
 
 extern cvar_t r_mipskins;
+extern cvar_t r_mipnormalmaps;
 
 typedef struct skeleton_s
 {
@@ -1169,7 +1174,7 @@ void Mod_CollisionBIH_TraceLine(dp_model_t *model, const struct frameblend_s *fr
 void Mod_CollisionBIH_TraceBox(dp_model_t *model, const struct frameblend_s *frameblend, const skeleton_t *skeleton, struct trace_s *trace, const vec3_t start, const vec3_t boxmins, const vec3_t boxmaxs, const vec3_t end, int hitsupercontentsmask);
 void Mod_CollisionBIH_TracePoint_Mesh(dp_model_t *model, const struct frameblend_s *frameblend, const skeleton_t *skeleton, struct trace_s *trace, const vec3_t start, int hitsupercontentsmask);
 int Mod_CollisionBIH_PointSuperContents_Mesh(struct model_s *model, int frame, const vec3_t point);
-void Mod_MakeCollisionBIH(dp_model_t *model, qboolean userendersurfaces);
+bih_t *Mod_MakeCollisionBIH(dp_model_t *model, qboolean userendersurfaces, bih_t *out);
 
 // alias models
 struct frameblend_s;