1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-06-18 14:24:07 +00:00

get_shiftview_of used gpush instead of rgpush; fixed wallradar

This commit is contained in:
Zeno Rogue 2019-08-25 20:45:27 +02:00
parent db351d9511
commit ce46243b55
4 changed files with 8 additions and 8 deletions

View File

@ -7181,15 +7181,15 @@ EX purehookset hooks_drawmap;
EX transmatrix actual_view_transform; EX transmatrix actual_view_transform;
EX ld wall_radar(cell *c, transmatrix T, transmatrix LPe, ld max) { EX ld wall_radar(cell *c, transmatrix T, transmatrix LPe, ld max) {
if(pmodel != mdPerspective || !vid.use_wall_radar) return max; if(!in_perspective() || !vid.use_wall_radar) return max;
ld step = max / 20; ld step = max / 20;
ld fixed_yshift = 0; ld fixed_yshift = 0;
for(int i=0; i<20; i++) { for(int i=0; i<20; i++) {
T = solmul_pt(T, LPe, zpush(-step)); T = solmul_pt(T, LPe, ztangent(-step));
virtualRebase(c, T, true); virtualRebase(c, T, true);
color_t col; color_t col;
if(isWall3(c, col) || (WDIM == 2 && GDIM == 3 && tC0(T)[2] > cgi.FLOOR)) { if(isWall3(c, col) || (WDIM == 2 && GDIM == 3 && tC0(T)[2] > cgi.FLOOR)) {
T = solmul_pt(T, LPe, zpush(step)); T = solmul_pt(T, LPe, ztangent(step));
step /= 2; i = 17; step /= 2; i = 17;
if(step < 1e-3) break; if(step < 1e-3) break;
} }

View File

@ -985,9 +985,9 @@ EX transmatrix solmul_pt(const transmatrix Position, const transmatrix T) {
else return Position * T; else return Position * T;
} }
EX transmatrix solmul_pt(const transmatrix Position, const transmatrix LPe, const transmatrix T) { EX transmatrix solmul_pt(const transmatrix Position, const transmatrix LPe, const hyperpoint h) {
if(nonisotropic || prod) return nisot::parallel_transport(Position, LPe, tC0(T)); if(nonisotropic || prod) return nisot::parallel_transport(Position, LPe, h);
else return Position * T; else return Position * rgpushxto0(direct_exp(h, 100));
} }
EX transmatrix spin_towards(const transmatrix Position, const hyperpoint goal, int dir, int back) { EX transmatrix spin_towards(const transmatrix Position, const hyperpoint goal, int dir, int back) {

View File

@ -2089,7 +2089,7 @@ EX transmatrix get_shift_view_of(const hyperpoint H, const transmatrix V) {
return rgpushxto0(h) * V; return rgpushxto0(h) * V;
} }
else if(!nonisotropic) { else if(!nonisotropic) {
return gpushxto0(direct_exp(H, 100)) * V; return rgpushxto0(direct_exp(H, 100)) * V;
} }
else if(!nisot::geodesic_movement) { else if(!nisot::geodesic_movement) {
transmatrix IV = inverse(V); transmatrix IV = inverse(V);

View File

@ -1193,7 +1193,7 @@ EX namespace nisot {
T = push * gtl; T = push * gtl;
} }
EX transmatrix parallel_transport(const transmatrix Position, const transmatrix LPe, hyperpoint h) { EX transmatrix parallel_transport(const transmatrix Position, const transmatrix LPe, const hyperpoint h) {
if(prod) { if(prod) {
hyperpoint h = product::direct_exp(inverse(LPe) * product::inverse_exp(h)); hyperpoint h = product::direct_exp(inverse(LPe) * product::inverse_exp(h));
return Position * rgpushxto0(h); return Position * rgpushxto0(h);