X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=fbfb601af898908d12a8b5d1f2ee7ae255e7c5e5;hb=7f33353a6e8ce4dc9a3b7a604a4c7deb836544f7;hp=541787c052976539b76023aa02290eacc1f284fd;hpb=5c1d81a8afcb2e409e4d207bbc2cb2853e5e3b49;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index 541787c0..fbfb601a 100644 --- a/src/tools.c +++ b/src/tools.c @@ -4248,6 +4248,9 @@ static void DrawPlayerExt(struct PlayerInfo *player, int drawing_stage) if (!player->is_pushing || !player->is_moving) return; + if (Tile[next_jx][next_jy] == EL_EXPLOSION) + return; + int gfx_frame = GfxFrame[jx][jy]; if (!IS_MOVING(jx, jy)) // push movement already finished @@ -4269,13 +4272,9 @@ static void DrawPlayerExt(struct PlayerInfo *player, int drawing_stage) DrawLevelElement(jx, jy, Back[jx][jy]); else DrawLevelElement(jx, jy, EL_EMPTY); - - if (Back[next_jx][next_jy]) - DrawLevelElement(next_jx, next_jy, Back[next_jx][next_jy]); - else - DrawLevelElement(next_jx, next_jy, EL_EMPTY); } - else if (Back[next_jx][next_jy]) + + if (Back[next_jx][next_jy]) DrawLevelElement(next_jx, next_jy, Back[next_jx][next_jy]); else DrawLevelElement(next_jx, next_jy, EL_EMPTY);