1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-11-13 04:13:03 +00:00

nicer boundaries for grid on disksize

This commit is contained in:
Zeno Rogue
2025-10-16 20:59:52 +02:00
parent 718fbcd895
commit d3b5f2641b
2 changed files with 9 additions and 1 deletions

View File

@@ -429,6 +429,12 @@ EX bool is_in_disk(cell *c) {
return *it == c;
}
EX int disk_index(cell *c) {
auto it = lower_bound(all_disk_cells_sorted.begin(), all_disk_cells_sorted.end(), c);
if(it == all_disk_cells_sorted.end() || *it != c) return isize(all_disk_cells_sorted);
return it - all_disk_cells_sorted.begin();
}
bool sierpinski3(gp::loc g) {
int x = g.first;
int y = g.second;

View File

@@ -880,7 +880,9 @@ EX bool pick_for_grid(cell *c, int t) {
if(!c1) return false;
// removed: if(WDIM == 3 && bt::in() && !sn::in()) return !among(t, 5, 6, 8);
if(c == c1 && t <= c->c.spin(t)) return true;
return c < c1 || isWarped(c->move(t)) || fake::split();
bool order = c < c1;
if(disksize) order = disk_index(c) < disk_index(c1);
return order || isWarped(c->move(t)) || fake::split();
}
void celldrawer::draw_grid() {