mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-27 14:37:16 +00:00
deSitter projections shown in menu
This commit is contained in:
parent
1cde76c880
commit
a5a7e8a5fa
@ -185,6 +185,9 @@ EX namespace models {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** mdRelPerspective and mdRelOrthogonal in hyperbolic space only make sense if it is actually a de Sitter visualization */
|
||||||
|
EX bool desitter_projections;
|
||||||
|
|
||||||
EX bool model_available(eModel pm) {
|
EX bool model_available(eModel pm) {
|
||||||
if(mdinf[pm].flags & mf::technical) return false;
|
if(mdinf[pm].flags & mf::technical) return false;
|
||||||
if(prod) {
|
if(prod) {
|
||||||
@ -192,6 +195,7 @@ EX namespace models {
|
|||||||
if(among(pm, mdBall, mdHemisphere)) return false;
|
if(among(pm, mdBall, mdHemisphere)) return false;
|
||||||
return PIU(model_available(pm));
|
return PIU(model_available(pm));
|
||||||
}
|
}
|
||||||
|
if(hyperbolic && desitter_projections && among(pm, mdRelPerspective, mdRelOrthogonal)) return true;
|
||||||
if(sl2) return among(pm, mdGeodesic, mdEquidistant, mdRelPerspective, mdRelOrthogonal, mdHorocyclic, mdPerspective);
|
if(sl2) return among(pm, mdGeodesic, mdEquidistant, mdRelPerspective, mdRelOrthogonal, mdHorocyclic, mdPerspective);
|
||||||
if(nonisotropic) return among(pm, mdDisk, mdPerspective, mdHorocyclic, mdGeodesic, mdEquidistant, mdFisheye, mdLiePerspective, mdLieOrthogonal);
|
if(nonisotropic) return among(pm, mdDisk, mdPerspective, mdHorocyclic, mdGeodesic, mdEquidistant, mdFisheye, mdLiePerspective, mdLieOrthogonal);
|
||||||
if(sphere && (pm == mdHalfplane || pm == mdBall))
|
if(sphere && (pm == mdHalfplane || pm == mdBall))
|
||||||
|
@ -29,6 +29,7 @@ void switch_underlying() {
|
|||||||
initcells();
|
initcells();
|
||||||
initgame();
|
initgame();
|
||||||
nomap = false;
|
nomap = false;
|
||||||
|
models::desitter_projections = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if(hyperbolic) {
|
else if(hyperbolic) {
|
||||||
|
Loading…
Reference in New Issue
Block a user