-int modeldlightbits[8];
-extern int r_dlightframecount;
-extern void R_LightPoint (vec3_t color, vec3_t p);
-
-/*
-=================
-R_DrawAliasModel
-
-=================
-*/
-void R_DrawAliasModel (entity_t *ent, int cull, float alpha, model_t *clmodel, int frame, int skin, vec3_t org, int effects, int flags, int colormap)
-{
- int i;
- vec3_t mins, maxs, color;
-// aliashdr_t *paliashdr = NULL;
-// md2mem_t *pheader = NULL;
- mleaf_t *leaf;
- void *modelheader;
- int *skinset;
-
- if (alpha < (1.0 / 64.0))
- return; // basically completely transparent
-
- VectorAdd (org, clmodel->mins, mins);
- VectorAdd (org, clmodel->maxs, maxs);
-
- if (cull && R_CullBox (mins, maxs))
- return;
-
- leaf = Mod_PointInLeaf (org, cl.worldmodel);
- if (leaf->dlightframe == r_dlightframecount)
- for (i = 0;i < 8;i++)
- modeldlightbits[i] = leaf->dlightbits[i];
- else
- for (i = 0;i < 8;i++)
- modeldlightbits[i] = 0;
-
- // get lighting information
-
- if ((flags & EF_FULLBRIGHT) || (effects & EF_FULLBRIGHT))
- color[0] = color[1] = color[2] = 256;
- else
- {
- // HACK HACK HACK -- no fullbright colors, so make torches full light
- if (!strcmp (clmodel->name, "progs/flame2.mdl") || !strcmp (clmodel->name, "progs/flame.mdl") )
- color[0] = color[1] = color[2] = 128;
- else
- R_LightPoint (color, org);
- }
-
- glDisable(GL_ALPHA_TEST);
-
- if (frame < 0 || frame >= clmodel->numframes)
- {
- frame = 0;
- Con_DPrintf("invalid skin number %d for model %s\n", frame, clmodel->name);
- }
-
- if (skin < 0 || skin >= clmodel->numskins)
- {
- skin = 0;
- Con_DPrintf("invalid skin number %d for model %s\n", skin, clmodel->name);
- }
-
- modelheader = Mod_Extradata (clmodel);
-
- {
-// int *skinanimrange = (int *) (clmodel->skinanimrange + (int) modelheader) + skin * 2;
-// int *skinanim = (int *) (clmodel->skinanim + (int) modelheader);
- int *skinanimrange = clmodel->skinanimrange + skin * 2;
- int *skinanim = clmodel->skinanim;
- i = skinanimrange[0];
- if (skinanimrange[1] > 1) // animated
- i += ((int) (cl.time * 10) % skinanimrange[1]);
- skinset = skinanim + i*5;
- }
-
-// glBindTexture(GL_TEXTURE_2D, paliashdr->gl_texturenum[skin][(int)(cl.time*10) & 3]);
-// glBindTexture(GL_TEXTURE_2D, pheader->gl_texturenum[skin]);
-
- glEnable (GL_TEXTURE_2D);
-
- c_alias_polys += clmodel->numtris;
- if (clmodel->aliastype == ALIASTYPE_MD2)
- R_DrawQ2AliasFrame (modelheader, alpha, color, ent, ent != &cl.viewent, org, frame, skinset[0], effects, flags);
- else
- R_DrawAliasFrame (modelheader, alpha, color, ent, ent != &cl.viewent, org, frame, skinset, colormap, effects, flags);
-}