X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame.c;h=ad2f231f641f92cc86eb124e2e8a91c4eed6eede;hp=c7589cf005057b7a46c2fd1ec22ad7ba36d59a08;hb=8a7d4a2d8dcb7ef5375441f42a4a3aeede7680e7;hpb=39ad80f8d48b103622e36e40c951a66579444767 diff --git a/src/game.c b/src/game.c index c7589cf0..ad2f231f 100644 --- a/src/game.c +++ b/src/game.c @@ -12532,10 +12532,11 @@ boolean MovePlayer(struct PlayerInfo *player, int dx, int dy) } else { - int offset = game.scroll_delay_value; + int offset_raw = game.scroll_delay_value; if (jx != old_jx) // player has moved horizontally { + int offset = MIN(offset_raw, (SCR_FIELDX - 2) / 2); int offset_x = offset * (player->MovDir == MV_LEFT ? +1 : -1); int new_scroll_x = jx - MIDPOSX + offset_x; @@ -12556,6 +12557,7 @@ boolean MovePlayer(struct PlayerInfo *player, int dx, int dy) } else // player has moved vertically { + int offset = MIN(offset_raw, (SCR_FIELDY - 2) / 2); int offset_y = offset * (player->MovDir == MV_UP ? +1 : -1); int new_scroll_y = jy - MIDPOSY + offset_y;