X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_tools.c;h=e037aac9cc838af2da1f0ecc7be98e3c16a92795;hb=400531ebc8e8874fd026b5486874d1f325ace5c3;hp=5c67bbe42b4b7b7e503111c2d43e329830832c40;hpb=0dd257541d5c299a35228d9eb6cfd85c14ca4a26;p=rocksndiamonds.git diff --git a/src/game_mm/mm_tools.c b/src/game_mm/mm_tools.c index 5c67bbe4..e037aac9 100644 --- a/src/game_mm/mm_tools.c +++ b/src/game_mm/mm_tools.c @@ -271,7 +271,7 @@ void DrawScreenElementExt_MM(int x, int y, int dx, int dy, int element, if (element == EL_PACMAN) { - graphic += 4 * !phase2; + graphic = (phase2 ? IMG_MM_PACMAN_RIGHT : IMG_MM_PACMAN_EATING_RIGHT); if (dir == MV_UP) graphic += 1; @@ -508,7 +508,8 @@ void DrawWallsAnimation_MM(int x, int y, int element, int phase, int bit_mask) frame = 0; } - getGraphicSource(graphic, frame, &bitmap, &src_x, &src_y); + getSizedGraphicSource(graphic, frame, MINI_TILESIZE, &bitmap, + &src_x, &src_y); BlitBitmap(bitmap, drawto, src_x, src_y, MINI_TILEX, MINI_TILEY, dst_x, dst_y); @@ -722,8 +723,25 @@ int get_rotated_element(int element, int step) return base_element + (element_phase + step + num_elements) % num_elements; } +static int map_element(int element) +{ + switch (element) + { + case EL_WALL_STEEL: return EL_STEEL_WALL; + case EL_WALL_WOOD: return EL_WOODEN_WALL; + case EL_WALL_ICE: return EL_ICE_WALL; + case EL_WALL_AMOEBA: return EL_AMOEBA_WALL; + case EL_DF_WALL_STEEL: return EL_DF_STEEL_WALL; + case EL_DF_WALL_WOOD: return EL_DF_WOODEN_WALL; + + default: return element; + } +} + int el2gfx(int element) { + element = map_element(element); + switch (element) { case EL_LIGHTBALL: