X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Feditor.c;h=6ca13b17aef7bc78edf0ed2b6b2e82401a947fdc;hp=2ac0b1fbe699580c05b627d6f2eca02fa1da7c06;hb=9afd3ebaca7211c2c7e10926ddaaf422c73486dc;hpb=27d994c87645e3849ad0384a73100f1a800ab3a5 diff --git a/src/editor.c b/src/editor.c index 2ac0b1fb..6ca13b17 100644 --- a/src/editor.c +++ b/src/editor.c @@ -1146,13 +1146,13 @@ static struct ValueTextInfo options_move_pattern[] = static struct ValueTextInfo options_move_direction[] = { - { MV_AUTOMATIC, "automatic" }, - { MV_LEFT, "left" }, - { MV_RIGHT, "right" }, - { MV_UP, "up" }, - { MV_DOWN, "down" }, - { MV_RANDOM, "random" }, - { MV_PREVIOUS, "previous" }, + { MV_START_AUTOMATIC, "automatic" }, + { MV_START_LEFT, "left" }, + { MV_START_RIGHT, "right" }, + { MV_START_UP, "up" }, + { MV_START_DOWN, "down" }, + { MV_START_RANDOM, "random" }, + { MV_START_PREVIOUS, "previous" }, { -1, NULL } }; @@ -6858,12 +6858,19 @@ static void DrawPropertiesWindow() static void UpdateCustomElementGraphicGadgets() { + int i; + ModifyEditorElementList(); RedrawDrawingElements(); - if (edit_mode == ED_MODE_PROPERTIES && - edit_mode_properties == ED_MODE_PROPERTIES_CHANGE) - DrawPropertiesChangeDrawingAreas(); + /* force redraw of all mapped drawing area gadgets */ + for (i = 0; i < ED_NUM_DRAWING_AREAS; i++) + { + struct GadgetInfo *gi = level_editor_gadget[drawingarea_info[i].gadget_id]; + + if (gi->mapped) + MapDrawingArea(i); + } } static void DrawLineElement(int sx, int sy, int element, boolean change_level) @@ -8049,6 +8056,17 @@ static void HandleCheckbuttons(struct GadgetInfo *gi) *checkbutton_info[type_id].value ^= TRUE; + if (((type_id >= ED_CHECKBUTTON_ID_CUSTOM1_FIRST && + type_id <= ED_CHECKBUTTON_ID_CUSTOM1_LAST) || + (type_id >= ED_CHECKBUTTON_ID_CUSTOM2_FIRST && + type_id <= ED_CHECKBUTTON_ID_CUSTOM2_LAST) || + (type_id >= ED_CHECKBUTTON_ID_CHANGE_FIRST && + type_id <= ED_CHECKBUTTON_ID_CHANGE_LAST)) && + type_id != ED_CHECKBUTTON_ID_CUSTOM_USE_TEMPLATE) + { + CopyElementPropertiesToGame(properties_element); + } + if (type_id == ED_CHECKBUTTON_ID_CUSTOM_USE_GRAPHIC) { UpdateCustomElementGraphicGadgets(); @@ -8071,15 +8089,6 @@ static void HandleCheckbuttons(struct GadgetInfo *gi) DrawEditModeWindow(); } - else if ((type_id >= ED_CHECKBUTTON_ID_CUSTOM1_FIRST && - type_id <= ED_CHECKBUTTON_ID_CUSTOM1_LAST) || - (type_id >= ED_CHECKBUTTON_ID_CUSTOM2_FIRST && - type_id <= ED_CHECKBUTTON_ID_CUSTOM2_LAST) || - (type_id >= ED_CHECKBUTTON_ID_CHANGE_FIRST && - type_id <= ED_CHECKBUTTON_ID_CHANGE_LAST)) - { - CopyElementPropertiesToGame(properties_element); - } } static void HandleControlButtons(struct GadgetInfo *gi)