free( m->vertices );
}
+void mdl_error( mdl_mesh_t *m )
+{
+ m->num_indices = 0;
+ m->num_vertices = 0;
+ m->indices = NULL;
+ m->vertices = NULL;
+}
+
int mdl_from_find_files( const char *mdlname, mdl_mesh_t *ctx )
{
// Read entire files into memory (inline functions map memory)
strcpy( path, mdlname );
csr_stripext( path );
strcat( path, ".dx90.vtx" );
- VTXFileHeader_t *pVtxHdr = (VTXFileHeader_t *)csr_asset_read( path );
+ VTXFileHeader_t *pVtxHdr = (VTXFileHeader_t *)valve_fs_get( path );
- if( !pVtxHdr )
+ if( !pVtxHdr )
+ {
+ mdl_error( ctx );
return 0;
+ }
// .VVD
strcpy( path, mdlname );
csr_stripext( path );
strcat( path, ".vvd" );
- vertexFileHeader_t *pVvdHdr = (vertexFileHeader_t *)csr_asset_read( path );
+ vertexFileHeader_t *pVvdHdr = (vertexFileHeader_t *)valve_fs_get( path );
if( !pVvdHdr )
{
free( pVtxHdr );
+ mdl_error( ctx );
return 0;
}
strcpy( path, mdlname );
csr_stripext( path );
strcat( path, ".mdl" );
- studiohdr_t *pMdl = (studiohdr_t *)csr_asset_read( path );
+ studiohdr_t *pMdl = (studiohdr_t *)valve_fs_get( path );
if( !pMdl )
{
free( pVtxHdr );
free( pVvdHdr );
+ mdl_error( ctx );
return 0;
}