1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-26 01:50:36 +00:00

fixed sides in Euclidean hemisphere

This commit is contained in:
Zeno Rogue 2023-08-15 15:20:29 +02:00
parent 27bedb19ed
commit f2f62cf296

View File

@ -313,7 +313,7 @@ EX bool two_sided_model() {
#endif #endif
if(GDIM == 3) return false; if(GDIM == 3) return false;
if(in_vr_sphere) return true; if(in_vr_sphere) return true;
if(pmodel == mdHemisphere || pmodel == mdHyperboloid) return !euclid && !in_vr; if(pmodel == mdHemisphere || pmodel == mdHyperboloid) return !in_vr;
// if(pmodel == mdHemisphere) return true; // if(pmodel == mdHemisphere) return true;
if(pmodel == mdDisk) return sphere || (hyperbolic && pconf.alpha < 0 && pconf.alpha > -1); if(pmodel == mdDisk) return sphere || (hyperbolic && pconf.alpha < 0 && pconf.alpha > -1);
if(pmodel == mdRetroLittrow) return sphere; if(pmodel == mdRetroLittrow) return sphere;
@ -357,7 +357,7 @@ EX int get_side(const hyperpoint& H) {
} }
if(pmodel == mdHyperboloidFlat && sphere) if(pmodel == mdHyperboloidFlat && sphere)
return H[2] >= 0 ? 1 : -1; return H[2] >= 0 ? 1 : -1;
if(pmodel == mdHemisphere && hyperbolic) { if(pmodel == mdHemisphere && !sphere) {
hyperpoint res; hyperpoint res;
applymodel(shiftless(H), res); applymodel(shiftless(H), res);
return res[2] < 0 ? -1 : 1; return res[2] < 0 ? -1 : 1;