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

embeddings:: fixed animation facing in more cylinders

This commit is contained in:
Zeno Rogue 2023-02-04 12:59:51 +01:00
parent d4eb33cd71
commit d67b157904
2 changed files with 10 additions and 1 deletions

View File

@ -1022,6 +1022,7 @@ EX transmatrix xspinpush(ld dir, ld dist) {
EX const transmatrix& lmirror() { EX const transmatrix& lmirror() {
if(cgi.emb->is_euc_in_product()) return Id; if(cgi.emb->is_euc_in_product()) return Id;
if(cgi.emb->is_cylinder() && nil) return Id;
if(cgi.emb->logical_to_intermediate[2][1]) return MirrorZ; if(cgi.emb->logical_to_intermediate[2][1]) return MirrorZ;
if(cgi.emb->is_hyp_in_solnih()) return MirrorY; if(cgi.emb->is_hyp_in_solnih()) return MirrorY;
return Mirror; return Mirror;

View File

@ -2656,7 +2656,15 @@ EX bool applyAnimation(cell *c, shiftmatrix& V, double& footphase, int layer) {
} }
footphase = a.footphase; footphase = a.footphase;
V = V * a.wherenow * lrspintox(wnow); V = V * a.wherenow * lrspintox(wnow);
if(cgi.emb->is_cylinder()) V = V * cspin90(1, 0); if(cgi.emb->is_cylinder() && !gproduct) {
if(nil) {
V = V * lzpush(1);
V = V * spin270();
V = V * lzpush(-1);
}
else
V = V * cspin90(1, 0);
}
if(a.mirrored) V = V * lmirror(); if(a.mirrored) V = V * lmirror();
if(a.attacking == 2) V = V * lpispin(); if(a.attacking == 2) V = V * lpispin();
a.ltick = ticks; a.ltick = ticks;