X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_tools.c;h=8d77a8c01908e112897b24ca36803572bbe5992e;hb=2181d7515fcdeae73c7482c3e19cc6120279b556;hp=39bb24671273009ff21270cc47acb651e879e626;hpb=d9854779a9f8bfcf09cfab5905c257da10c61e5f;p=rocksndiamonds.git diff --git a/src/game_mm/mm_tools.c b/src/game_mm/mm_tools.c index 39bb2467..8d77a8c0 100644 --- a/src/game_mm/mm_tools.c +++ b/src/game_mm/mm_tools.c @@ -364,7 +364,24 @@ void DrawScreenField_MM(int x, int y) void DrawLevelField_MM(int x, int y) { - DrawScreenField_MM(x, y); + if (IN_SCR_FIELD(SCREENX(x), SCREENY(y))) + DrawScreenField_MM(SCREENX(x), SCREENY(y)); + else if (IS_MOVING(x, y)) + { + int newx,newy; + + Moving2Blocked(x, y, &newx, &newy); + if (IN_SCR_FIELD(SCREENX(newx), SCREENY(newy))) + DrawScreenField_MM(SCREENX(newx), SCREENY(newy)); + } + else if (IS_BLOCKED(x, y)) + { + int oldx, oldy; + + Blocked2Moving(x, y, &oldx, &oldy); + if (IN_SCR_FIELD(SCREENX(oldx), SCREENY(oldy))) + DrawScreenField_MM(SCREENX(oldx), SCREENY(oldy)); + } } void DrawMiniElement_MM(int x, int y, int element)