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
1 changed files with 13 additions and 1 deletions

View File

@ -623,7 +623,7 @@ const float *Alias_ConvertBoneData(skeltype_t sourcetype, const float *sourcedat
}
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;
}
@ -6033,7 +6033,10 @@ galiasinfo_t *Mod_ParseIQMMeshModel(model_t *mod, char *buffer)
}
if (!h->num_meshes)
{
Con_Printf("%s: IQM has no meshes\n", mod->name);
return NULL;
}
//a mesh must contain vertex coords or its not much of a mesh.
//we also require texcoords because we can.
@ -6048,6 +6051,15 @@ galiasinfo_t *Mod_ParseIQMMeshModel(model_t *mod, char *buffer)
if (noweights)
{
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;
}