1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2026-03-20 20:09:43 +00:00

2d3d:: fixed the placement of monsters (including PC view) on rock levels etc.

This commit is contained in:
Zeno Rogue
2019-05-10 01:03:53 +02:00
parent 563303acca
commit 13f3f49db9
2 changed files with 19 additions and 12 deletions

View File

@@ -4470,11 +4470,12 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
transmatrix Vd0, Vboat0;
const transmatrix *Vdp =
(!wmspatial) ? &V :
sl ? &(Vd0= mscale(V, geom3::SLEV[sl])) :
highwall(c) ? &(Vd0= mscale(V, (1+geom3::WALL)/2)) :
WDIM == 3 ? &V:
!wmspatial ? &V :
sl ? &(Vd0= mscale(V, geom3::SLEV[sl] - geom3::FLOOR)) :
(highwall(c) && GDIM == 2) ? &(Vd0= mscale(V, (1+geom3::WALL)/2)) :
#if CAP_SHAPES
(chasmg==1) ? &(Vd0 = mscale(V, geom3::LAKE)) :
(chasmg==1) ? &(Vd0 = mscale(V, geom3::LAKE - geom3::FLOOR)) :
#endif
&V;
@@ -5502,9 +5503,12 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
#endif
error |= drawMonster(V, ctype, c, moncol);
#if CAP_SHAPES
if(Vboat != &V && Vboat != &Vboat0 && q != isize(ptds))
pushdown(c, q, V, -geom3::factor_to_lev(zlevel(tC0((*Vboat)))),
if(Vboat != &V && Vboat != &Vboat0 && q != isize(ptds)) {
if(WDIM == 2)
pushdown(c, q, V, geom3::SLEV[sl] - geom3::FLOOR, false, false);
else pushdown(c, q, V, -geom3::factor_to_lev(zlevel(tC0((*Vboat)))),
!isMultitile(c->monst), false);
}
#endif
}