mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-05-05 00:34:07 +00:00
fake:: limit cells drawn
This commit is contained in:
parent
b0e82dd515
commit
38418bd73a
8
fake.cpp
8
fake.cpp
@ -166,8 +166,14 @@ EX namespace fake {
|
||||
auto enqueue = (multiple ? dq::enqueue_by_matrix_c : dq::enqueue_c);
|
||||
enqueue(centerover, cview());
|
||||
|
||||
int id = 0;
|
||||
int limit = 100 * pow(1.2, sightrange_bonus);
|
||||
if(WDIM == 3 || vid.use_smart_range)
|
||||
limit = INT_MAX;
|
||||
|
||||
while(!dq::drawqueue_c.empty()) {
|
||||
auto& p = dq::drawqueue_c.front();
|
||||
id++;
|
||||
cell *c = get<0>(p);
|
||||
transmatrix V = get<1>(p);
|
||||
dynamicval<ld> b(band_shift, get<2>(p));
|
||||
@ -178,6 +184,8 @@ EX namespace fake {
|
||||
drawcell(c, V);
|
||||
if(in_wallopt() && isWall3(c) && isize(dq::drawqueue_c) > 1000) continue;
|
||||
|
||||
if(id > limit) continue;
|
||||
|
||||
for(int i=0; i<c->type; i++) if(c->move(i)) {
|
||||
enqueue(c->move(i), V * adj(c, i));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user