X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_tools.c;h=6aeadd315726deeddbcd3f6776d78ab00be46d21;hb=a74e63d538386ee5de073a48fc2aea6b5ed2c5ce;hp=aa9c2a5d0aab5cbdeed125d1961bdd6b7d417cc7;hpb=96c47c30116d9306216622ae7f5e8f4583cc3dbc;p=rocksndiamonds.git diff --git a/src/game_mm/mm_tools.c b/src/game_mm/mm_tools.c index aa9c2a5d..6aeadd31 100644 --- a/src/game_mm/mm_tools.c +++ b/src/game_mm/mm_tools.c @@ -1149,6 +1149,8 @@ int get_base_element(int element) return EL_DF_MIRROR_AUTO_START; else if (IS_DF_MIRROR_FIXED(element)) return EL_DF_MIRROR_FIXED_START; + else if (IS_DF_SLOPE(element)) + return EL_DF_SLOPE_START; else if (IS_PACMAN(element)) return EL_PACMAN_START; else if (IS_GRID_STEEL(element)) @@ -1207,7 +1209,8 @@ int get_num_elements(int element) IS_RECEIVER(element) || IS_PACMAN(element) || IS_GRID_STEEL(element) || - IS_GRID_WOOD(element)) + IS_GRID_WOOD(element) || + IS_DF_SLOPE(element)) return 4; else return 1; @@ -1278,6 +1281,13 @@ static int getFlippedTileExt_MM(int element, int mode) (mode != MM_FLIP_XY && element_phase > 1)) element_phase ^= 1; } + else if (IS_DF_SLOPE(element)) + { + element_phase = (mode == MM_FLIP_X ? 5 - element_phase : + mode == MM_FLIP_Y ? 3 - element_phase : + mode == MM_FLIP_XY ? 4 - element_phase : + element_phase); + } else { int num_elements_flip = num_elements;