]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/minigames/cl_minigames_hud.qc
Merge branch 'bones_was_here/csprogs' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / minigames / cl_minigames_hud.qc
index f299af3c3a086c2cae4735b989c2c7396044a77a..2fdc52fcbf6f4395142062a5f9db17611d5d6ca3 100644 (file)
@@ -1,14 +1,33 @@
 #include "cl_minigames_hud.qh"
 
 #include <client/autocvars.qh>
+#include <client/draw.qh>
+#include <client/hud/hud_config.qh>
+#include <client/mapvoting.qh>
 #include <common/ent_cs.qh>
-
-#include "minigames.qh"
+#include <common/minigames/minigames.qh>
 
 .vector colormod;
 
-#include <client/hud/hud_config.qh>
-#include <client/mapvoting.qh>
+void HUD_MinigameBoard_Export(int fh)
+{
+       // allow saving cvars that aesthetically change the panel into hud skin files
+}
+
+void HUD_MinigameStatus_Export(int fh)
+{
+       // allow saving cvars that aesthetically change the panel into hud skin files
+}
+
+void HUD_MinigameHelp_Export(int fh)
+{
+       // allow saving cvars that aesthetically change the panel into hud skin files
+}
+
+void HUD_MinigameMenu_Export(int fh)
+{
+       // allow saving cvars that aesthetically change the panel into hud skin files
+}
 
 // whether the mouse is over the given panel
 bool HUD_mouse_over(entity somepanel)
@@ -26,10 +45,17 @@ bool HUD_mouse_over(entity somepanel)
 // Draws the minigame game board
 void HUD_MinigameBoard ()
 {
+       if (!HUD_MinigameMenu_IsOpened())
+               return;
+
        entity hud_minigame = NULL;
 
        if(!autocvar__hud_configure)
+       {
+               if (!active_minigame)
+                       return;
                hud_minigame = active_minigame.descriptor;
+       }
        else
                hud_minigame = minigame_get_descriptor("nmm");
 
@@ -52,10 +78,17 @@ void HUD_MinigameBoard ()
 // Draws the minigame status panel
 void HUD_MinigameStatus ()
 {
+       if (!HUD_MinigameMenu_IsOpened())
+               return;
+
        entity hud_minigame = NULL;
 
        if(!autocvar__hud_configure)
+       {
+               if (!active_minigame)
+                       return;
                hud_minigame = active_minigame.descriptor;
+       }
        else
                hud_minigame = minigame_get_descriptor("nmm");
 
@@ -205,7 +238,7 @@ bool HUD_MinigameMenu_Click_ExpandCollapse(entity this)
        {
                for ( e = HUD_MinigameMenu_entries; e != NULL; e = e.list_next )
                {
-                       if ( e.flags & 2 && e.origin_x == this.origin_x)
+                       if ( (e.flags & 2) && e.origin_x == this.origin_x)
                                HUD_MinigameMenu_Click(e);
                }
 
@@ -407,7 +440,7 @@ void HUD_MinigameMenu_CurrentButton()
 // Open the minigame menu panel
 void HUD_MinigameMenu_Open()
 {
-       if ( !HUD_MinigameMenu_IsOpened() )
+       if ( !mv_active && !HUD_MinigameMenu_IsOpened() )
        {
                HUD_MinigameMenu_InsertEntry( HUD_MinigameMenu_SpawnEntry(
                        _("Create"), '0 0 0', hud_fontsize*1.5,'0.7 0.84 1', HUD_MinigameMenu_ClickCreate),
@@ -468,6 +501,13 @@ void HUD_MinigameMenu_DrawColoredEntry(vector pos, string s, vector fontsize)
 // Minigame menu panel UI
 void HUD_MinigameMenu ()
 {
+       if (mv_active)
+       {
+               if (HUD_MinigameMenu_IsOpened())
+                       HUD_MinigameMenu_Close(NULL, NULL, NULL);
+               return;
+       }
+
        if ( !HUD_MinigameMenu_IsOpened() )
                return;
 
@@ -531,12 +571,19 @@ void HUD_MinigameMenu ()
 
 void HUD_MinigameHelp()
 {
+       if (!HUD_MinigameMenu_IsOpened())
+               return;
+
        string help_message;
 
        if(!autocvar__hud_configure)
+       {
+               if (!active_minigame)
+                       return;
                help_message = active_minigame.message;
+       }
        else
-               help_message = "Minigame message";
+               help_message = _("Minigame message");
 
        if ( !help_message )
                return;