]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/minigames/cl_minigames_hud.qc
Fix map timer not being displayed if scoreboard is enabled during map vote; don't...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / minigames / cl_minigames_hud.qc
index 2049dc9eae601b8b03598fb74c2e49efbcba65bf..8cfe69c0bb7acf20681e9c797a514e5c84b2aa3e 100644 (file)
@@ -26,10 +26,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 +59,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");
 
@@ -357,9 +371,6 @@ void HUD_MinigameMenu_Close(entity this, entity actor, entity trigger)
                HUD_MinigameMenu_entries = NULL;
                HUD_MinigameMenu_last_entry = NULL;
                HUD_MinigameMenu_activeitem = NULL;
-               if(autocvar_hud_cursormode)
-               if ( !autocvar__hud_configure )
-                       setcursormode(0);
        }
 }
 
@@ -410,7 +421,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),
@@ -420,8 +431,6 @@ void HUD_MinigameMenu_Open()
                        HUD_MinigameMenu_last_entry );
                HUD_MinigameMenu_CurrentButton();
                HUD_MinigameMenu_activeitem = NULL;
-               if(autocvar_hud_cursormode)
-                       setcursormode(1);
        }
 }
 
@@ -473,6 +482,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;
 
@@ -536,10 +552,17 @@ 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";
 
@@ -683,11 +706,6 @@ void HUD_Minigame_Mouse()
        if( !HUD_MinigameMenu_IsOpened() || autocvar__hud_configure || mv_active )
                return;
 
-       if (!autocvar_hud_cursormode)
-               update_mousepos();
-
        if ( HUD_MinigameMenu_IsOpened() && HUD_mouse_over(HUD_PANEL(MINIGAMEMENU)) )
                HUD_MinigameMenu_MouseInput();
-
-       draw_cursor_normal(mousepos, '1 1 1', panel_fg_alpha);
 }