X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_tools.c;h=59c59d25737982bc64883d8abb1a763626b8d693;hb=5d1d7972c0b10aabb014e3952c1cda475f2b31c4;hp=d4bb5d37553ae80e1c72032f91e2cfc5146f281a;hpb=f11f733c9a676d117a70ce117b4ecc3cfdb16be9;p=rocksndiamonds.git diff --git a/src/game_mm/mm_tools.c b/src/game_mm/mm_tools.c index d4bb5d37..59c59d25 100644 --- a/src/game_mm/mm_tools.c +++ b/src/game_mm/mm_tools.c @@ -524,6 +524,14 @@ void DrawElement_MM(int x, int y, int element) laser.fuse_x == x && laser.fuse_y == y) DrawGraphic_MM(x, y, IMG_MM_FUSE); + else if (element == EL_GRAY_BALL_ACTIVE) + DrawGraphic_MM(x, y, el_act2gfx(EL_GRAY_BALL, MM_ACTION_ACTIVE)); + else if (element == EL_GRAY_BALL_OPENING) + DrawGraphic_MM(x, y, el_act2gfx(EL_GRAY_BALL, MM_ACTION_OPENING)); + else if (element == EL_BOMB_ACTIVE) + DrawGraphic_MM(x, y, el_act2gfx(EL_BOMB, MM_ACTION_ACTIVE)); + else if (element == EL_MINE_ACTIVE) + DrawGraphic_MM(x, y, el_act2gfx(EL_MINE, MM_ACTION_ACTIVE)); else DrawGraphic_MM(x, y, el2gfx(element)); } @@ -1287,11 +1295,31 @@ static int map_element(int element) } } +int unmap_element(int element) +{ + switch (element) + { + case EL_STEEL_WALL: return EL_WALL_STEEL; + case EL_WOODEN_WALL: return EL_WALL_WOOD; + case EL_ICE_WALL: return EL_WALL_ICE; + case EL_AMOEBA_WALL: return EL_WALL_AMOEBA; + case EL_DF_STEEL_WALL: return EL_DF_WALL_STEEL; + case EL_DF_WOODEN_WALL: return EL_DF_WALL_WOOD; + + default: return element; + } +} + int el2gfx(int element) { return el2img_mm(map_element(element)); } +int el_act2gfx(int element, int action) +{ + return el_act2img_mm(map_element(element), action); +} + void RedrawPlayfield_MM(void) { DrawLevel_MM();