Con_Printf("Mod_ConvertAliasVerts: \"%s\", %i invalid normal indices found\n", loadmodel->name, invalidnormals);
}
-static void Mod_MDL_LoadFrames (long datapointer, int inverts, int outverts, vec3_t scale, vec3_t translate)
+static void Mod_MDL_LoadFrames (qbyte * datapointer, int inverts, int outverts, vec3_t scale, vec3_t translate)
{
daliasframetype_t *pframetype;
daliasframe_t *pinframe;
daliasframetype_t *pinframetype;
daliasgroup_t *pinframegroup;
float scales, scalet, scale[3], translate[3], interval;
- long datapointer, startframes, startskins;
+ qbyte *datapointer, *startframes, *startskins;
char name[MAX_QPATH];
qbyte *skintemp = NULL;
modelyawradius = 0;
modelradius = 0;
- datapointer = (long) buffer;
+ datapointer = buffer;
pinmodel = (mdl_t *)datapointer;
datapointer += sizeof(mdl_t);
{
int *vertremap;
md2_t *pinmodel;
- long base;
+ qbyte *base;
int version, end;
int i, j, k, hashindex, num, numxyz, numst, xyz, st;
float *stverts, s, t;
float st[2];
}
*hash, **md2verthash, *md2verthashdata;
- long datapointer;
+ qbyte *datapointer;
md2frame_t *pinframe;
char *inskin;
md2triangle_t *intri;
int skinwidth, skinheight;
pinmodel = buffer;
- base = (long) buffer;
+ base = buffer;
version = LittleLong (pinmodel->version);
if (version != MD2ALIAS_VERSION)
void Mod_LoadZymoticModel(model_t *mod, void *buffer)
{
- int i, pbase, *bonecount;
+ int i, pbase, *bonecount, numposes;
unsigned int count, a, b, c, *renderlist, *renderlistend;
rtexture_t **texture;
char *shadername;
loadmodel->skinframes->glow = NULL;
loadmodel->skinframes->merged = NULL;
loadmodel->numskins = 1;
+ numposes = pheader->lump_poses.length / sizeof(float[3][4]) / pheader->numbones;
// go through the lumps, swapping things
loadmodel->animscenes[i].framerate = scene->framerate;
loadmodel->animscenes[i].loop = (scene->flags & ZYMSCENEFLAG_NOLOOP) == 0;
+ if ((unsigned int) loadmodel->animscenes[i].firstframe >= numposes)
+ Host_Error("Mod_LoadZymoticModel: scene firstframe (%i) >= numposes (%i)\n", loadmodel->animscenes[i].firstframe, numposes);
+ if ((unsigned int) loadmodel->animscenes[i].firstframe + (unsigned int) loadmodel->animscenes[i].framecount > numposes)
+ Host_Error("Mod_LoadZymoticModel: scene firstframe (%i) + framecount (%i) >= numposes (%i)\n", loadmodel->animscenes[i].firstframe, loadmodel->animscenes[i].framecount, numposes);
+ if (loadmodel->animscenes[i].framerate < 0)
+ Host_Error("Mod_LoadZymoticModel: scene framerate (%f) < 0\n", loadmodel->animscenes[i].framerate);
scene++;
}