]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/main.qc
Merge branch 'terencehill/welcome_dialog_fix' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / main.qc
index ff51fb54c5d3d2208c792280356e410ef4806776..4ff86d3cfbdbc8672e658f30bdbf2625aaa60649 100644 (file)
@@ -1488,10 +1488,26 @@ void Welcome_Message_Show_Try()
                        string welcomedialog_args = strcat("HOSTNAME \"", hostname, "\"");
                        string msg = MakeConsoleSafe(strreplace("\n", "\\n", welcome_msg));
                        welcomedialog_args = strcat(welcomedialog_args, " WELCOME \"", msg, "\"");
-                       localcmd("\nmenu_cmd directmenu Welcome ", welcomedialog_args, "\n");
+
                        if (intermission || isdemo() || !autocvar_cl_welcome)
-                               // close it after it's been initialized so it can still be opened manually
-                               localcmd("\ntogglemenu 0\n");
+                       {
+                               if (cvar("_menu_cmd_closemenu_available"))
+                               {
+                                       // initialize the dialog without opening it
+                                       localcmd("\nmenu_cmd closemenu Welcome ", welcomedialog_args, "\n");
+                               }
+                               else
+                               {
+                                       // legacy code for clients with old menus
+                                       // since togglemenu 0 doesn't close the dialog but only hides it,
+                                       // playing back a demo the Welcome dialog will pop up on the first ESC press
+                                       localcmd("\nmenu_cmd directmenu Welcome ", welcomedialog_args, "\n");
+                                       // close it after it's been initialized so it can still be opened manually
+                                       localcmd("\ntogglemenu 0\n");
+                               }
+                       }
+                       else
+                               localcmd("\nmenu_cmd directmenu Welcome ", welcomedialog_args, "\n");
                }
 
                strfree(welcome_msg);