+ verts2 = mesh->data_aliasvertex + ent->frameblend[1].frame * vertcount;
+ lerp2 = ent->frameblend[1].lerp;
+ if (ent->frameblend[2].lerp)
+ {
+ verts3 = mesh->data_aliasvertex + ent->frameblend[2].frame * vertcount;
+ lerp3 = ent->frameblend[2].lerp;
+ if (ent->frameblend[3].lerp)
+ {
+ verts4 = mesh->data_aliasvertex + ent->frameblend[3].frame * vertcount;
+ lerp4 = ent->frameblend[3].lerp;
+ // generate vertices
+ if (svector3f != NULL)
+ {
+ for (i = 0;i < vertcount;i++, vertex3f += 3, normal3f += 3, svector3f += 3, tvector3f += 3, verts1++, verts2++, verts3++, verts4++)
+ {
+ VectorMAMAMAM(lerp1, verts1->origin, lerp2, verts2->origin, lerp3, verts3->origin, lerp4, verts4->origin, vertex3f);
+ VectorMAMAMAM(lerp1, verts1->normal, lerp2, verts2->normal, lerp3, verts3->normal, lerp4, verts4->normal, normal3f);
+ VectorMAMAMAM(lerp1, verts1->svector, lerp2, verts2->svector, lerp3, verts3->svector, lerp4, verts4->svector, svector3f);
+ CrossProduct(svector3f, normal3f, tvector3f);
+ }
+ }
+ else if (normal3f != NULL)
+ {
+ for (i = 0;i < vertcount;i++, vertex3f += 3, normal3f += 3, verts1++, verts2++, verts3++, verts4++)
+ {
+ VectorMAMAMAM(lerp1, verts1->origin, lerp2, verts2->origin, lerp3, verts3->origin, lerp4, verts4->origin, vertex3f);
+ VectorMAMAMAM(lerp1, verts1->normal, lerp2, verts2->normal, lerp3, verts3->normal, lerp4, verts4->normal, normal3f);
+ }
+ }
+ else
+ for (i = 0;i < vertcount;i++, vertex3f += 3, verts1++, verts2++, verts3++, verts4++)
+ VectorMAMAMAM(lerp1, verts1->origin, lerp2, verts2->origin, lerp3, verts3->origin, lerp4, verts4->origin, vertex3f);
+ }
+ else
+ {
+ // generate vertices
+ if (svector3f != NULL)
+ {
+ for (i = 0;i < vertcount;i++, vertex3f += 3, normal3f += 3, svector3f += 3, tvector3f += 3, verts1++, verts2++, verts3++)
+ {
+ VectorMAMAM(lerp1, verts1->origin, lerp2, verts2->origin, lerp3, verts3->origin, vertex3f);
+ VectorMAMAM(lerp1, verts1->normal, lerp2, verts2->normal, lerp3, verts3->normal, normal3f);
+ VectorMAMAM(lerp1, verts1->svector, lerp2, verts2->svector, lerp3, verts3->svector, svector3f);
+ CrossProduct(svector3f, normal3f, tvector3f);
+ }
+ }
+ else if (normal3f != NULL)
+ {
+ for (i = 0;i < vertcount;i++, vertex3f += 3, normal3f += 3, verts1++, verts2++, verts3++)
+ {
+ VectorMAMAM(lerp1, verts1->origin, lerp2, verts2->origin, lerp3, verts3->origin, vertex3f);
+ VectorMAMAM(lerp1, verts1->normal, lerp2, verts2->normal, lerp3, verts3->normal, normal3f);
+ }
+ }
+ else
+ for (i = 0;i < vertcount;i++, vertex3f += 3, verts1++, verts2++, verts3++)
+ VectorMAMAM(lerp1, verts1->origin, lerp2, verts2->origin, lerp3, verts3->origin, vertex3f);
+ }
+ }