X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=34bcb2f9149665a85903828632a7414fb5f65712;hb=a17bb502b568bb4ab585b9aff45b571ac724d52e;hp=7566391988dbcdb635f32465cdab4ad98fe0afd2;hpb=d3dd98f09b15c0b3110acfc3c6abc36cc1007b05;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index 75663919..34bcb2f9 100644 --- a/src/editor.c +++ b/src/editor.c @@ -10602,30 +10602,10 @@ static void InitDrawingElements(void) if (level.game_engine_type == game_engine_type_last) return; - if (level.game_engine_type == GAME_ENGINE_TYPE_BD) - { - new_element1 = EL_BD_WALL; - new_element2 = EL_EMPTY; - new_element3 = EL_BD_SAND; - } - else if (level.game_engine_type == GAME_ENGINE_TYPE_SP) - { - new_element1 = EL_SP_CHIP_SINGLE; - new_element2 = EL_EMPTY; - new_element3 = EL_SP_BASE; - } - else if (level.game_engine_type == GAME_ENGINE_TYPE_MM) - { - new_element1 = EL_MM_MIRROR_START; - new_element2 = EL_EMPTY; - new_element3 = EL_MM_WOODEN_WALL; - } - else - { - new_element1 = EL_WALL; - new_element2 = EL_EMPTY; - new_element3 = EL_SAND; - } + // select drawing elements according to game engine type + new_element1 = getDrawingElement(EL_WALL); + new_element2 = getDrawingElement(EL_EMPTY); + new_element3 = getDrawingElement(EL_SAND); game_engine_type_last = level.game_engine_type; } @@ -12003,33 +11983,38 @@ static void DrawPropertiesInfo(void) ypos += 2 * MAX(font1_height, font2_height); - // ----- print standard properties of this element + // ----- print standard properties of this element (only for certain game engines) - DrawTextS(xpos, ypos, font1_nr, properties_text); + if (level.game_engine_type == GAME_ENGINE_TYPE_RND || + level.game_engine_type == GAME_ENGINE_TYPE_EM || + level.game_engine_type == GAME_ENGINE_TYPE_SP) + { + DrawTextS(xpos, ypos, font1_nr, properties_text); - ypos += line1_height; + ypos += line1_height; - for (i = 0; properties[i].value != -1; i++) - { - if (!HAS_PROPERTY(properties_element, properties[i].value)) - continue; + for (i = 0; properties[i].value != -1; i++) + { + if (!HAS_PROPERTY(properties_element, properties[i].value)) + continue; - DrawTextS(xpos, ypos, font2_nr, properties[i].text); + DrawTextS(xpos, ypos, font2_nr, properties[i].text); - ypos += font2_height; + ypos += font2_height; - num_standard_properties++; - } + num_standard_properties++; + } - if (num_standard_properties == 0) - { - DrawTextS(xpos + properties_text_len, ypos - line1_height + font2_yoffset, - font2_nr, none_text); + if (num_standard_properties == 0) + { + DrawTextS(xpos + properties_text_len, ypos - line1_height + font2_yoffset, + font2_nr, none_text); - ypos -= (line1_height - font1_height); - } + ypos -= (line1_height - font1_height); + } - ypos += MAX(font1_height, font2_height); + ypos += MAX(font1_height, font2_height); + } // ----- print special description of this element @@ -13093,9 +13078,18 @@ static void DrawEditorElementAnimation(int x, int y) int graphic; int frame; - getEditorGraphicAndFrame(properties_element, &graphic, &frame, FALSE); + if (IS_BD_RUNTIME_ELEMENT(properties_element)) + { + getEditorGraphicAndFrame(properties_element, &graphic, &frame, TRUE); - DrawFixedGraphicAnimationExt(drawto, x, y, graphic, frame, NO_MASKING); + DrawFixedGraphicExt(drawto, x, y, graphic, frame); + } + else + { + getEditorGraphicAndFrame(properties_element, &graphic, &frame, FALSE); + + DrawFixedGraphicAnimationExt(drawto, x, y, graphic, frame, NO_MASKING); + } } static void DrawEditorElementName(int x, int y, int font_nr)