1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-12-17 11:38:05 +00:00

correct get_coord in Goldberg

This commit is contained in:
Zeno Rogue
2018-12-03 10:40:19 +01:00
parent fef0405d0b
commit c4fae9dfef
3 changed files with 14 additions and 1 deletions

View File

@@ -346,11 +346,17 @@ struct hrmap_crystal : hrmap {
auto b = sgc.emplace(c, ldc0);
ldcoord& res = b.first->second;
if(b.second) {
if(c->master->c7 != c) {
if(BITRUNCATED && c->master->c7 != c) {
for(int i=0; i<c->type; i+=2)
res = res + told(hcoords[c->cmove(i)->master]);
res = res * 2 / c->type;
}
else if(GOLDBERG && c->master->c7 != c) {
auto m = gp::get_masters(c);
auto H = gp::get_master_coordinates(c);
for(int i=0; i<cs.dim; i++)
res = res + told(hcoords[m[i]]) * H[i];
}
else
res = told(hcoords[c->master]);
}