1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-09-10 06:16:00 +00:00

fixed radar in euc_in_sph (no animate), radar in euc_in_product (somewhat), fixed_YZ in euc_in_sph

This commit is contained in:
Zeno Rogue
2023-01-08 15:48:34 +01:00
parent 742355433a
commit 763a932aca
3 changed files with 26 additions and 1 deletions

View File

@@ -54,6 +54,28 @@ pair<bool, hyperpoint> makeradar(shiftpoint h) {
if(d > vid.radarrange) return {false, h1};
if(d) h1 = h1 * (d / (vid.radarrange + cgi.scalefactor/4) / hypot_d(3, h1));
}
else if(geom3::euc_in_sph()) {
h1[0] = atan2(h.h[0], h.h[2]);
h1[1] = atan2(h.h[1], h.h[3]);
h1[2] = 0;
h1 = cgi.intermediate_to_logical * h1;
d = hypot_d(2, h1);
if(d > vid.radarrange) return {false, h1};
if(d) h1 = h1 / (vid.radarrange + cgi.scalefactor/4);
}
else if(geom3::euc_in_product()) {
if(in_h2xe())
h1[0] = atanh(h.h[0] / h.h[2]);
else
h1[0] = atan2(h.h[2], h.h[0]);
h1[2] = - zlevel(h.h) - h.shift;
h1[1] = 0;
h1[3] = 0;
h1 = cgi.intermediate_to_logical * h1;
d = hypot_d(2, h1);
if(d > vid.radarrange) return {false, h1};
if(d) h1 = h1 / (vid.radarrange + cgi.scalefactor/4);
}
else {
d = hypot_d(2, h1);
if(d > vid.radarrange) return {false, h1};