#include "powerups.qh"
+#include <client/draw.qh>
#include <common/items/_mod.qh>
+#include <common/util.qh>
// Powerups (#2)
+void HUD_Powerups_Export(int fh)
+{
+ // allow saving cvars that aesthetically change the panel into hud skin files
+ HUD_Write_Cvar("hud_panel_powerups_iconalign");
+ HUD_Write_Cvar("hud_panel_powerups_baralign");
+ HUD_Write_Cvar("hud_panel_powerups_progressbar");
+ HUD_Write_Cvar("hud_panel_powerups_text");
+}
+
// Powerup item fields (reusing existing fields)
.string message; // Human readable name
.string netname; // Icon name
int getPowerupItemAlign(int align, int column, int row, int columns, int rows, bool isVertical)
{
- TC(int, align); TC(int, column); TC(int, row); TC(int, columns); TC(int, rows); TC(bool, isVertical);
+ TC(int, align); TC(int, column); TC(int, row); TC(int, columns); TC(int, rows); TC(bool, isVertical);
if(align < 2)
return align;
addPowerupItem("Strength", "strength", autocvar_hud_progressbar_strength_color, strengthTime, 30);
if(shieldTime)
addPowerupItem("Shield", "shield", autocvar_hud_progressbar_shield_color, shieldTime, 30);
- if(superTime)
+ if(superTime && !(allItems & IT_UNLIMITED_SUPERWEAPONS))
addPowerupItem("Superweapons", "superweapons", autocvar_hud_progressbar_superweapons_color, superTime, 30);
MUTATOR_CALLHOOK(HUD_Powerups_add);
// Draw items from linked list
vector itemPos = pos;
- vector itemSize = eX * (size.x / columns) + eY * (size.y / rows);
+ vector itemSize = vec2(size.x / columns, size.y / rows);
vector textColor = '1 1 1';
int fullSeconds = 0;
draw_beginBoldFont();
for(entity item = powerupItems; item.count; item = item.chain)
{
- itemPos = eX * (pos.x + column * itemSize.x) + eY * (pos.y + row * itemSize.y);
+ itemPos = vec2(pos.x + column * itemSize.x, pos.y + row * itemSize.y);
// Draw progressbar
if(autocvar_hud_panel_powerups_progressbar)