mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-11-14 20:57: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;
|
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) {
|
bool sierpinski3(gp::loc g) {
|
||||||
int x = g.first;
|
int x = g.first;
|
||||||
int y = g.second;
|
int y = g.second;
|
||||||
|
|||||||
@@ -880,7 +880,9 @@ EX bool pick_for_grid(cell *c, int t) {
|
|||||||
if(!c1) return false;
|
if(!c1) return false;
|
||||||
// removed: if(WDIM == 3 && bt::in() && !sn::in()) return !among(t, 5, 6, 8);
|
// removed: if(WDIM == 3 && bt::in() && !sn::in()) return !among(t, 5, 6, 8);
|
||||||
if(c == c1 && t <= c->c.spin(t)) return true;
|
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() {
|
void celldrawer::draw_grid() {
|
||||||
|
|||||||
Reference in New Issue
Block a user