mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-11-13 12:17:10 +00:00
nicer boundaries for grid on disksize
This commit is contained in:
6
cell.cpp
6
cell.cpp
@@ -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;
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user