From bcbd5808f93cb3d655d8d541aeb962dac08963b9 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Thu, 8 Dec 2022 20:05:17 +0100 Subject: [PATCH] fixed the Ivy placement in embedded_plane --- graph.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/graph.cpp b/graph.cpp index 338d125b..0c258946 100644 --- a/graph.cpp +++ b/graph.cpp @@ -2568,7 +2568,7 @@ EX bool drawMonsterType(eMonster m, cell *where, const shiftmatrix& V1, color_t // just for the HUD glyphs... else if(isAnyIvy(m)) { - queuepoly(V, cgi.shILeaf[0], darkena(col, 0, 0xFF)); + queuepoly(VBODY, cgi.shILeaf[0], darkena(col, 0, 0xFF)); } else @@ -2815,7 +2815,9 @@ EX bool drawMonster(const shiftmatrix& Vparam, int ct, cell *c, color_t col, col shiftmatrix Vb0 = Vb; if(c->mondir != NODIR && GDIM == 3 && isAnyIvy(c)) { - queueline(tC0(Vparam), Vparam * tC0(currentmap->adj(c, c->mondir)), (col << 8) + 0xFF, 0); + auto V1 = at_smart_lof(Vparam, cgi.ABODY); + auto V2 = at_smart_lof(Vparam * currentmap->adj(c, c->mondir), cgi.ABODY); + queueline(V1 * tile_center(), V2 * tile_center(), (col << 8) + 0xFF, 0); } else if(c->mondir != NODIR) { @@ -2910,7 +2912,7 @@ EX bool drawMonster(const shiftmatrix& Vparam, int ct, cell *c, color_t col, col queuepoly(Vb * spin(a * TAU / (c->type-2)), cgi.shILeaf[2], darkena(col, 0, 0xFF)); } else if(GDIM == 3) { - queuepoly(face_the_player(Vb), cgi.shILeaf[1], darkena(col, 0, 0xFF)); + queuepoly(face_the_player(at_smart_lof(Vb, cgi.ABODY)), cgi.shILeaf[1], darkena(col, 0, 0xFF)); } else { if(c->monmirror) Vb = Vb * Mirror;