X-Git-Url: https://harrygodden.com/git/?p=csRadar.git;a=blobdiff_plain;f=vmdl.h;h=c558d0dbb45fb6152b1f02abbf3cbd007a0a2bf5;hp=c56266a4f29524c81b889357ba3871c9fdec87db;hb=HEAD;hpb=8b0bdf193803011746a916cac0736ad3574ffa71 diff --git a/vmdl.h b/vmdl.h index c56266a..c558d0d 100644 --- a/vmdl.h +++ b/vmdl.h @@ -1,3 +1,38 @@ +// This software is not affiliated with Valve Corporation +// We are not affiliated, associated, authorized, endorsed by, or in any way officially +// connected with Valve Corporation, or any of its subsidiaries or its affiliates. +// +// All trademarks are property of their respective owners + +typedef struct mdl_mesh mdl_mesh_t; + +// High level API +//======================================================================================================================= + +// Load model from vfs +int mdl_from_find_files( const char *mdlname, mdl_mesh_t *ctx ); +void mdl_free( mdl_mesh_t *m ); + +// Set ctx to blank / 0,0 +void mdl_error( mdl_mesh_t *m ); + +// Implementation +//======================================================================================================================= + +struct mdl_mesh +{ + u16 *indices; + u32 num_indices; + + float *vertices; + u32 num_vertices; + + // Bounding box + boxf bounds; +}; + +#ifdef VALVE_IMPLEMENTATION + // VVD //======================================================================================================================= //StudioMDL constants @@ -453,19 +488,6 @@ mstudiobodyparts_t *studiohdr_pBodypart( studiohdr_t *t, int i ) #pragma pack(pop) -typedef struct -{ - u16 *indices; - u32 num_indices; - - float *vertices; - u32 num_vertices; - - v3f mins; - v3f maxs; -} -mdl_mesh_t; - void mdl_free( mdl_mesh_t *m ) { free( m->indices ); @@ -523,6 +545,9 @@ int mdl_from_find_files( const char *mdlname, mdl_mesh_t *ctx ) return 0; } + v3_copy( pMdl->hull_min, ctx->bounds[0] ); + v3_copy( pMdl->hull_max, ctx->bounds[1] ); + ctx->num_indices = vtx_count_indices( pVtxHdr ); // Allocate and read indices @@ -593,3 +618,5 @@ int mdl_from_find_files( const char *mdlname, mdl_mesh_t *ctx ) return 1; } + +#endif