fallback for missing stencil wrap

git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@2625 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
Lee Salzman
2008-09-15 11:46:37 +00:00
parent 4cb66ee2f1
commit bca2137d6d
4 changed files with 21 additions and 11 deletions
+2 -2
View File
@@ -282,7 +282,7 @@ void endmodelbatches(bool flush)
}
renderbatchedmodel(b.m, bm);
}
if(dynshadow && b.m->hasshadows() && (!reflecting || refracting) && (!stencilshadow || !hasstencil))
if(dynshadow && b.m->hasshadows() && (!reflecting || refracting) && (!stencilshadow || !hasstencil || stencilbits < 8))
{
glColor4f(0, 0, 0, dynshadow/100.0f);
loopvj(b.batched)
@@ -377,7 +377,7 @@ void rendermodel(const char *mdl, int anim, int tex, float rad, const vec &o, fl
if(!OUTBORD(x, y))
{
sqr *s = S(x, y);
if(!(anim&ANIM_TRANSLUCENT) && dynshadow && m->hasshadows() && (!reflecting || refracting) && (!stencilshadow || !hasstencil))
if(!(anim&ANIM_TRANSLUCENT) && dynshadow && m->hasshadows() && (!reflecting || refracting) && (!stencilshadow || !hasstencil || stencilbits < 8))
{
vec center(o.x, o.y, s->floor);
if(s->type==FHF) center.z -= s->vdelta/4.0f;