X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_game.c;h=1ef6339e826957c521ef5d79efc81935cbd8ebba;hb=ba3aeb20c00b33e4d513cb8f8bdc466bad553820;hp=d4838873c978d51a4958a657ed11b76656315572;hpb=96f2e9a0b1306fa108f3f7e81ad8b8d323ca5517;p=rocksndiamonds.git diff --git a/src/game_mm/mm_game.c b/src/game_mm/mm_game.c index d4838873..1ef6339e 100644 --- a/src/game_mm/mm_game.c +++ b/src/game_mm/mm_game.c @@ -537,7 +537,6 @@ static void InitCycleElements_RotateSingleStep(void) Tile[x][y] = next_element; - DrawField_MM(x, y); game_mm.cycle[i].steps -= step; } } @@ -691,6 +690,11 @@ void InitGameActions_MM(void) cycle_steps_done++; } + AdvanceFrameCounter(); + AdvanceGfxFrame(); + + DrawLevel_MM(); + BackToFront(); ColorCycling(); @@ -2398,6 +2402,16 @@ static void GrowAmoeba(int x, int y) } } +static void DrawFieldAnimated_MM(int x, int y) +{ + if (IS_BLOCKED(x, y)) + return; + + DrawField_MM(x, y); + + laser.redraw = TRUE; +} + static void Explode_MM(int x, int y, int phase, int mode) { int num_phase = 9, delay = 2; @@ -3084,6 +3098,8 @@ static void GameActions_MM_Ext(void) MeltIce(x, y); else if (IS_WALL_CHANGING(element) && Store[x][y] == EL_WALL_AMOEBA) GrowAmoeba(x, y); + else + DrawFieldAnimated_MM(x, y); } AutoRotateMirrors();