higher resolution for waterlevel

Interpret the waterlevel value as tenths of a cube.

This makes the waterlevel variable a float value to the user, while the
map file still stores an integer value - but now it is interpreted
differently - for example, a waterlevel value of 123 now means 12.3 cubes
instead of 123. Old map files are converted during loading.

Note: the values of waterlevel and hdr.waterlevel need to be in sync.

DOCREF waterlevel
This commit is contained in:
ac-stef
2015-05-18 14:59:41 +02:00
parent b1b789eefc
commit ea480a7b0c
15 changed files with 39 additions and 32 deletions
+2 -2
View File
@@ -165,14 +165,14 @@ void render_seg_new(float vx, float vy, float vh, int mip, int x, int y, int xs,
{
sqr *v = SWS(s,0,1,mfactor);
render_flat(s->ftex, xx<<mip, yy<<mip, 1<<mip, s->floor, s, s + 1, v + 1, v, false);
if(s->floor<hdr.waterlevel && !reflecting) addwaterquad(xx<<mip, yy<<mip, 1<<mip);
if(s->floor < waterlevel && !reflecting) addwaterquad(xx<<mip, yy<<mip, 1<<mip);
}
break;
case FHF:
{
LOOPD
render_flatdelta(s->ftex, xx<<mip, yy<<mip, 1<<mip, df(s), df(t), df(u), df(v), s, t, u, v, false);
if(s->floor-s->vdelta/4.0f<hdr.waterlevel && !reflecting) addwaterquad(xx<<mip, yy<<mip, 1<<mip);
if(s->floor - s->vdelta/4.0f < waterlevel && !reflecting) addwaterquad(xx<<mip, yy<<mip, 1<<mip);
break;
}
}