static void RedrawDrawingElements();
static void DrawDrawingWindowExt(boolean);
static void DrawDrawingWindow();
-static void DrawDrawingWindow_PlayfieldOnly();
static void DrawLevelInfoWindow();
static void DrawPropertiesWindow();
static void DrawPaletteWindow();
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,
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;
EL_EMC_LENSES,
EL_EMC_MAGNIFIER,
- EL_EM_DYNAMITE,
- EL_EM_DYNAMITE_ACTIVE,
+ EL_EMPTY,
+ EL_EMPTY,
EL_BALLOON,
EL_YAMYAM_UP,
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,
EL_PACMAN_LEFT,
EL_DARK_YAMYAM,
EL_PACMAN_RIGHT,
- EL_EMPTY,
+ EL_YAMYAM, /* RND */
EL_BLACK_ORB,
EL_PACMAN_DOWN,
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,
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,
- EL_MM_BEAMER_GREEN_START,
- EL_MM_BEAMER_BLUE_START,
+ EL_MM_TELEPORTER_RED_START,
+ EL_MM_TELEPORTER_YELLOW_START,
+ EL_MM_TELEPORTER_GREEN_START,
+ EL_MM_TELEPORTER_BLUE_START,
EL_MM_PRISM,
EL_MM_FUSE_ACTIVE,
gi = CreateGadget(GDI_CUSTOM_ID, id,
GDI_CUSTOM_TYPE_ID, i,
+ GDI_IMAGE_ID, graphic,
GDI_INFO_TEXT, controlbutton_info[i].infotext,
GDI_X, x,
GDI_Y, y,
gi = CreateGadget(GDI_CUSTOM_ID, id,
GDI_CUSTOM_TYPE_ID, i,
+ GDI_IMAGE_ID, graphic,
GDI_INFO_TEXT, scrollbutton_info[i].infotext,
GDI_X, x,
GDI_Y, y,
gi = CreateGadget(GDI_CUSTOM_ID, id,
GDI_CUSTOM_TYPE_ID, i,
+ GDI_IMAGE_ID, graphic,
GDI_INFO_TEXT, getElementInfoText(element),
GDI_X, x,
GDI_Y, y,
gi = CreateGadget(GDI_CUSTOM_ID, id,
GDI_CUSTOM_TYPE_ID, i,
+ GDI_IMAGE_ID, graphic,
GDI_INFO_TEXT, infotext,
GDI_X, x,
GDI_Y, y,
gi = CreateGadget(GDI_CUSTOM_ID, id,
GDI_CUSTOM_TYPE_ID, i,
+ GDI_IMAGE_ID, graphic,
GDI_INFO_TEXT, "enter counter value",
GDI_X, x,
GDI_Y, y,
gi = CreateGadget(GDI_CUSTOM_ID, id,
GDI_CUSTOM_TYPE_ID, i,
+ GDI_IMAGE_ID, graphic,
GDI_INFO_TEXT, infotext,
GDI_X, x,
GDI_Y, y,
int id = graphicbutton_info[i].gadget_id;
int x = SX + ED_SETTINGS_X(graphicbutton_info[i].x);
int y = SY + ED_SETTINGS_Y(graphicbutton_info[i].y);
- struct GraphicInfo *gd = &graphic_info[graphicbutton_info[i].graphic];
+ int graphic = graphicbutton_info[i].graphic;
+ struct GraphicInfo *gd = &graphic_info[graphic];
int gd_x1 = gd->src_x;
int gd_y1 = gd->src_y;
int gd_x2 = gd->src_x + gd->pressed_xoffset;
gi = CreateGadget(GDI_CUSTOM_ID, id,
GDI_CUSTOM_TYPE_ID, i,
+ GDI_IMAGE_ID, graphic,
GDI_INFO_TEXT, graphicbutton_info[i].infotext,
GDI_X, x,
GDI_Y, y,
gi = CreateGadget(GDI_CUSTOM_ID, id,
GDI_CUSTOM_TYPE_ID, i,
+ GDI_IMAGE_ID, graphic,
GDI_INFO_TEXT, scrollbar_info[i].infotext,
GDI_X, scrollbar_pos[i].x,
GDI_Y, scrollbar_pos[i].y,
gi = CreateGadget(GDI_CUSTOM_ID, id,
GDI_CUSTOM_TYPE_ID, i,
+ GDI_IMAGE_ID, graphic,
GDI_INFO_TEXT, checkbutton_info[i].infotext,
GDI_X, x,
GDI_Y, y,
static void CreateRadiobuttonGadgets()
{
- struct GraphicInfo *gd = &graphic_info[IMG_EDITOR_RADIOBUTTON];
+ int graphic = IMG_EDITOR_RADIOBUTTON;
+ struct GraphicInfo *gd = &graphic_info[graphic];
int gd_x1 = gd->src_x;
int gd_y1 = gd->src_y;
int gd_x2 = gd->src_x + gd->pressed_xoffset;
gi = CreateGadget(GDI_CUSTOM_ID, id,
GDI_CUSTOM_TYPE_ID, i,
+ GDI_IMAGE_ID, graphic,
GDI_INFO_TEXT, radiobutton_info[i].infotext,
GDI_X, x,
GDI_Y, y,
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();
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)
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;
}
}
+ 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);
UnmapAllGadgets();
- DrawDrawingWindow_PlayfieldOnly();
+ DrawEditModeWindow_PlayfieldOnly();
DrawMaskedBorder(fade_mask);
DrawDrawingWindowExt(TRUE);
}
-static void DrawDrawingWindow_PlayfieldOnly()
-{
- DrawDrawingWindowExt(FALSE);
-}
-
static int getTabulatorBarWidth()
{
struct GadgetInfo *gd_gi1 = level_editor_gadget[GADGET_ID_PROPERTIES_INFO];
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,
EL_MM_MIRROR_2
},
{
- EL_MM_BEAMER_5,
- EL_MM_BEAMER_4,
- EL_MM_BEAMER_3,
- EL_MM_BEAMER_2,
- EL_MM_BEAMER_1,
- EL_MM_BEAMER_16,
- EL_MM_BEAMER_15,
- EL_MM_BEAMER_14,
- EL_MM_BEAMER_13,
- EL_MM_BEAMER_12,
- EL_MM_BEAMER_11,
- EL_MM_BEAMER_10,
- EL_MM_BEAMER_9,
- EL_MM_BEAMER_8,
- EL_MM_BEAMER_7,
- EL_MM_BEAMER_6
+ EL_MM_TELEPORTER_5,
+ EL_MM_TELEPORTER_4,
+ EL_MM_TELEPORTER_3,
+ EL_MM_TELEPORTER_2,
+ EL_MM_TELEPORTER_1,
+ EL_MM_TELEPORTER_16,
+ EL_MM_TELEPORTER_15,
+ EL_MM_TELEPORTER_14,
+ EL_MM_TELEPORTER_13,
+ EL_MM_TELEPORTER_12,
+ EL_MM_TELEPORTER_11,
+ EL_MM_TELEPORTER_10,
+ EL_MM_TELEPORTER_9,
+ EL_MM_TELEPORTER_8,
+ EL_MM_TELEPORTER_7,
+ EL_MM_TELEPORTER_6
},
{
- EL_MM_BEAMER_RED_5,
- EL_MM_BEAMER_RED_4,
- EL_MM_BEAMER_RED_3,
- EL_MM_BEAMER_RED_2,
- EL_MM_BEAMER_RED_1,
- EL_MM_BEAMER_RED_16,
- EL_MM_BEAMER_RED_15,
- EL_MM_BEAMER_RED_14,
- EL_MM_BEAMER_RED_13,
- EL_MM_BEAMER_RED_12,
- EL_MM_BEAMER_RED_11,
- EL_MM_BEAMER_RED_10,
- EL_MM_BEAMER_RED_9,
- EL_MM_BEAMER_RED_8,
- EL_MM_BEAMER_RED_7,
- EL_MM_BEAMER_RED_6
+ EL_MM_TELEPORTER_RED_5,
+ EL_MM_TELEPORTER_RED_4,
+ EL_MM_TELEPORTER_RED_3,
+ EL_MM_TELEPORTER_RED_2,
+ EL_MM_TELEPORTER_RED_1,
+ EL_MM_TELEPORTER_RED_16,
+ EL_MM_TELEPORTER_RED_15,
+ EL_MM_TELEPORTER_RED_14,
+ EL_MM_TELEPORTER_RED_13,
+ EL_MM_TELEPORTER_RED_12,
+ EL_MM_TELEPORTER_RED_11,
+ EL_MM_TELEPORTER_RED_10,
+ EL_MM_TELEPORTER_RED_9,
+ EL_MM_TELEPORTER_RED_8,
+ EL_MM_TELEPORTER_RED_7,
+ EL_MM_TELEPORTER_RED_6
},
{
- EL_MM_BEAMER_YELLOW_5,
- EL_MM_BEAMER_YELLOW_4,
- EL_MM_BEAMER_YELLOW_3,
- EL_MM_BEAMER_YELLOW_2,
- EL_MM_BEAMER_YELLOW_1,
- EL_MM_BEAMER_YELLOW_16,
- EL_MM_BEAMER_YELLOW_15,
- EL_MM_BEAMER_YELLOW_14,
- EL_MM_BEAMER_YELLOW_13,
- EL_MM_BEAMER_YELLOW_12,
- EL_MM_BEAMER_YELLOW_11,
- EL_MM_BEAMER_YELLOW_10,
- EL_MM_BEAMER_YELLOW_9,
- EL_MM_BEAMER_YELLOW_8,
- EL_MM_BEAMER_YELLOW_7,
- EL_MM_BEAMER_YELLOW_6
+ EL_MM_TELEPORTER_YELLOW_5,
+ EL_MM_TELEPORTER_YELLOW_4,
+ EL_MM_TELEPORTER_YELLOW_3,
+ EL_MM_TELEPORTER_YELLOW_2,
+ EL_MM_TELEPORTER_YELLOW_1,
+ EL_MM_TELEPORTER_YELLOW_16,
+ EL_MM_TELEPORTER_YELLOW_15,
+ EL_MM_TELEPORTER_YELLOW_14,
+ EL_MM_TELEPORTER_YELLOW_13,
+ EL_MM_TELEPORTER_YELLOW_12,
+ EL_MM_TELEPORTER_YELLOW_11,
+ EL_MM_TELEPORTER_YELLOW_10,
+ EL_MM_TELEPORTER_YELLOW_9,
+ EL_MM_TELEPORTER_YELLOW_8,
+ EL_MM_TELEPORTER_YELLOW_7,
+ EL_MM_TELEPORTER_YELLOW_6
},
{
- EL_MM_BEAMER_GREEN_5,
- EL_MM_BEAMER_GREEN_4,
- EL_MM_BEAMER_GREEN_3,
- EL_MM_BEAMER_GREEN_2,
- EL_MM_BEAMER_GREEN_1,
- EL_MM_BEAMER_GREEN_16,
- EL_MM_BEAMER_GREEN_15,
- EL_MM_BEAMER_GREEN_14,
- EL_MM_BEAMER_GREEN_13,
- EL_MM_BEAMER_GREEN_12,
- EL_MM_BEAMER_GREEN_11,
- EL_MM_BEAMER_GREEN_10,
- EL_MM_BEAMER_GREEN_9,
- EL_MM_BEAMER_GREEN_8,
- EL_MM_BEAMER_GREEN_7,
- EL_MM_BEAMER_GREEN_6
+ EL_MM_TELEPORTER_GREEN_5,
+ EL_MM_TELEPORTER_GREEN_4,
+ EL_MM_TELEPORTER_GREEN_3,
+ EL_MM_TELEPORTER_GREEN_2,
+ EL_MM_TELEPORTER_GREEN_1,
+ EL_MM_TELEPORTER_GREEN_16,
+ EL_MM_TELEPORTER_GREEN_15,
+ EL_MM_TELEPORTER_GREEN_14,
+ EL_MM_TELEPORTER_GREEN_13,
+ EL_MM_TELEPORTER_GREEN_12,
+ EL_MM_TELEPORTER_GREEN_11,
+ EL_MM_TELEPORTER_GREEN_10,
+ EL_MM_TELEPORTER_GREEN_9,
+ EL_MM_TELEPORTER_GREEN_8,
+ EL_MM_TELEPORTER_GREEN_7,
+ EL_MM_TELEPORTER_GREEN_6
},
{
- EL_MM_BEAMER_BLUE_5,
- EL_MM_BEAMER_BLUE_4,
- EL_MM_BEAMER_BLUE_3,
- EL_MM_BEAMER_BLUE_2,
- EL_MM_BEAMER_BLUE_1,
- EL_MM_BEAMER_BLUE_16,
- EL_MM_BEAMER_BLUE_15,
- EL_MM_BEAMER_BLUE_14,
- EL_MM_BEAMER_BLUE_13,
- EL_MM_BEAMER_BLUE_12,
- EL_MM_BEAMER_BLUE_11,
- EL_MM_BEAMER_BLUE_10,
- EL_MM_BEAMER_BLUE_9,
- EL_MM_BEAMER_BLUE_8,
- EL_MM_BEAMER_BLUE_7,
- EL_MM_BEAMER_BLUE_6
+ EL_MM_TELEPORTER_BLUE_5,
+ EL_MM_TELEPORTER_BLUE_4,
+ EL_MM_TELEPORTER_BLUE_3,
+ EL_MM_TELEPORTER_BLUE_2,
+ EL_MM_TELEPORTER_BLUE_1,
+ EL_MM_TELEPORTER_BLUE_16,
+ EL_MM_TELEPORTER_BLUE_15,
+ EL_MM_TELEPORTER_BLUE_14,
+ EL_MM_TELEPORTER_BLUE_13,
+ EL_MM_TELEPORTER_BLUE_12,
+ EL_MM_TELEPORTER_BLUE_11,
+ EL_MM_TELEPORTER_BLUE_10,
+ EL_MM_TELEPORTER_BLUE_9,
+ EL_MM_TELEPORTER_BLUE_8,
+ EL_MM_TELEPORTER_BLUE_7,
+ EL_MM_TELEPORTER_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,