X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=c95d38db21226bdafbd60dff6d0d957d4d57081d;hb=b6659e15c47b5f66e7db42af93080dda213a9605;hp=671ac61de7551324c23e7c14ecf4d6dd8b83eb3d;hpb=e29c8fb313787ad2a768de58c5852d3ba29d43d5;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index 671ac61d..c95d38db 100644 --- a/src/editor.c +++ b/src/editor.c @@ -5859,6 +5859,22 @@ static void ReinitializeElementList_EnableSections(void) setup_editor_el_mirror_magic = FALSE; setup_editor_el_deflektor = FALSE; } + else if (level.game_engine_type == GAME_ENGINE_TYPE_BD) + { + setup_editor_el_emerald_mine = FALSE; + setup_editor_el_emerald_mine_club = FALSE; + setup_editor_el_more = FALSE; + setup_editor_el_sokoban = FALSE; + setup_editor_el_supaplex = FALSE; + setup_editor_el_diamond_caves = FALSE; + setup_editor_el_dx_boulderdash = FALSE; + setup_editor_el_mirror_magic = FALSE; + setup_editor_el_deflektor = FALSE; + setup_editor_el_chars = FALSE; + setup_editor_el_steel_chars = FALSE; + + setup_editor_el_custom = FALSE; + } else if (level.game_engine_type == GAME_ENGINE_TYPE_EM) { setup_editor_el_boulderdash = FALSE; @@ -7625,7 +7641,7 @@ static void MapGraphicbuttonGadget(int id) { int font_nr = FONT_TEXT_1; int font_height = getFontHeight(font_nr); - struct GadgetInfo *gi= level_editor_gadget[graphicbutton_info[id].gadget_id]; + struct GadgetInfo *gi = level_editor_gadget[graphicbutton_info[id].gadget_id]; int xoffset_left = getTextWidthForGadget(graphicbutton_info[id].text_left); int xoffset_right = ED_GADGET_TEXT_DISTANCE; int yoffset = (gi->height - font_height) / 2; @@ -10198,7 +10214,7 @@ static void DrawPropertiesConfig(void) num_element_counters); counterbutton_info[counter_id].value = elements_with_counter[i].value; - counterbutton_info[counter_id].text_right= elements_with_counter[i].text; + counterbutton_info[counter_id].text_right = elements_with_counter[i].text; if (properties_element == EL_GAME_OF_LIFE || properties_element == EL_BIOMAZE) @@ -12766,6 +12782,7 @@ static void CopyBrushExt(int from_x, int from_y, int to_x, int to_y, lev_fieldx = level.fieldx = brush_width; lev_fieldy = level.fieldy = brush_height; + boolean use_bd_engine = TRUE; boolean use_em_engine = TRUE; boolean use_sp_engine = TRUE; boolean use_mm_engine = TRUE; @@ -12776,6 +12793,9 @@ static void CopyBrushExt(int from_x, int from_y, int to_x, int to_y, { int element = Tile[x][y]; + if (!IS_BD_ELEMENT(element) && !IS_PLAYER_ELEMENT(element)) + use_bd_engine = FALSE; + if (!IS_EM_ELEMENT(element) && !IS_PLAYER_ELEMENT(element)) use_em_engine = FALSE; @@ -12787,7 +12807,8 @@ static void CopyBrushExt(int from_x, int from_y, int to_x, int to_y, } } - level.game_engine_type = (use_em_engine ? GAME_ENGINE_TYPE_EM : + level.game_engine_type = (use_bd_engine ? GAME_ENGINE_TYPE_BD : + use_em_engine ? GAME_ENGINE_TYPE_EM : use_sp_engine ? GAME_ENGINE_TYPE_SP : use_mm_engine ? GAME_ENGINE_TYPE_MM : GAME_ENGINE_TYPE_RND); @@ -14738,8 +14759,8 @@ static void HandleControlButtons(struct GadgetInfo *gi) for (i = 0; editor_elements_info[i].setup_value != NULL; i++) { - int *cascade_element= &(*editor_elements_info[i].headline_list)[0]; - boolean *cascade_value=editor_elements_info[i].setup_cascade_value; + int *cascade_element = &(*editor_elements_info[i].headline_list)[0]; + boolean *cascade_value = editor_elements_info[i].setup_cascade_value; if (*cascade_element == new_element) {