From 14ac186fe2cb7e4b58c80769a250d87695a657a4 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sat, 17 Dec 2022 20:57:08 +0100 Subject: [PATCH] Lower and Much Lower curvature settings are now respecting even if it was hyperbolic anyway --- geometry.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/geometry.cpp b/geometry.cpp index 23a7a556..c7f98bb6 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -1310,17 +1310,21 @@ EX void switch_always3() { } } if(spatial_embedding == seDefault && flat_embedding) { - vid.eye -= vid.depth / 2; + vid.eye += vid.depth / 2; vid.depth = 0; } if(spatial_embedding == seDefault && !flat_embedding && inverted_embedding) { - vid.eye -= vid.depth * 1.5; + vid.eye += vid.depth * 1.5; vid.depth *= -1; } if((euc_in_hyp() || euc_in_noniso()) && inverted_embedding) { vid.wall_height *= -1; vid.eye = 2 * vid.depth; } + if(euc_in_hyp() && spatial_embedding == seMuchLowerCurvature) { + vid.eye = inverted_embedding ? -vid.depth : vid.depth; + vid.depth = 0; + } if(msphere && spatial_embedding == seProduct) { vid.depth = 0; vid.wall_height = 2; @@ -1338,6 +1342,24 @@ EX void switch_always3() { #endif check_cgi(); cgi.prepare_basics(); + if(hyperbolic && same_in_same() && spatial_embedding == seLowerCurvature) { + vid.eye += vid.depth; + vid.depth *= 2; + if(inverted_embedding) { + vid.eye = 1; + vid.depth *= -1; + vid.wall_height *= -1; + } + } + if(hyperbolic && same_in_same() && spatial_embedding == seMuchLowerCurvature) { + vid.eye += vid.depth; + vid.depth *= 3; + if(inverted_embedding) { + vid.eye = 2; + vid.depth *= -1; + vid.wall_height *= -1; + } + } } else { vid.always3 = false;