add per-map overrides to disable graphics features
The mapper has now the choice to disable several graphics features on the client (for his map only, of course). The overrides are stored in the map header. mapoverride_nowaterreflect If "1", water reflection is disabled. Useful, when odd water colours are used to emulate other liquids that are not supposed to be that reflective. mapoverride_limitwaveheight If "1", waveheight is capped at 0.1 max. Useful for small water areas (like puddles), where higher waves would look weird. mapoverride_nostencilshadows If "1", stencil shadows are disabled. On clients, where stencil shadows are otherwise enabled, blob shadows are used instead. If shadows are disabled anyway, they stay disabled. Useful for dim maps, where hard shadows make no sense. The player is free to ignore any of those overrides: ignoreoverride_nowaterreflect If "1", mapoverride_nowaterreflect is ignored and regular client settings are used. ignoreoverride_limitwaveheight If "1", mapoverride_limitwaveheight is ignored, and "waveheight" is used unchanged. ignoreoverride_nostencilshadows If "1", mapoverride_nostencilshadows is ignored. DOCREF mapoverride_nowaterreflect ignoreoverride_nowaterreflect DOCREF mapoverride_limitwaveheight ignoreoverride_limitwaveheight DOCREF mapoverride_nostencilshadows ignoreoverride_nostencilshadows
This commit is contained in:
@@ -671,7 +671,7 @@ void endmodelbatches(bool flush)
|
||||
}
|
||||
renderbatchedmodel(b.m, bm);
|
||||
}
|
||||
if(dynshadow && b.m->hasshadows() && (!reflecting || refracting) && (!stencilshadow || !hasstencil || stencilbits < 8))
|
||||
if(dynshadow && b.m->hasshadows() && (!reflecting || refracting) && (!effective_stencilshadow || !hasstencil || stencilbits < 8))
|
||||
{
|
||||
loopvj(b.batched)
|
||||
{
|
||||
@@ -780,7 +780,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 || stencilbits < 8))
|
||||
if(!(anim&ANIM_TRANSLUCENT) && dynshadow && m->hasshadows() && (!reflecting || refracting) && (!effective_stencilshadow || !hasstencil || stencilbits < 8))
|
||||
{
|
||||
vec center(o.x, o.y, s->floor);
|
||||
if(s->type==FHF) center.z -= s->vdelta/4.0f;
|
||||
|
||||
Reference in New Issue
Block a user