- // entries = bound(1, floor(CENTERPRINT_MAX_ENTRIES * 4 * panel_size_y/panel_size_x), CENTERPRINT_MAX_ENTRIES);
- // height = panel_size_y/entries;
- // fontsize = '1 1 0' * height;
- height = (is_bold) ? vid_conheight/50 * autocvar_hud_panel_centerprint_fontscale_bold : vid_conheight/50 * autocvar_hud_panel_centerprint_fontscale;
- fontsize = '1 1 0' * height;
- entries = bound(1, floor(panel_size.y/height), CENTERPRINT_MAX_ENTRIES);
+ // Show title if available
+ if(centerprint_title) {
+ vector fontsize = cp_fontsize * autocvar_hud_panel_centerprint_fontscale_title;
+ float width = stringwidth(centerprint_title, true, fontsize);
+
+ pos.x = panel_pos.x + (panel_size.x - width) * align;
+
+ if (autocvar_hud_panel_centerprint_flip)
+ pos.y -= fontsize.y;
+ if (centerprint_title_offset && align == 0.5)
+ pos.x += centerprint_title_offset * CENTERPRINT_BASE_SIZE * autocvar_hud_panel_centerprint_fontscale_title;
+
+ drawcolorcodedstring(pos, centerprint_title, fontsize, 1, DRAWFLAG_NORMAL);
+
+ if (autocvar_hud_panel_centerprint_flip)
+ pos.y -= cp_fontsize.y * CENTERPRINT_TITLE_SPACING;
+ else
+ pos.y += fontsize.y + (hud_fontsize.y * CENTERPRINT_TITLE_SPACING);
+
+ drawfill(pos, vec2(width, 1), '1 1 1', 1, DRAWFLAG_NORMAL);
+
+ if (autocvar_hud_panel_centerprint_flip)
+ pos.y -= cp_fontsize.y * CENTERPRINT_TITLE_SPACING;
+ else
+ pos.y += cp_fontsize.y * CENTERPRINT_TITLE_SPACING;