BlitBitmap(drawto, window, x, y, width, height, x, y);
}
+void DrawMaskedBorder_Rect(int x, int y, int width, int height)
+{
+ Bitmap *bitmap = graphic_info[IMG_GLOBAL_BORDER].bitmap;
+
+ SetClipOrigin(bitmap, bitmap->stored_clip_gc, 0, 0);
+ BlitBitmapMasked(bitmap, backbuffer, x, y, width, height, x, y);
+}
+
void DrawMaskedBorder_FIELD()
{
if (game_status >= GAME_MODE_TITLE &&
game_status <= GAME_MODE_PLAYING &&
border.draw_masked[game_status])
- BlitBitmapMasked(graphic_info[IMG_GLOBAL_BORDER].bitmap, backbuffer,
- REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE,
- REAL_SX, REAL_SY);
+ DrawMaskedBorder_Rect(REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE);
}
void DrawMaskedBorder_DOOR_1()
if (border.draw_masked[GFX_SPECIAL_ARG_DOOR] &&
(game_status != GAME_MODE_EDITOR ||
border.draw_masked[GFX_SPECIAL_ARG_EDITOR]))
- BlitBitmapMasked(graphic_info[IMG_GLOBAL_BORDER].bitmap, backbuffer,
- DX, DY, DXSIZE, DYSIZE, DX, DY);
+ DrawMaskedBorder_Rect(DX, DY, DXSIZE, DYSIZE);
}
void DrawMaskedBorder_DOOR_2()
{
if (border.draw_masked[GFX_SPECIAL_ARG_DOOR] &&
game_status != GAME_MODE_EDITOR)
- BlitBitmapMasked(graphic_info[IMG_GLOBAL_BORDER].bitmap, backbuffer,
- VX, VY, VXSIZE, VYSIZE, VX, VY);
+ DrawMaskedBorder_Rect(VX, VY, VXSIZE, VYSIZE);
}
void DrawMaskedBorder_DOOR_3()
if (strlen(label_text) > 0)
{
+#if 1
+ int text_width = getTextWidth(label_text, font_nr);
+ int lxpos = SX + menu.main.text.level_info_2.x - text_width / 2;
+ int lypos = SY + menu.main.text.level_info_2.y;
+#else
int lxpos = SX + (SXSIZE - getTextWidth(label_text, font_nr)) / 2;
int lypos = MICROLABEL2_YPOS;
+#endif
DrawText(lxpos, lypos, label_text, font_nr);
}
if (strlen(label_text) > 0)
{
+#if 1
+ int text_width = getTextWidth(label_text, font_nr);
+ int lxpos = SX + menu.main.text.level_info_2.x - text_width / 2;
+ int lypos = SY + menu.main.text.level_info_2.y;
+#else
int lxpos = SX + (SXSIZE - getTextWidth(label_text, font_nr)) / 2;
int lypos = MICROLABEL2_YPOS;
+#endif
DrawText(lxpos, lypos, label_text, font_nr);
}
if (restart)
{
- from_x = from_y = 0;
+ from_x = preview.xoffset;
+ from_y = preview.yoffset;
scroll_direction = MV_RIGHT;
label_state = 1;
label_counter = 0;
char label_text[MAX_OUTPUT_LINESIZE + 1];
int font_nr = FONT_TEXT_1;
int max_len_label_text = SXSIZE / getFontWidth(font_nr);
+ int text_width;
int lxpos, lypos;
strncpy(label_text, leveldir_current->name, max_len_label_text);
label_text[max_len_label_text] = '\0';
+#if 1
+ text_width = getTextWidth(label_text, font_nr);
+ lxpos = SX + menu.main.text.level_info_1.x - text_width / 2;
+ lypos = SY + menu.main.text.level_info_1.y;
+#else
lxpos = SX + (SXSIZE - getTextWidth(label_text, font_nr)) / 2;
lypos = SY + MICROLABEL1_YPOS;
+#endif
DrawText(lxpos, lypos, label_text, font_nr);
}