mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-05-11 19:54:07 +00:00
rogueviz::seuphorica:: canonical paths on hyperbolic boards
This commit is contained in:
parent
7830e45109
commit
4aea0d20ab
@ -107,6 +107,9 @@ string spotname(cell *c) {
|
|||||||
else if(disksize || closed_manifold) {
|
else if(disksize || closed_manifold) {
|
||||||
return "#" + its(list_order[c]);
|
return "#" + its(list_order[c]);
|
||||||
}
|
}
|
||||||
|
else if(currentmap->strict_tree_rules()) {
|
||||||
|
return lalign(0, rulegen::canonical_path_to(c->master));
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
hyperpoint h = calc_relative_matrix(c, currentmap->gamestart(), C0) * C0;
|
hyperpoint h = calc_relative_matrix(c, currentmap->gamestart(), C0) * C0;
|
||||||
return lalign(0, kz(h));
|
return lalign(0, kz(h));
|
||||||
@ -117,20 +120,6 @@ cellwalker getback(cellwalker& cw) {
|
|||||||
return cw + rev;
|
return cw + rev;
|
||||||
}
|
}
|
||||||
|
|
||||||
vector<int> get_path(coord c) {
|
|
||||||
if(euc::in()) {
|
|
||||||
auto co = euc2_coordinates(c);
|
|
||||||
return {0,0,0,-co.first,0,0,0,-co.second,0,0,0};
|
|
||||||
}
|
|
||||||
else if(closed_manifold) {
|
|
||||||
return {0,0,0,list_order[c],0,0,0};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
hyperpoint h = calc_relative_matrix(c, currentmap->gamestart(), C0) * C0;
|
|
||||||
return {0,0,0,int(h[0]*1000),0,0,0,int(h[1]*1000),0,0,0,int(h[2]*1000),0,0,0};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void thru_portal(coord& x, vect2& v);
|
void thru_portal(coord& x, vect2& v);
|
||||||
void mirror(coord& at, vect2& prev);
|
void mirror(coord& at, vect2& prev);
|
||||||
|
|
||||||
@ -1041,6 +1030,9 @@ vector<seuphgeom> seuphgeoms = {
|
|||||||
pconf.scale = 0.9;
|
pconf.scale = 0.9;
|
||||||
vid.creature_scale = 1.5;
|
vid.creature_scale = 1.5;
|
||||||
req_disksize = 0;
|
req_disksize = 0;
|
||||||
|
arb::convert::convert();
|
||||||
|
rulegen::prepare_rules();
|
||||||
|
arb::convert::activate();
|
||||||
}},
|
}},
|
||||||
|
|
||||||
{"Spherical Board", []{
|
{"Spherical Board", []{
|
||||||
@ -1067,6 +1059,9 @@ vector<seuphgeom> seuphgeoms = {
|
|||||||
pconf.scale = 0.9;
|
pconf.scale = 0.9;
|
||||||
vid.creature_scale = 0.8;
|
vid.creature_scale = 0.8;
|
||||||
req_disksize = 0;
|
req_disksize = 0;
|
||||||
|
arb::convert::convert();
|
||||||
|
rulegen::prepare_rules();
|
||||||
|
arb::convert::activate();
|
||||||
}},
|
}},
|
||||||
|
|
||||||
{"Dodecagons", []{
|
{"Dodecagons", []{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user