else
{
draw_reset_cropped();
- if (!mouseButtonsPressed && key >= K_MOUSE1 && key <= K_MOUSE3) main.mousePress(main, menuMousePos);
+ if (!mouseButtonsPressed && key >= K_MOUSE1 && key <= K_MOUSE3)
+ main.mousePress(main, menuMousePos);
if (!main.keyDown(main, key, ascii, menuShiftState))
{
// disable menu on unhandled ESC
int i = 0;
float w = 0;
- for (getWrappedLine_remaining = menuTooltipText; getWrappedLine_remaining; ++i)
+ for (getWrappedLine_remaining = menuTooltipText; getWrappedLine_remaining && i <= 16; ++i)
{
string s = getWrappedLine(SKINWIDTH_TOOLTIP, fontsize, draw_TextWidth_WithoutColors);
+ if (i == 16)
+ s = "...";
float f = draw_TextWidth(s, false, fontsize);
if (f > w) w = f;
}
p = menuTooltipOrigin;
p.x += SKINMARGIN_TOOLTIP_x / conwidth;
p.y += SKINMARGIN_TOOLTIP_y / conheight;
- for (getWrappedLine_remaining = menuTooltipText; getWrappedLine_remaining; p.y += fontsize.y)
+ int i = 0;
+ for (getWrappedLine_remaining = menuTooltipText; getWrappedLine_remaining && i <= 16; ++i, p.y += fontsize.y)
{
string s = getWrappedLine(SKINWIDTH_TOOLTIP, fontsize, draw_TextWidth_WithoutColors);
+ if (i == 16)
+ s = "...";
draw_Text(p, s, fontsize, SKINCOLOR_TOOLTIP, SKINALPHA_TOOLTIP * menuTooltipAlpha, false);
}
}
}
}
+float autocvar_menu_force_on_disconnection;
void m_draw(float width, float height)
{
- if (clientstate() == CS_DISCONNECTED) m_toggle(true);
+ if (autocvar_menu_force_on_disconnection > 0)
+ {
+ static float connected_time;
+ if (clientstate() == CS_DISCONNECTED)
+ {
+ if (connected_time && time - connected_time > autocvar_menu_force_on_disconnection)
+ {
+ m_toggle(true);
+ connected_time = 0;
+ }
+ }
+ else
+ connected_time = time;
+ }
+
m_gamestatus();
execute_next_frame();
postMenuDraw();
frametime = 0;
+ IL_ENDFRAME();
}
void m_display()