X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_game.c;h=c6256e46f6c31db01f5264fb4ccd20c9fc4d5ed6;hb=c8e2e1b872d216f1ed23bac5d446b5a14d5d60ad;hp=63d7690b72b232c420d817d5731eb8eb3508c073;hpb=3f122c168c929658a001b385be98ac613b41c7ec;p=rocksndiamonds.git diff --git a/src/game_mm/mm_game.c b/src/game_mm/mm_game.c index 63d7690b..c6256e46 100644 --- a/src/game_mm/mm_game.c +++ b/src/game_mm/mm_game.c @@ -2676,7 +2676,10 @@ static void Explode_MM(int x, int y, int phase, int mode) Store2[x][y] = mode; Tile[x][y] = EL_EXPLODING_OPAQUE; - GfxElement[x][y] = center_element; + + GfxElement[x][y] = (center_element == EL_BOMB_ACTIVE ? EL_BOMB : + IS_MCDUFFIN(center_element) ? EL_MCDUFFIN : + center_element); MovDir[x][y] = MovPos[x][y] = MovDelay[x][y] = 0; @@ -3493,7 +3496,11 @@ static void GameActions_MM_Ext(void) int new_element = native_mm_level.ball_content[element_pos]; - Store[ELX][ELY] = get_rotated_element(new_element, RND(16)); + // randomly rotate newly created game element, if needed + if (native_mm_level.rotate_ball_content) + new_element = get_rotated_element(new_element, RND(16)); + + Store[ELX][ELY] = new_element; Store2[ELX][ELY] = TRUE; }