X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=5d89ddffc1cf606225bbd3ca672c2b65f9576a3f;hb=830ab4d58b00129ff57c9600dc99a2494af8841c;hp=6fc7f7bdc7dbd196ecfd616c94935a282f716466;hpb=ed22fcb49eb39c34da82c51f44cbe64ca5b409c4;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 6fc7f7bd..5d89ddff 100644 --- a/src/game.c +++ b/src/game.c @@ -2095,7 +2095,7 @@ void InitMovDir(int x, int y) break; } -#if 1 +#if 0 if (MovDir[x][y] == MV_NO_MOVING) /* no start direction found */ MovDir[x][y] = 1 << RND(4); /* => use random direction */ #endif @@ -5965,9 +5965,18 @@ void ContinueMoving(int x, int y) MovDir[newx][newy] = 0; */ +#if 0 if (!CAN_MOVE(element) || (CAN_FALL(element) && direction == MV_DOWN)) GfxDir[x][y] = MovDir[newx][newy] = 0; +#else + if (!CAN_MOVE(element) || + (CAN_FALL(element) && direction == MV_DOWN && + (element == EL_SPRING || + element_info[element].move_pattern == MV_WHEN_PUSHED || + element_info[element].move_pattern == MV_WHEN_DROPPED))) + GfxDir[x][y] = MovDir[newx][newy] = 0; +#endif #endif #endif