mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-01-22 23:17:04 +00:00
reg3:: changed the remaining refs to adjacent_dirs to dirdist; S7 to c->type
This commit is contained in:
parent
e9de3ac7d5
commit
7aec4c3cf1
18
bigstuff.cpp
18
bigstuff.cpp
@ -207,9 +207,9 @@ void hrmap::generateAlts(heptagon *h, int levs, bool link_cdata) {
|
|||||||
|
|
||||||
#if MAXMDIM >= 4
|
#if MAXMDIM >= 4
|
||||||
EX int hrandom_adjacent(cellwalker cw) {
|
EX int hrandom_adjacent(cellwalker cw) {
|
||||||
auto& da = currentmap->adjacent_dirs(cw);
|
auto& da = currentmap->dirdist(cw);
|
||||||
vector<int> choices = {cw.spin};
|
vector<int> choices = {cw.spin};
|
||||||
for(int a=0; a<S7; a++) if(da[a]) choices.push_back(a);
|
for(int a=0; a<cw.at->type; a++) if(da[a] == 1) choices.push_back(a);
|
||||||
return hrand_elt(choices, cw.spin);
|
return hrand_elt(choices, cw.spin);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -696,15 +696,15 @@ EX void buildEquidistant(cell *c) {
|
|||||||
if(!cw.at->landflags) continue;
|
if(!cw.at->landflags) continue;
|
||||||
if(S7 == 6) c->landflags = 1;
|
if(S7 == 6) c->landflags = 1;
|
||||||
else {
|
else {
|
||||||
auto& da = currentmap->adjacent_dirs(cw);
|
auto& da = currentmap->dirdist(cw);
|
||||||
for(int j=0; j<S7; j++) if(cw.at->move(j) && cw.at->move(j)->landparam == c->landparam - 2 && !da[j])
|
for(int j=0; j<S7; j++) if(cw.at->move(j) && cw.at->move(j)->landparam == c->landparam - 2 && da[j] != 1)
|
||||||
if(c->landparam == 2 ? cw.at->move(j)->land != laEndorian : cw.at->move(j)->landparam)
|
if(c->landparam == 2 ? cw.at->move(j)->land != laEndorian : cw.at->move(j)->landparam)
|
||||||
c->landflags = 1;
|
c->landflags = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(c->landparam == 2) {
|
else if(c->landparam == 2) {
|
||||||
for(int i=0; i<S7; i++) {
|
for(int i=0; i<c->type; i++) {
|
||||||
cellwalker cw(c, i);
|
cellwalker cw(c, i);
|
||||||
if(!cw.peek()) continue;
|
if(!cw.peek()) continue;
|
||||||
cw += wstep;
|
cw += wstep;
|
||||||
@ -715,7 +715,7 @@ EX void buildEquidistant(cell *c) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(c->landparam % 2 == 1) {
|
else if(c->landparam % 2 == 1) {
|
||||||
for(int i=0; i<S7; i++) {
|
for(int i=0; i<c->type; i++) {
|
||||||
cellwalker cw(c, i);
|
cellwalker cw(c, i);
|
||||||
if(!cw.peek()) continue;
|
if(!cw.peek()) continue;
|
||||||
cw += wstep;
|
cw += wstep;
|
||||||
@ -723,14 +723,14 @@ EX void buildEquidistant(cell *c) {
|
|||||||
if(!cw.at->landflags) continue;
|
if(!cw.at->landflags) continue;
|
||||||
if(S7 == 6) c->landflags = 1;
|
if(S7 == 6) c->landflags = 1;
|
||||||
else {
|
else {
|
||||||
auto& da = currentmap->adjacent_dirs(cw);
|
auto& da = currentmap->dirdist(cw);
|
||||||
for(int j=0; j<S7; j++) if(cw.at->move(j) && cw.at->move(j)->landparam == c->landparam - 2 && !da[j] && cw.at->move(j)->landflags)
|
for(int j=0; j<S7; j++) if(cw.at->move(j) && cw.at->move(j)->landparam == c->landparam - 2 && da[j] != 1 && cw.at->move(j)->landflags)
|
||||||
c->landflags = 1;
|
c->landflags = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for(int i=0; i<S7; i++) {
|
for(int i=0; i<c->type; i++) {
|
||||||
cellwalker cw(c, i);
|
cellwalker cw(c, i);
|
||||||
if(!cw.peek()) continue;
|
if(!cw.peek()) continue;
|
||||||
cw += wstep;
|
cw += wstep;
|
||||||
|
1
cell.cpp
1
cell.cpp
@ -531,6 +531,7 @@ EX int celldistAlt(cell *c) {
|
|||||||
if(IRREGULAR) return irr::celldist(c, true);
|
if(IRREGULAR) return irr::celldist(c, true);
|
||||||
#endif
|
#endif
|
||||||
if(ctof(c)) return c->master->alt->distance;
|
if(ctof(c)) return c->master->alt->distance;
|
||||||
|
if(reg3::in()) return c->master->alt->distance;
|
||||||
#if CAP_GP
|
#if CAP_GP
|
||||||
if(GOLDBERG) return gp::compute_dist(c, celldistAlt);
|
if(GOLDBERG) return gp::compute_dist(c, celldistAlt);
|
||||||
if(INVERSE) {
|
if(INVERSE) {
|
||||||
|
@ -199,7 +199,7 @@ EX bool is_zebra_trapdoor(cell *c) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
case gSpace435: {
|
case gSpace435: {
|
||||||
for(int i=0; i<S7; i++) {
|
for(int i=0; i<c->type; i++) {
|
||||||
cellwalker cw(c, i);
|
cellwalker cw(c, i);
|
||||||
for(int a=0; a<3; a++) {
|
for(int a=0; a<3; a++) {
|
||||||
if(cw.at->master->fieldval == 0) return true;
|
if(cw.at->master->fieldval == 0) return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user