sightrange of 30 was not enough on some spheres

This commit is contained in:
Zeno Rogue 2018-08-20 16:28:25 +02:00
parent a4ced4a504
commit 7e52b1f340
3 changed files with 6 additions and 3 deletions

View File

@ -222,7 +222,7 @@ static const int qDOCKS = 16;
static const int qZEBRA = 32;
// note: dnext assumes that x&7 equals 7
static const int SEE_ALL = 15;
static const int SEE_ALL = 50;
static const int FORBIDDEN = -1;
extern eGeometry geometry;

View File

@ -553,6 +553,9 @@ namespace gp {
sidir = 0;
}
auto& id = pshid[siid][sidir][draw_li.relative.first&31][draw_li.relative.second&31][fix6(draw_li.total_dir)];
if(id == -1 && sphere && isize(shFloor.b) > 0) {
forCellEx(c1, c) if(!gmatrix.count(c1)) return 0;
}
if(id == -1) build_plainshape(id, draw_li, c, siid, sidir);
return id;
}

View File

@ -594,8 +594,8 @@ namespace hr { namespace gp {
base_distlimit = (base_distlimit + log(scale) / log(2.618)) / scale;
else
base_distlimit = 3 * max(param.first, param.second) + 2 * min(param.first, param.second);
if(base_distlimit > 30)
base_distlimit = 30;
if(base_distlimit > SEE_ALL)
base_distlimit = SEE_ALL;
prepare_matrices();
if(debug_geometry)
Xprintf("scale = " LDF "\n", scale);