1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-10-13 13:47:37 +00:00

product:: big stuff

This commit is contained in:
Zeno Rogue
2019-08-18 15:32:46 +02:00
parent fb0f5872c8
commit f40072511b
6 changed files with 44 additions and 6 deletions

View File

@@ -2549,6 +2549,13 @@ EX void setdist(cell *c, int d, cell *from) {
}
if(d <= 10 - getDistLimit()) lastexplore = shmup::on ? shmup::curtime : turncount;
if(prod) {
auto wc = product::get_where(c).first;
auto wf = from ? product::get_where(from).first : NULL;
if(c->land && !wc->land) wc->land = c->land;
product::in_underlying_map([&] { setdist(wc, d, wf); });
}
if(buggyGeneration) {
if(d < BARLEV) for(int i=0; i<c->type; i++) {
@@ -2612,6 +2619,7 @@ EX void setdist(cell *c, int d, cell *from) {
#if MAXMDIM == 4
else if(euclid && WDIM == 3) euclid3::set_land(c);
#endif
else if(prod) setLandProduct(c);
else if(sphere || fulltorus) setLandSphere(c);
else if(euclid) setLandEuclid(c);
else if(quotient) { setland(c, specialland); setLandQuotient(c); }