iqm: more verbose on errors, detect more.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4728 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2014-08-21 23:48:09 +00:00
parent 54c0810d41
commit 803510986c

View file

@ -623,7 +623,7 @@ const float *Alias_ConvertBoneData(skeltype_t sourcetype, const float *sourcedat
} }
if (sourcetype != desttype) if (sourcetype != desttype)
Sys_Error("Alias_ConvertBoneData: %i->%i not supported\n", sourcetype, desttype); Sys_Error("Alias_ConvertBoneData: %i->%i not supported\n", (int)sourcetype, (int)desttype);
return sourcedata; return sourcedata;
} }
@ -6033,7 +6033,10 @@ galiasinfo_t *Mod_ParseIQMMeshModel(model_t *mod, char *buffer)
} }
if (!h->num_meshes) if (!h->num_meshes)
{
Con_Printf("%s: IQM has no meshes\n", mod->name);
return NULL; return NULL;
}
//a mesh must contain vertex coords or its not much of a mesh. //a mesh must contain vertex coords or its not much of a mesh.
//we also require texcoords because we can. //we also require texcoords because we can.
@ -6048,6 +6051,15 @@ galiasinfo_t *Mod_ParseIQMMeshModel(model_t *mod, char *buffer)
if (noweights) if (noweights)
{ {
if (h->num_frames || h->num_anims || h->num_joints) if (h->num_frames || h->num_anims || h->num_joints)
{
Con_Printf("%s: animated IQM lacks bone weights\n", mod->name);
return NULL;
}
}
if (h->num_joints > MAX_BONES)
{
Con_Printf("%s: IQM has %u joints, max supported is %u.\n", mod->name, h->num_joints, MAX_BONES);
return NULL; return NULL;
} }