1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2026-05-19 12:32:07 +00:00

binary-like tilings can now be embedded in Solv and variants

This commit is contained in:
Zeno Rogue
2022-12-15 11:43:26 +01:00
parent 7dac26a85a
commit 10e543a44e
5 changed files with 66 additions and 23 deletions
+13 -5
View File
@@ -1128,6 +1128,10 @@ EX namespace geom3 {
return among(ggclass(), gcSol, gcNIH, gcSolN) && mgclass() == gcEuclid;
}
EX bool hyp_in_solnih() {
return among(ggclass(), gcSol, gcNIH, gcSolN) && mgclass() == gcHyperbolic;
}
EX bool euc_in_noniso() {
return among(ggclass(), gcNil, gcSol, gcNIH, gcSolN) && nonisotropic;
}
@@ -1200,27 +1204,31 @@ EX namespace geom3 {
g.gameplay_dimension = 2;
}
if(spatial_embedding == seNil && euclid) {
bool ieuclid = g.kind == gcEuclid;
if(spatial_embedding == seNil && ieuclid) {
g = ginf[gNil].g;
g.gameplay_dimension = 2;
}
if(spatial_embedding == seSol && euclid) {
bool ieuc_or_binary = ieuclid || (gi.flags & qBINARY);
if(spatial_embedding == seSol && ieuc_or_binary) {
g = ginf[gSol].g;
g.gameplay_dimension = 2;
}
if(spatial_embedding == seNIH && euclid) {
if(spatial_embedding == seNIH && ieuc_or_binary) {
g = ginf[gNIH].g;
g.gameplay_dimension = 2;
}
if(spatial_embedding == seNIH_inv && euclid) {
if(spatial_embedding == seNIH_inv && ieuc_or_binary) {
g = ginf[gNIH].g;
g.gameplay_dimension = 2;
}
if(spatial_embedding == seSolN && euclid) {
if(spatial_embedding == seSolN && ieuc_or_binary) {
g = ginf[gSolN].g;
g.gameplay_dimension = 2;
}