]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/gamemodes/gamemode/clanarena/cl_clanarena.qc
Merge branch 'master' into develop
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / gamemodes / gamemode / clanarena / cl_clanarena.qc
index 2bf470f1563c36be8bb6f84dd83ba54d792c45b3..c91d9a33c2a4b6edfcf6d0bfb53f6aa7a50dfada 100644 (file)
@@ -1,10 +1,21 @@
 #include "cl_clanarena.qh"
 
+#include <client/draw.qh>
+
+#include <common/mutators/base.qh>
+
 void HUD_Mod_CA_Export(int fh)
 {
        HUD_Write_Cvar("hud_panel_modicons_ca_layout");
 }
 
+REGISTER_MUTATOR(cl_ca, true);
+
+MUTATOR_HOOKFUNCTION(cl_ca, DrawInfoMessages)
+{
+       return (ISGAMETYPE(CA) && entcs_GetSpecState(player_localnum) == ENTCS_SPEC_IN_SCOREBOARD);
+}
+
 void DrawCAItem(vector myPos, vector mySize, float aspect_ratio, int layout, int i)
 {
        TC(int, layout); TC(int, i);
@@ -42,16 +53,8 @@ void DrawCAItem(vector myPos, vector mySize, float aspect_ratio, int layout, int
                drawstring_aspect(myPos, ftos(stat), mySize, color, panel_fg_alpha, DRAWFLAG_NORMAL);
 }
 
-// Clan Arena and Freeze Tag HUD modicons
-void HUD_Mod_CA(vector myPos, vector mySize)
+void HUD_Mod_CA_Draw(vector myPos, vector mySize, int layout)
 {
-       mod_active = 1; // required in each mod function that always shows something
-
-       int layout;
-       if(ISGAMETYPE(CA))
-               layout = autocvar_hud_panel_modicons_ca_layout;
-       else //if(ISGAMETYPE(FREEZETAG))
-               layout = autocvar_hud_panel_modicons_freezetag_layout;
        int rows, columns;
        float aspect_ratio;
        aspect_ratio = (layout) ? 2 : 1;
@@ -77,3 +80,11 @@ void HUD_Mod_CA(vector myPos, vector mySize)
                }
        }
 }
+
+// Clan Arena and Freeze Tag HUD modicons
+void HUD_Mod_CA(vector myPos, vector mySize)
+{
+       mod_active = 1; // required in each mod function that always shows something
+
+       HUD_Mod_CA_Draw(myPos, mySize, autocvar_hud_panel_modicons_ca_layout);
+}