From 5fac74b1cbe8ba5bcbf47f2076fcf5a4e83d4d6f Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sun, 23 Sep 2018 16:30:56 +0200 Subject: [PATCH] fixed graphical/movement glitches in the minimal quotient space --- game.cpp | 2 +- geometry2.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/game.cpp b/game.cpp index 3e51e3c3..4b13b1d8 100644 --- a/game.cpp +++ b/game.cpp @@ -1899,8 +1899,8 @@ void moveEffect(cell *ct, cell *cf, eMonster m, int direction_hint); void flameHalfvine(cell *c, int val) { if(itemBurns(c->item)) { + addMessage(XLAT("%The1 burns!", c->item)); c->item = itNone; - addMessage(XLAT("%The1 burns!", c->item)), c->item = itNone; } c->wall = waPartialFire; c->wparam = val; diff --git a/geometry2.cpp b/geometry2.cpp index 1a92585a..1de13588 100644 --- a/geometry2.cpp +++ b/geometry2.cpp @@ -125,12 +125,13 @@ transmatrix calc_relative_matrix(cell *c2, cell *c1, const hyperpoint& point_hin for(int d=0; dmove(d)) { int sp = h2->c.spin(d); transmatrix S = heptmove[sp] * spin(2*M_PI*d/S7); + if(h2->c.mirror(d)) S = heptmove[sp] * Mirror * spin(2*M_PI*d/S7); if(h2->move(d) == h1) { transmatrix T1 = gm * S * where; auto curdist = hdist(tC0(T1), point_hint); if(curdist < bestdist) T = T1, bestdist = curdist; } - for(int e=0; emove(d)->move(e) == h1) { + if(geometry != gMinimal) for(int e=0; emove(d)->move(e) == h1) { int sp2 = h2->move(d)->c.spin(e); transmatrix T1 = gm * heptmove[sp2] * spin(2*M_PI*e/S7) * S * where; auto curdist = hdist(tC0(T1), point_hint);