Fix flipping non-existent stairs

If the stair or ladder x coord is 0, it doesn't exist.
Flipping it, caused "u_on_newpos: trying to place hero off map <80,0>"
when coming back up from the valley into the castle, and the
castle was flipped.

Fixes #331
This commit is contained in:
Pasi Kallinen
2020-03-07 17:05:39 +02:00
parent 2fc9c02f88
commit 8b6ae1642d

View File

@@ -461,18 +461,28 @@ boolean extras;
/* stairs and ladders */
if (flp & 1) {
yupstair = FlipY(yupstair);
ydnstair = FlipY(ydnstair);
yupladder = FlipY(yupladder);
ydnladder = FlipY(ydnladder);
g.sstairs.sy = FlipY(g.sstairs.sy);
if (xupstair)
yupstair = FlipY(yupstair);
if (xdnstair)
ydnstair = FlipY(ydnstair);
if (xupladder)
yupladder = FlipY(yupladder);
if (xdnladder)
ydnladder = FlipY(ydnladder);
if (g.sstairs.sx)
g.sstairs.sy = FlipY(g.sstairs.sy);
}
if (flp & 2) {
xupstair = FlipX(xupstair);
xdnstair = FlipX(xdnstair);
xupladder = FlipX(xupladder);
xdnladder = FlipX(xdnladder);
g.sstairs.sx = FlipX(g.sstairs.sx);
if (xupstair)
xupstair = FlipX(xupstair);
if (xdnstair)
xdnstair = FlipX(xdnstair);
if (xupladder)
xupladder = FlipX(xupladder);
if (xdnladder)
xdnladder = FlipX(xdnladder);
if (g.sstairs.sx)
g.sstairs.sx = FlipX(g.sstairs.sx);
}
/* traps */