1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-19 15:20:27 +00:00

using viewcenter() consistently

This commit is contained in:
Zeno Rogue 2019-08-17 23:29:11 +02:00
parent 6958cbcbd9
commit 95da7ff09e
5 changed files with 13 additions and 13 deletions

View File

@ -163,7 +163,7 @@ EX transmatrix &ggmatrix(cell *c) {
t = View * eumove(cell_to_vec(c) - cellwalker_to_vec(centerover));
}
else
t = actualV(viewctr, actual_view_transform * View) * calc_relative_matrix(c, viewctr.at->c7, C0);
t = actualV(viewctr, actual_view_transform * View) * calc_relative_matrix(c, viewcenter(), C0);
}
return t;
}

View File

@ -861,7 +861,7 @@ EX bool drawItemType(eItem it, cell *c, const transmatrix& V, color_t icol, int
if(GDIM == 3 && mapeditor::drawUserShape(V, mapeditor::sgItem, it, darkena(icol, 0, 0xFF), c)) return false;
if(WDIM == 3 && c == viewctr.at->c7 && in_perspective() && hdist0(tC0(V)) < cgi.orbsize * 0.25) return false;
if(WDIM == 3 && c == viewcenter() && in_perspective() && hdist0(tC0(V)) < cgi.orbsize * 0.25) return false;
transmatrix Vit = V;
if(GDIM == 3 && WDIM == 2 && c && it != itBabyTortoise) Vit = mscale(V, cgi.STUFF);
@ -5995,8 +5995,8 @@ EX void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
for(int a=0; a<c->type; a++)
if(c->move(a) && !isWall3(c->move(a), dummy)) {
if(pmodel == mdPerspective && !sphere && !quotient && !penrose && !nonisotropic) {
if(a < 4 && among(geometry, gHoroTris, gBinary3) && celldistAlt(c) >= celldistAlt(viewctr.at->c7)) continue;
else if(a < 2 && among(geometry, gHoroRec) && celldistAlt(c) >= celldistAlt(viewctr.at->c7)) continue;
if(a < 4 && among(geometry, gHoroTris, gBinary3) && celldistAlt(c) >= celldistAlt(viewcenter())) continue;
else if(a < 2 && among(geometry, gHoroRec) && celldistAlt(c) >= celldistAlt(viewcenter())) continue;
else if(c->move(a)->master->distance > c->master->distance && c->master->distance > viewctr.at->distance && !quotient) continue;
}
else if(sol && in_perspective()) {
@ -7149,7 +7149,7 @@ EX void make_actual_view() {
if(GDIM == 3) {
ld max = WDIM == 2 ? vid.camera : vid.yshift;
if(max)
actual_view_transform = solmul(zpush(wall_radar((masterless ? centerover.at : viewctr.at->c7), inverse(View), max)), actual_view_transform * View) * inverse(View);
actual_view_transform = solmul(zpush(wall_radar((masterless ? centerover.at : viewcenter()), inverse(View), max)), actual_view_transform * View) * inverse(View);
camera_level = asin_auto(tC0(inverse(actual_view_transform * View))[2]);
}
if(nonisotropic) {
@ -7185,7 +7185,7 @@ EX transmatrix cview() {
EX void precise_mouseover() {
if(WDIM == 3) {
mouseover2 = mouseover = viewctr.at->c7;
mouseover2 = mouseover = viewcenter();
ld best = HUGE_VAL;
hyperpoint h =
nisot::local_perspective_used() ? inverse(nisot::local_perspective) * cpush(2, 1) * C0 : cpush(2, 1) * C0;

View File

@ -444,7 +444,7 @@ EX namespace history {
xpos += bwidth;
}
last_base = viewctr.at->c7;
last_base = viewcenter();
last_relative = inverse(ggmatrix(last_base)) * C0;
}
}

View File

@ -524,7 +524,7 @@ void moved() {
save_memory();
return;
}
setdist(masterless ? centerover.at : viewctr.at->c7, 7 - getDistLimit() - genrange_bonus, NULL);
setdist(viewcenter(), 7 - getDistLimit() - genrange_bonus, NULL);
}
playermoved = false;
}
@ -613,8 +613,8 @@ EX void apply() {
cspin(0, GDIM-1, -movement_angle * degree), View);
moved();
if(clearup) {
viewctr.at->c7->wall = waNone;
forCellEx(c1, viewctr.at->c7) c1->wall = waNone;
viewcenter()->wall = waNone;
forCellEx(c1, viewcenter()) c1->wall = waNone;
}
}
break;
@ -637,7 +637,7 @@ EX void apply() {
moved();
View = cspin(0, GDIM-1, 2 * M_PI * t / period) * View;
if(clearup) {
viewctr.at->c7->wall = waNone;
viewcenter()->wall = waNone;
}
break;

View File

@ -1013,7 +1013,7 @@ bool texture_config::save() {
targetgeometry = geometry;
targetvariation = variation;
cell *ctr = euclid ? centerover.at : viewctr.at->c7;
cell *ctr = viewcenter();
si_save = patterns::getpatterninfo0(ctr);
if(archimedean) csymbol = arcm::current.symbol;
@ -1072,7 +1072,7 @@ bool texture_config::load() {
celllister cl(currentmap->gamestart(), 20, 10000, NULL);
bool found = false;
for(cell *c: cl.lst) if(euclid || ctof(c)) {
cell *ctr = euclid ? centerover.at : viewctr.at->c7;
cell *ctr = viewcenter();
auto si_here = patterns::getpatterninfo0(c);
if(si_here.id == si_save.id && si_here.reflect == si_save.reflect && si_here.dir == si_save.dir) {
if(euclid) centerover.at = ctr;