- }
- // always needed, for model lighting
- softwaretransformforentity(ent);
-
- frame1 = (void *)((int) pheader + pheader->ofs_frames + (pheader->framesize * blend[0].frame));
- frame2 = (void *)((int) pheader + pheader->ofs_frames + (pheader->framesize * blend[1].frame));
- frame3 = (void *)((int) pheader + pheader->ofs_frames + (pheader->framesize * blend[2].frame));
- frame4 = (void *)((int) pheader + pheader->ofs_frames + (pheader->framesize * blend[3].frame));
- R_AliasLerpVerts(pheader->num_xyz,
- blend[0].lerp, frame1->verts, frame1->scale, frame1->translate,
- blend[1].lerp, frame2->verts, frame2->scale, frame2->translate,
- blend[2].lerp, frame3->verts, frame3->scale, frame3->translate,
- blend[3].lerp, frame4->verts, frame4->scale, frame4->translate);
- if (!gl_transform.value)
- R_AliasTransformVerts(pheader->num_xyz);
-
- R_LightModel(ent, pheader->num_xyz, org, color);
-
- if (!r_render.value)
- return;
- // LordHavoc: big mess...
- // using vertex arrays only slightly, although it is enough to prevent duplicates
- // (saving half the transforms)
- glVertexPointer(3, GL_FLOAT, sizeof(float[3]), aliasvert);
- glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(byte[4]), aliasvertcolor);
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
-
- order = (int *)((int)pheader + pheader->ofs_glcmds);
- while(1)
- {
- if (!(count = *order++))
- break;
- if (count > 0)
- glBegin(GL_TRIANGLE_STRIP);
- else