X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=367a86a4e38ed0663bc41a4ad40075ff393e0880;hb=cd8ffa5913dbad16024c5cf4232610c69dc7fac4;hp=8ac2616131b19c07bf66ea9e47abaec49a95bb8a;hpb=1e23125074b86c5eb1254037a81a3e9062152b7f;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 8ac26161..367a86a4 100644 --- a/src/game.c +++ b/src/game.c @@ -2032,6 +2032,9 @@ static void InitField(int x, int y, boolean init_game) { GfxElementEmpty[x][y] = element; Tile[x][y] = EL_EMPTY; + + if (element_info[element].use_gfx_element) + game.use_masked_elements = TRUE; } break; @@ -8417,6 +8420,9 @@ static void StartMoving(int x, int y) GfxDir[x][y] = diagonal_move_dir; ChangeDelay[x][y] = change_delay; + if (Store[x][y] == EL_EMPTY) + Store[x][y] = GfxElementEmpty[x][y]; + graphic = el_act_dir2img(GfxElement[x][y], GfxAction[x][y], GfxDir[x][y]); @@ -12296,6 +12302,9 @@ void GameActions_RND(void) graphic = el_act_dir2img(element, GfxAction[x][y], GfxDir[x][y]); last_gfx_frame = GfxFrame[x][y]; + if (element == EL_EMPTY) + graphic = el2img(GfxElementEmpty[x][y]); + ResetGfxFrame(x, y); if (GfxFrame[x][y] != last_gfx_frame && !Stop[x][y])