mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-23 16:50:27 +00:00
more ddspin/nearcorner bugfixes
This commit is contained in:
parent
fa7585606d
commit
21a6e64e96
@ -529,7 +529,7 @@ hyperpoint nearcorner(cell *c, int i) {
|
||||
if(approx_nearcorner)
|
||||
return kite::get_corner(c, i, 3) + kite::get_corner(c, i+1, 3) - C0;
|
||||
else
|
||||
return calc_relative_matrix(c->move(i), c, C0) * C0;
|
||||
return calc_relative_matrix(c->cmove(i), c, C0) * C0;
|
||||
}
|
||||
if(binarytiling) {
|
||||
if(WDIM == 3) {
|
||||
|
@ -365,13 +365,13 @@ double hexshiftat(cell *c) {
|
||||
|
||||
transmatrix ddspin(cell *c, int d, ld bonus) {
|
||||
if(WDIM == 3 && d < c->type) return rspintox(tC0(calc_relative_matrix(c->cmove(d), c, C0))) * cspin(2, 0, bonus);
|
||||
if(WDIM == 2 && (binarytiling || penrose)) return spin(bonus) * rspintox(nearcorner(c, d));
|
||||
if(WDIM == 2 && (binarytiling || penrose) && d < c->type) return spin(bonus) * rspintox(nearcorner(c, d));
|
||||
return spin(displayspin(c, d) + bonus - hexshiftat(c));
|
||||
}
|
||||
|
||||
transmatrix iddspin(cell *c, int d, ld bonus) {
|
||||
if(WDIM == 3 && d < c->type) return cspin(0, 2, bonus) * spintox(tC0(calc_relative_matrix(c->cmove(d), c, C0)));
|
||||
if(WDIM == 2 && (binarytiling || penrose)) return spin(bonus) * spintox(nearcorner(c, d));
|
||||
if(WDIM == 2 && (binarytiling || penrose) && d < c->type) return spin(bonus) * spintox(nearcorner(c, d));
|
||||
return spin(hexshiftat(c) - displayspin(c, d) + bonus);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user