]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
seta hud_panel_itemstime_hidespawned "1" "if 1 hide an item from the panel when all...
authorterencehill <piuntn@gmail.com>
Mon, 10 Aug 2015 22:58:09 +0000 (00:58 +0200)
committerterencehill <piuntn@gmail.com>
Mon, 10 Aug 2015 23:22:10 +0000 (01:22 +0200)
_hud_common.cfg
qcsrc/client/autocvars.qh
qcsrc/client/hud.qc

index 3430d0927fa3af910130046d56c99e03ec85c24b..d409ee1e6736499f3a0b2ce7eddca51bbec1f89f 100644 (file)
@@ -42,7 +42,7 @@ seta hud_panel_physics_acceleration_movingaverage 1 "use an averaging method for
 seta hud_panel_phisics_update_interval 0.0666 "how often (in seconds) numeric values get updated on screen"
 
 seta hud_panel_itemstime_progressbar_maxtime "30" "when left time is at least this amount, the status bar is full"
-seta hud_panel_itemstime_hidespawned "0" "hide items once they respawn"
+seta hud_panel_itemstime_hidespawned "1" "if 1 hide an item from the panel when all the occurrences of it are available again; if 2 hide it when at least one occurrence is available again"
 
 // hud panel aliases
 alias hud_panel_radar_rotate "toggle hud_panel_radar_rotation 0 1 2 3 4"
index 49d9719a9d8526734ecf0729a43d4ff74206d3e2..7cd123bbf76c310e94d19432b7547749b8ab16e4 100644 (file)
@@ -277,7 +277,7 @@ bool autocvar_hud_panel_itemstime_progressbar = 0;
 float autocvar_hud_panel_itemstime_progressbar_maxtime = 30;
 string autocvar_hud_panel_itemstime_progressbar_name = "progressbar";
 float autocvar_hud_panel_itemstime_progressbar_reduced;
-bool autocvar_hud_panel_itemstime_hidespawned = 0;
+bool autocvar_hud_panel_itemstime_hidespawned = 1;
 int autocvar_hud_panel_itemstime_text = 1;
 bool autocvar_hud_panel_infomessages;
 bool autocvar_hud_panel_infomessages_flip;
index db74f03efbdafee304a8a8a508154e1cb06b4acb..585fd6ec3f0e5ccfd6963b1c52b66f42eb23d824 100644 (file)
@@ -4671,7 +4671,7 @@ void DrawItemsTimeItem(vector myPos, vector mySize, float ar, float itemcode, fl
        vector color = '0 0 0';
        float picalpha;
 
-       if(autocvar_hud_panel_itemstime_hidespawned)
+       if(autocvar_hud_panel_itemstime_hidespawned == 2)
                picalpha = 1;
        else if(item_available)
        {
@@ -4762,12 +4762,15 @@ void HUD_ItemsTime(void)
 
        float i;
        float count = 0;
-       if (!autocvar_hud_panel_itemstime_hidespawned)
+       if(autocvar_hud_panel_itemstime_hidespawned == 1)
                for (i = 0; i < ITEMSTIME_MAXITEMS; ++i)
-                       count += (ItemsTime_time[i] != -1);
-       else
+                       count += (ItemsTime_time[i] > time || -ItemsTime_time[i] > time);
+       else if(autocvar_hud_panel_itemstime_hidespawned == 2)
                for (i = 0; i < ITEMSTIME_MAXITEMS; ++i)
                        count += (ItemsTime_time[i] > time);
+       else
+               for (i = 0; i < ITEMSTIME_MAXITEMS; ++i)
+                       count += (ItemsTime_time[i] != -1);
        if (count == 0)
                return;
 
@@ -4841,7 +4844,7 @@ void HUD_ItemsTime(void)
        for (i = 0; i < ITEMSTIME_MAXITEMS; ++i) {
                if (ItemsTime_time[i] == -1)
                        continue;
-       
+
                float item_time = ItemsTime_time[i];
                if(item_time < -1)
                {
@@ -4864,8 +4867,12 @@ void HUD_ItemsTime(void)
                float f = (time - ItemsTime_availableTime[i]) * 2;
                f = (f > 1) ? 0 : bound(0, f, 1);
 
-               if(autocvar_hud_panel_itemstime_hidespawned)
-                       if(item_available)
+               if(autocvar_hud_panel_itemstime_hidespawned == 1)
+                       if(!(ItemsTime_time[i] > time || -ItemsTime_time[i] > time))
+                               continue;
+
+               if(autocvar_hud_panel_itemstime_hidespawned == 2)
+                       if(!(ItemsTime_time[i] > time))
                                continue;
 
                DrawItemsTimeItem(pos + eX * column * (itemstime_size.x + offset.x) + eY * row * (itemstime_size.y + offset.y), itemstime_size, ar, i, item_time, item_available, f);