From: terencehill Date: Sun, 6 Jun 2021 10:19:58 +0000 (+0200) Subject: Rename quitbutton.qc/qh files to leavematchbutton.qc/qh X-Git-Tag: xonotic-v0.8.5~129^2~10 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=04fb8f8d821fbfac863d2e4298b8f0bc59f6a867;p=xonotic%2Fxonotic-data.pk3dir.git Rename quitbutton.qc/qh files to leavematchbutton.qc/qh --- diff --git a/qcsrc/menu/xonotic/_mod.inc b/qcsrc/menu/xonotic/_mod.inc index 8d37e0486..88d0c2abd 100644 --- a/qcsrc/menu/xonotic/_mod.inc +++ b/qcsrc/menu/xonotic/_mod.inc @@ -96,7 +96,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qcsrc/menu/xonotic/_mod.qh b/qcsrc/menu/xonotic/_mod.qh index 7982295e9..8a2fb97ca 100644 --- a/qcsrc/menu/xonotic/_mod.qh +++ b/qcsrc/menu/xonotic/_mod.qh @@ -96,7 +96,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create.qc b/qcsrc/menu/xonotic/dialog_multiplayer_create.qc index 7ca58a07a..999912d66 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_create.qc +++ b/qcsrc/menu/xonotic/dialog_multiplayer_create.qc @@ -14,7 +14,7 @@ #include "mainwindow.qh" #include "button.qh" #include "commandbutton.qh" -#include "quitbutton.qh" +#include "leavematchbutton.qh" #include "inputbox.qh" void GameType_ConfigureSliders(entity me, string pLabel, float pMin, float pMax, float pStep, string pCvar, string tCvar, string pTooltip) diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_join.qc b/qcsrc/menu/xonotic/dialog_multiplayer_join.qc index 9f05d0c2a..68f2cc45c 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_join.qc +++ b/qcsrc/menu/xonotic/dialog_multiplayer_join.qc @@ -6,7 +6,7 @@ #include "inputbox.qh" #include "checkbox.qh" #include "commandbutton.qh" -#include "quitbutton.qh" +#include "leavematchbutton.qh" #include "button.qh" entity makeXonoticServerListTab() diff --git a/qcsrc/menu/xonotic/dialog_quit.qc b/qcsrc/menu/xonotic/dialog_quit.qc index fcf937c6b..2f3f15b52 100644 --- a/qcsrc/menu/xonotic/dialog_quit.qc +++ b/qcsrc/menu/xonotic/dialog_quit.qc @@ -2,7 +2,7 @@ #include "textlabel.qh" #include "commandbutton.qh" -#include "quitbutton.qh" +#include "leavematchbutton.qh" #include "button.qh" void XonoticQuitDialog_fill(entity me) diff --git a/qcsrc/menu/xonotic/dialog_singleplayer.qc b/qcsrc/menu/xonotic/dialog_singleplayer.qc index e310e69d2..1650004f4 100644 --- a/qcsrc/menu/xonotic/dialog_singleplayer.qc +++ b/qcsrc/menu/xonotic/dialog_singleplayer.qc @@ -3,7 +3,7 @@ #include #include "bigbutton.qh" #include "commandbutton.qh" -#include "quitbutton.qh" +#include "leavematchbutton.qh" #include "radiobutton.qh" #include "textlabel.qh" #include "campaign.qh" diff --git a/qcsrc/menu/xonotic/leavematchbutton.qc b/qcsrc/menu/xonotic/leavematchbutton.qc new file mode 100644 index 000000000..cda1c82ff --- /dev/null +++ b/qcsrc/menu/xonotic/leavematchbutton.qc @@ -0,0 +1,53 @@ +#include "leavematchbutton.qh" + +// 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 +// 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"; + +string quitGameButton_getText(entity me) +{ + if (me.disabled) + return _("Quit current game"); + 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"); + else + return _("Quit multiplayer"); +} + +string quitGameButton_getTooltip(entity me) +{ + if (me.disabled) + 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"); + else + return _("Quit current multiplayer match / Disconnect from the server"); +} + +entity makeXonoticQuitButton(vector theColor, int theFlags) +{ + entity me; + me = NEW(XonoticQuitButton); + me.configureXonoticQuitButton(me, theColor, theFlags); + return me; +} + +void XonoticQuitButton_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); +} + +void XonoticQuitButton_configureXonoticQuitButton(entity me, vector theColor, int theFlags) +{ + me.configureXonoticCommandButton(me, string_null, theColor, QUITGAME_CMD, theFlags, string_null); + me.draw = XonoticQuitButton_draw; +} diff --git a/qcsrc/menu/xonotic/leavematchbutton.qh b/qcsrc/menu/xonotic/leavematchbutton.qh new file mode 100644 index 000000000..f23e9dcfb --- /dev/null +++ b/qcsrc/menu/xonotic/leavematchbutton.qh @@ -0,0 +1,9 @@ +#pragma once + +#include "commandbutton.qh" +CLASS(XonoticQuitButton, XonoticCommandButton) + METHOD(XonoticQuitButton, draw, void(entity)); + METHOD(XonoticQuitButton, configureXonoticQuitButton, void(entity, vector, int)); +ENDCLASS(XonoticQuitButton) + +entity makeXonoticQuitButton(vector theColor, int theFlags); diff --git a/qcsrc/menu/xonotic/quitbutton.qc b/qcsrc/menu/xonotic/quitbutton.qc deleted file mode 100644 index 0e535cf89..000000000 --- a/qcsrc/menu/xonotic/quitbutton.qc +++ /dev/null @@ -1,53 +0,0 @@ -#include "quitbutton.qh" - -// 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 -// 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"; - -string quitGameButton_getText(entity me) -{ - if (me.disabled) - return _("Quit current game"); - 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"); - else - return _("Quit multiplayer"); -} - -string quitGameButton_getTooltip(entity me) -{ - if (me.disabled) - 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"); - else - return _("Quit current multiplayer match / Disconnect from the server"); -} - -entity makeXonoticQuitButton(vector theColor, int theFlags) -{ - entity me; - me = NEW(XonoticQuitButton); - me.configureXonoticQuitButton(me, theColor, theFlags); - return me; -} - -void XonoticQuitButton_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); -} - -void XonoticQuitButton_configureXonoticQuitButton(entity me, vector theColor, int theFlags) -{ - me.configureXonoticCommandButton(me, string_null, theColor, QUITGAME_CMD, theFlags, string_null); - me.draw = XonoticQuitButton_draw; -} diff --git a/qcsrc/menu/xonotic/quitbutton.qh b/qcsrc/menu/xonotic/quitbutton.qh deleted file mode 100644 index f23e9dcfb..000000000 --- a/qcsrc/menu/xonotic/quitbutton.qh +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "commandbutton.qh" -CLASS(XonoticQuitButton, XonoticCommandButton) - METHOD(XonoticQuitButton, draw, void(entity)); - METHOD(XonoticQuitButton, configureXonoticQuitButton, void(entity, vector, int)); -ENDCLASS(XonoticQuitButton) - -entity makeXonoticQuitButton(vector theColor, int theFlags);