X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=7566391988dbcdb635f32465cdab4ad98fe0afd2;hb=54bde2d76b7a652fa2afd7b99bd8dbe6c5bb5112;hp=cea409513013fdb6a051fa5ec5e87389ba160637;hpb=e23b36169cfbf393cfecc7d19257e338a915a232;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index cea40951..75663919 100644 --- a/src/editor.c +++ b/src/editor.c @@ -11452,13 +11452,13 @@ void SetDefaultLevelColors_BD(void) bd_color_default[i] = *bd_color[i]; } -static void SetRandomLevelColors_BD(void) +void SetRandomLevelColors_BD(int bd_color_type) { struct LevelInfo_BD *level_bd = level.native_bd_level; GdCave *cave = level_bd->cave; // create random cave colors - gd_cave_set_random_colors(cave, level.bd_color_type); + gd_cave_set_random_colors(cave, bd_color_type); // copy colors to level editor level.bd_color_b = cave->colorb; @@ -11514,7 +11514,7 @@ static void DrawEngineConfigColors(void) else { // color type switched to different color type as default colors => use random colors - SetRandomLevelColors_BD(); + SetRandomLevelColors_BD(level.bd_color_type); } } @@ -11573,6 +11573,11 @@ static void DrawLevelConfigWindow(void) stick_element_properties_window = FALSE; + // make sure that previous level config edit mode exists for this level + if (edit_mode_levelconfig == ED_MODE_LEVELCONFIG_ENGINE && + level.game_engine_type != GAME_ENGINE_TYPE_BD) + edit_mode_levelconfig = ED_MODE_LEVELCONFIG_LEVEL; + SetAutomaticNumberOfGemsNeeded(); UnmapLevelEditorFieldGadgets(); @@ -16636,7 +16641,7 @@ static void HandleTextbuttonGadgets(struct GadgetInfo *gi) } else if (type_id == ED_TEXTBUTTON_ID_BD_SET_RANDOM_COLORS) { - SetRandomLevelColors_BD(); + SetRandomLevelColors_BD(level.bd_color_type); // update BD color palette gadgets after setting random colors DrawLevelConfigWindow();