redraw_mask |= REDRAW_FIELD;
}
-static void DrawPreviewLevelPlayfieldExt(int from_x, int from_y)
+static void DrawPreviewLevelPlayfield(int from_x, int from_y)
{
boolean show_level_border = (BorderElement != EL_EMPTY);
int level_xsize = lev_fieldx + (show_level_border ? 2 : 0);
return max_text_width / font_width;
}
-static void DrawPreviewLevelLabelExt(int mode)
+static void DrawPreviewLevelLabelExt(int mode, struct TextPosInfo *pos)
{
- struct TextPosInfo *pos = &menu.main.text.level_info_2;
char label_text[MAX_OUTPUT_LINESIZE + 1];
int max_len_label_text;
int font_nr = pos->font;
redraw_mask |= REDRAW_FIELD;
}
+static void DrawPreviewLevelLabel(int mode)
+{
+ DrawPreviewLevelLabelExt(mode, &menu.main.text.level_info_2);
+}
+
+static void DrawPreviewLevelInfo(int mode)
+{
+ if (mode == MICROLABEL_LEVEL_NAME)
+ DrawPreviewLevelLabelExt(mode, &menu.main.text.level_name);
+ else if (mode == MICROLABEL_LEVEL_AUTHOR)
+ DrawPreviewLevelLabelExt(mode, &menu.main.text.level_author);
+}
+
static void DrawPreviewLevelExt(boolean restart)
{
static unsigned int scroll_delay = 0;
label_state = 1;
label_counter = 0;
- DrawPreviewLevelPlayfieldExt(from_x, from_y);
- DrawPreviewLevelLabelExt(label_state);
+ DrawPreviewLevelPlayfield(from_x, from_y);
+ DrawPreviewLevelLabel(label_state);
+
+ DrawPreviewLevelInfo(MICROLABEL_LEVEL_NAME);
+ DrawPreviewLevelInfo(MICROLABEL_LEVEL_AUTHOR);
/* initialize delay counters */
DelayReached(&scroll_delay, 0);
break;
}
- DrawPreviewLevelPlayfieldExt(from_x, from_y);
+ DrawPreviewLevelPlayfield(from_x, from_y);
}
/* !!! THIS ALL SUCKS -- SHOULD BE CLEANLY REWRITTEN !!! */
label_state = (label_state == MICROLABEL_IMPORTED_FROM_HEAD ?
MICROLABEL_IMPORTED_BY_HEAD : MICROLABEL_IMPORTED_BY);
- DrawPreviewLevelLabelExt(label_state);
+ DrawPreviewLevelLabel(label_state);
}
}
{
Event event;
- NextEvent(&event);
+ WaitEvent(&event);
switch (event.type)
{