1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-04 13:16:16 +00:00

3D:: draw_radar adjusted for non-hyperbolic geometries

This commit is contained in:
Zeno Rogue 2019-05-13 17:16:37 +02:00
parent 2d039c6e28
commit 8206812413

View File

@ -353,7 +353,8 @@ bool nofps = false;
void draw_radar(bool cornermode) { void draw_radar(bool cornermode) {
bool d3 = WDIM == 3 || straightDownSeek || vid.fixed_yz; bool d3 = WDIM == 3 || straightDownSeek || !vid.fixed_yz;
bool hyp = hyperbolic;
dynamicval<eGeometry> g(geometry, gEuclid); dynamicval<eGeometry> g(geometry, gEuclid);
dynamicval<eModel> pm(pmodel, mdUnchanged); dynamicval<eModel> pm(pmodel, mdUnchanged);
@ -388,10 +389,13 @@ void draw_radar(bool cornermode) {
for(auto& r: radarpoints) for(auto& r: radarpoints)
if(d3) displaychr(int(cx + rad * r.h[0]), int(cy - rad * r.h[2]/3 + rad * r.h[1]*2/3), 0, 8, r.glyph, r.color); if(d3) displaychr(int(cx + rad * r.h[0]), int(cy - rad * r.h[2]/3 + rad * r.h[1]*2/3), 0, 8, r.glyph, r.color);
else { else if(hyp) {
int siz = 1/(1+r.h[3]) * scalefactor * current_display->radius / (inHighQual ? 10 : 6); int siz = 1/(1+r.h[3]) * scalefactor * current_display->radius / (inHighQual ? 10 : 6);
displaychr(int(cx + rad * r.h[0]), int(cy - rad * r.h[1]), 0, siz, r.glyph, r.color); displaychr(int(cx + rad * r.h[0]), int(cy - rad * r.h[1]), 0, siz, r.glyph, r.color);
} }
else {
displaychr(int(cx + rad * r.h[0]), int(cy - rad * r.h[1]), 0, 8, r.glyph, r.color);
}
} }
void drawStats() { void drawStats() {