]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/leavematchbutton.qc
Rename Leave match button to Stop demo while playing back a demo
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / leavematchbutton.qc
index cda1c82ffdae37b94b0544ed83408fcfae6fb3b0..d2117356b8bb91e56db337cae535084e45e09848 100644 (file)
@@ -2,52 +2,54 @@
 
 // resets g_campaign and updates menu items to reflect cvar values that may have been restored after leaving the campaign
 // the delay is for allowing listening to the button sound (if enabled), since the disconnect command stops all sounds
-// menu_sync is also useful when quitting Instant Action mode
+// menu_sync is also useful when leaving Instant Action mode
 // see also m_draw
-const string QUITGAME_CMD = "defer 0.4 disconnect; defer 0.4 wait; defer 0.4 \"g_campaign 0\"; defer 0.4 menu_sync\n";
+const string LEAVEMATCH_CMD = "defer 0.4 disconnect; defer 0.4 wait; defer 0.4 \"g_campaign 0\"; defer 0.4 menu_sync\n";
 
-string quitGameButton_getText(entity me)
+string leaveMatchButton_getText(entity me)
 {
        if (me.disabled)
-               return _("Quit current game");
+               return _("Leave current match");
+       else if(isdemo())
+               return _("Stop demo");
        else if(cvar("g_campaign"))
-               return _("Quit campaign");
-       else if (cvar_string("net_address") == "127.0.0.1" && cvar_string("net_address_ipv6") == "::1")
-               return _("Quit singleplayer");
+               return _("Leave campaign");
+       else if (isServerSingleplayer())
+               return _("Leave singleplayer");
        else
-               return _("Quit multiplayer");
+               return _("Leave multiplayer");
 }
 
-string quitGameButton_getTooltip(entity me)
+string leaveMatchButton_getTooltip(entity me)
 {
-       if (me.disabled)
+       if (me.disabled || isdemo())
                return "-";
        else if(cvar("g_campaign"))
-               return _("Quit current campaign level");
-       else if (cvar_string("net_address") == "127.0.0.1" && cvar_string("net_address_ipv6") == "::1")
-               return _("Quit current singleplayer match");
+               return _("Leave current campaign level");
+       else if (isServerSingleplayer())
+               return _("Leave current singleplayer match");
        else
-               return _("Quit current multiplayer match / Disconnect from the server");
+               return _("Leave current multiplayer match / Disconnect from the server");
 }
 
-entity makeXonoticQuitButton(vector theColor, int theFlags)
+entity makeXonoticLeaveMatchButton(vector theColor, int theFlags)
 {
        entity me;
-       me = NEW(XonoticQuitButton);
-       me.configureXonoticQuitButton(me, theColor, theFlags);
+       me = NEW(XonoticLeaveMatchButton);
+       me.configureXonoticLeaveMatchButton(me, theColor, theFlags);
        return me;
 }
 
-void XonoticQuitButton_draw(entity me)
+void XonoticLeaveMatchButton_draw(entity me)
 {
        SUPER(XonoticCommandButton).draw(me);
        me.disabled = !(gamestatus & (GAME_ISSERVER | GAME_CONNECTED));
-       me.setText(me, quitGameButton_getText(me));
-       setZonedTooltip(me, quitGameButton_getTooltip(me), string_null);
+       me.setText(me, leaveMatchButton_getText(me));
+       setZonedTooltip(me, leaveMatchButton_getTooltip(me), string_null);
 }
 
-void XonoticQuitButton_configureXonoticQuitButton(entity me, vector theColor, int theFlags)
+void XonoticLeaveMatchButton_configureXonoticLeaveMatchButton(entity me, vector theColor, int theFlags)
 {
-       me.configureXonoticCommandButton(me, string_null, theColor, QUITGAME_CMD, theFlags, string_null);
-       me.draw = XonoticQuitButton_draw;
+       me.configureXonoticCommandButton(me, string_null, theColor, LEAVEMATCH_CMD, theFlags, string_null);
+       me.draw = XonoticLeaveMatchButton_draw;
 }