From: terencehill Date: Fri, 1 Apr 2022 17:58:55 +0000 (+0200) Subject: Fix #2679 "Campaign levels behave like if you're creating and playing generic Multipl... X-Git-Tag: xonotic-v0.8.5~116 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=74932ba6e77c934a3fa4f10522d08f33fa598a40;p=xonotic%2Fxonotic-data.pk3dir.git Fix #2679 "Campaign levels behave like if you're creating and playing generic Multiplayer match locally" Previous code worked fine on DP master though --- diff --git a/qcsrc/menu/menu.qc b/qcsrc/menu/menu.qc index 4030270d3..ec94b2cdf 100644 --- a/qcsrc/menu/menu.qc +++ b/qcsrc/menu/menu.qc @@ -676,12 +676,12 @@ float autocvar_menu_force_on_disconnection; bool autocvar_g_campaign; void m_draw(float width, float height) { - if (autocvar_menu_force_on_disconnection > 0) + static float connected_time; + if (clientstate() == CS_DISCONNECTED) { - static float connected_time; - if (clientstate() == CS_DISCONNECTED) + if (autocvar_g_campaign) { - if (autocvar_g_campaign) + if (connected_time && time - connected_time > 0) { // in the case player uses the disconnect command (in the console or with a key) // reset g_campaign and update menu items to reflect cvar values that may have been restored after quiting the campaign @@ -689,15 +689,18 @@ void m_draw(float width, float height) cvar_set("g_campaign", "0"); m_sync(); } + } + if (autocvar_menu_force_on_disconnection > 0) + { if (connected_time && time - connected_time > autocvar_menu_force_on_disconnection) { m_toggle(true); connected_time = 0; } } - else - connected_time = time; } + else + connected_time = time; m_gamestatus();