- memset(&m, 0, sizeof(m));
- m.blendfunc1 = blendfunc1;
- m.blendfunc2 = blendfunc2;
- m.numtriangles = model->numtris;
- m.numverts = model->numverts;
- m.matrix = ent->matrix;
- m.tex[0] = R_GetTexture(skinframe->pants);
- if (m.tex[0] && R_Mesh_Draw_GetBuffer(&m, true))
- {
- blendfunc1 = GL_SRC_ALPHA;
- blendfunc2 = GL_ONE;
- c_alias_polys += m.numtriangles;
- if (pantsfullbright)
- R_FillColors(m.color, m.numverts, pantscolor[0] * m.colorscale, pantscolor[1] * m.colorscale, pantscolor[2] * m.colorscale, ent->alpha);
- else
- R_ModulateColors(aliasvertcolor, m.color, m.numverts, pantscolor[0] * m.colorscale, pantscolor[1] * m.colorscale, pantscolor[2] * m.colorscale);
- memcpy(m.index, model->mdlmd2data_indices, m.numtriangles * sizeof(int[3]));
- memcpy(m.vertex, aliasvert, m.numverts * sizeof(float[4]));
- memcpy(m.texcoords[0], model->mdlmd2data_texcoords, m.numverts * sizeof(float[2]));
- R_Mesh_Render();
- }
- }
- if (skinframe->shirt)
- {
- memset(&m, 0, sizeof(m));
- m.blendfunc1 = blendfunc1;
- m.blendfunc2 = blendfunc2;
- m.numtriangles = model->numtris;
- m.numverts = model->numverts;
- m.matrix = ent->matrix;
- m.tex[0] = R_GetTexture(skinframe->shirt);
- if (m.tex[0] && R_Mesh_Draw_GetBuffer(&m, true))
- {
- blendfunc1 = GL_SRC_ALPHA;
- blendfunc2 = GL_ONE;
- c_alias_polys += m.numtriangles;
- if (shirtfullbright)
- R_FillColors(m.color, m.numverts, shirtcolor[0] * m.colorscale, shirtcolor[1] * m.colorscale, shirtcolor[2] * m.colorscale, ent->alpha);
- else
- R_ModulateColors(aliasvertcolor, m.color, m.numverts, shirtcolor[0] * m.colorscale, shirtcolor[1] * m.colorscale, shirtcolor[2] * m.colorscale);
- memcpy(m.index, model->mdlmd2data_indices, m.numtriangles * sizeof(int[3]));
- memcpy(m.vertex, aliasvert, m.numverts * sizeof(float[4]));
- memcpy(m.texcoords[0], model->mdlmd2data_texcoords, m.numverts * sizeof(float[2]));
- R_Mesh_Render();
- }