X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=cea1b769be4fd43ad9ece0c2710720b63434caa9;hb=129d7d8e9a4b6a3ff0586e209a40317fc68fe6db;hp=7ee5fb03703391a2913bad32a922a858b6086e0b;hpb=7eb9afbda870a52bfef66b5d1750696a6add61c4;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 7ee5fb03..cea1b769 100644 --- a/src/game.c +++ b/src/game.c @@ -3112,6 +3112,8 @@ void InitGame() FadeOut(fade_mask); + OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); + ClearField(); DrawCompleteVideoDisplay(); @@ -4894,7 +4896,11 @@ void DrawRelocateScreen(int old_x, int old_y, int x, int y, int move_dir, int frame_delay_value = (ffwd_delay ? FfwdFrameDelay : GameFrameDelay); int wait_delay_value = (no_delay ? 0 : frame_delay_value); - if (quick_relocation) + if (level.lazy_relocation && IN_VIS_FIELD(SCREENX(x), SCREENY(y))) + { + RedrawPlayfield(); + } + else if (quick_relocation) { if (!IN_VIS_FIELD(SCREENX(x), SCREENY(y)) || center_screen) { @@ -4973,7 +4979,7 @@ void DrawRelocateScreen(int old_x, int old_y, int x, int y, int move_dir, } } - RedrawPlayfield(TRUE, 0,0,0,0); + RedrawPlayfield(); } else { @@ -5015,7 +5021,6 @@ void DrawRelocateScreen(int old_x, int old_y, int x, int y, int move_dir, offset_y - MIDPOSY); } - ScrollScreen(NULL, SCROLL_GO_ON); /* scroll last frame to full tile */ while (scroll_x != scroll_xx || scroll_y != scroll_yy)