X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Feditor.c;h=f99794b2dd5a37179f7be944b22517ace8977b5f;hp=9184cc7cd62f4b9a2721ec3d290a07cc79210158;hb=40aa8a64f516da6baf703b44d141b37c291553df;hpb=4d6ea47cc83d553df014ff38a69f45a9f5ac41fa diff --git a/src/editor.c b/src/editor.c index 9184cc7c..f99794b2 100644 --- a/src/editor.c +++ b/src/editor.c @@ -3749,7 +3749,6 @@ static void AdjustElementListScrollbar(); static void RedrawDrawingElements(); static void DrawDrawingWindowExt(boolean); static void DrawDrawingWindow(); -static void DrawDrawingWindow_PlayfieldOnly(); static void DrawLevelInfoWindow(); static void DrawPropertiesWindow(); static void DrawPaletteWindow(); @@ -3874,12 +3873,12 @@ static int editor_el_emerald_mine[] = EL_NUT, EL_BOMB, - EL_WALL_EMERALD, - EL_WALL_DIAMOND, - EL_DYNAMITE, - EL_DYNAMITE_ACTIVE, + EL_EM_DYNAMITE, + EL_EM_DYNAMITE_ACTIVE, + EL_EM_EXIT_CLOSED, + EL_EM_EXIT_OPEN, - EL_YAMYAM, + EL_YAMYAM_UP, EL_BUG_UP, EL_SPACESHIP_UP, EL_ROBOT, @@ -3918,11 +3917,6 @@ static int editor_el_emerald_mine[] = EL_EM_GATE_2_GRAY, EL_EM_GATE_3_GRAY, EL_EM_GATE_4_GRAY, - - EL_EM_EXIT_CLOSED, - EL_EM_EXIT_OPEN, - EL_EM_STEEL_EXIT_CLOSED, - EL_EM_STEEL_EXIT_OPEN, }; static int *editor_hl_emerald_mine_ptr = editor_hl_emerald_mine; static int *editor_el_emerald_mine_ptr = editor_el_emerald_mine; @@ -3996,8 +3990,8 @@ static int editor_el_emerald_mine_club[] = EL_EMC_LENSES, EL_EMC_MAGNIFIER, - EL_EM_DYNAMITE, - EL_EM_DYNAMITE_ACTIVE, + EL_EMPTY, + EL_EMPTY, EL_BALLOON, EL_YAMYAM_UP, @@ -4029,6 +4023,11 @@ static int editor_hl_rnd[] = static int editor_el_rnd[] = { + EL_DYNAMITE, /* RND */ + EL_DYNAMITE_ACTIVE, /* RND */ + EL_EMPTY, + EL_EMPTY, + EL_KEY_1, EL_KEY_2, EL_KEY_3, @@ -4072,7 +4071,7 @@ static int editor_el_rnd[] = EL_PACMAN_LEFT, EL_DARK_YAMYAM, EL_PACMAN_RIGHT, - EL_EMPTY, + EL_YAMYAM, /* RND */ EL_BLACK_ORB, EL_PACMAN_DOWN, @@ -4219,6 +4218,11 @@ static int editor_hl_diamond_caves[] = static int editor_el_diamond_caves[] = { + EL_EM_STEEL_EXIT_CLOSED, /* DC2 */ + EL_EM_STEEL_EXIT_OPEN, /* DC2 */ + EL_WALL_EMERALD, /* DC2 */ + EL_WALL_DIAMOND, /* DC2 */ + EL_PEARL, EL_CRYSTAL, EL_WALL_PEARL, @@ -4418,8 +4422,8 @@ static int editor_el_mirror_magic[] = EL_MM_MIRROR_START, EL_MM_MIRROR_FIXED_START, - EL_MM_POLARISATOR_START, - EL_MM_POLARISATOR_CROSS_START, + EL_MM_POLARIZER_START, + EL_MM_POLARIZER_CROSS_START, EL_MM_BEAMER_RED_START, EL_MM_BEAMER_YELLOW_START, @@ -7559,10 +7563,13 @@ static void ResetUndoBuffer() level.changed = FALSE; } -static void DrawEditModeWindow() +static void DrawEditModeWindowExt(boolean remap_toolbox_gadgets) { - ModifyEditorElementList(); - RedrawDrawingElements(); + if (remap_toolbox_gadgets) + { + ModifyEditorElementList(); + RedrawDrawingElements(); + } if (edit_mode == ED_MODE_INFO) DrawLevelInfoWindow(); @@ -7571,7 +7578,17 @@ static void DrawEditModeWindow() else if (edit_mode == ED_MODE_PALETTE) DrawPaletteWindow(); else /* edit_mode == ED_MODE_DRAWING */ - DrawDrawingWindow(); + DrawDrawingWindowExt(remap_toolbox_gadgets); +} + +static void DrawEditModeWindow() +{ + DrawEditModeWindowExt(TRUE); +} + +static void DrawEditModeWindow_PlayfieldOnly() +{ + DrawEditModeWindowExt(FALSE); } static void ChangeEditModeWindow(int new_edit_mode) @@ -8302,7 +8319,9 @@ static int getMaxEdFieldY(boolean has_scrollbar) void InitZoomLevelSettings(int zoom_tilesize) { - if (zoom_tilesize == -1) + static int last_game_engine_type = GAME_ENGINE_TYPE_UNKNOWN; + + if (zoom_tilesize == -1 && level.game_engine_type != last_game_engine_type) { ed_tilesize = setup.auto_setup.editor_zoom_tilesize; ed_tilesize_default = DEFAULT_EDITOR_TILESIZE; @@ -8314,6 +8333,8 @@ void InitZoomLevelSettings(int zoom_tilesize) } } + last_game_engine_type = level.game_engine_type; + // limit zoom tilesize by upper and lower bound ed_tilesize = MIN(MAX(MICRO_TILESIZE, ed_tilesize), TILESIZE); @@ -8496,7 +8517,7 @@ void DrawLevelEd() UnmapAllGadgets(); - DrawDrawingWindow_PlayfieldOnly(); + DrawEditModeWindow_PlayfieldOnly(); DrawMaskedBorder(fade_mask); @@ -8843,11 +8864,6 @@ static void DrawDrawingWindow() DrawDrawingWindowExt(TRUE); } -static void DrawDrawingWindow_PlayfieldOnly() -{ - DrawDrawingWindowExt(FALSE); -} - static int getTabulatorBarWidth() { struct GadgetInfo *gd_gi1 = level_editor_gadget[GADGET_ID_PROPERTIES_INFO]; @@ -11185,10 +11201,10 @@ static void SetElementIntelliDraw(int x, int y, int new_element, EL_MM_WOODEN_GRID_FIXED_3 }, { - EL_MM_POLARISATOR_CROSS_1, - EL_MM_POLARISATOR_CROSS_4, - EL_MM_POLARISATOR_CROSS_3, - EL_MM_POLARISATOR_CROSS_2 + EL_MM_POLARIZER_CROSS_1, + EL_MM_POLARIZER_CROSS_4, + EL_MM_POLARIZER_CROSS_3, + EL_MM_POLARIZER_CROSS_2 }, { EL_MM_PACMAN_UP, @@ -11371,22 +11387,22 @@ static void SetElementIntelliDraw(int x, int y, int new_element, EL_MM_BEAMER_BLUE_6 }, { - EL_MM_POLARISATOR_1, - EL_MM_POLARISATOR_16, - EL_MM_POLARISATOR_15, - EL_MM_POLARISATOR_14, - EL_MM_POLARISATOR_13, - EL_MM_POLARISATOR_12, - EL_MM_POLARISATOR_11, - EL_MM_POLARISATOR_10, - EL_MM_POLARISATOR_9, - EL_MM_POLARISATOR_8, - EL_MM_POLARISATOR_7, - EL_MM_POLARISATOR_6, - EL_MM_POLARISATOR_5, - EL_MM_POLARISATOR_4, - EL_MM_POLARISATOR_3, - EL_MM_POLARISATOR_2 + EL_MM_POLARIZER_1, + EL_MM_POLARIZER_16, + EL_MM_POLARIZER_15, + EL_MM_POLARIZER_14, + EL_MM_POLARIZER_13, + EL_MM_POLARIZER_12, + EL_MM_POLARIZER_11, + EL_MM_POLARIZER_10, + EL_MM_POLARIZER_9, + EL_MM_POLARIZER_8, + EL_MM_POLARIZER_7, + EL_MM_POLARIZER_6, + EL_MM_POLARIZER_5, + EL_MM_POLARIZER_4, + EL_MM_POLARIZER_3, + EL_MM_POLARIZER_2 }, { EL_DF_MIRROR_1,