X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame.c;h=ad2f231f641f92cc86eb124e2e8a91c4eed6eede;hp=c7589cf005057b7a46c2fd1ec22ad7ba36d59a08;hb=453e58ce94fd8f1257b08c6ee273382ede528f1a;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;