float highlightedAction; // 0 = nothing, 1 = move, 2 = resize
const float BORDER_MULTIPLIER = 4;
-float scoreboard_bottom;
int weapon_accuracy[REGISTRY_MAX(Weapons)];
entity complain_weapon;
float minalpha = 1;
if (notify_count == 0)
minalpha = 0; // hide if empty
- else if(panel_pos.y < scoreboard_bottom)
+ else if (boxesoverlap(panel_pos, panel_pos + panel_size,
+ eX * scoreboard_left + eY * scoreboard_top, eX * scoreboard_right + eY * scoreboard_bottom))
+ {
minalpha = 0.5; // transparent if it may overlap the scoreboard
+ }
float f = max(minalpha, (1 - scoreboard_fade_alpha));
if (f <= 0)
return;
float excess = max(0, max_namesize - autocvar_hud_panel_scoreboard_namesize * hud_fontsize.x);
float fixed_scoreboard_width = bound(vid_conwidth * autocvar_hud_panel_scoreboard_minwidth, vid_conwidth - excess, vid_conwidth * 0.93);
- panel_pos.x = 0.5 * (vid_conwidth - fixed_scoreboard_width);
+ scoreboard_left = 0.5 * (vid_conwidth - fixed_scoreboard_width);
+ scoreboard_right = scoreboard_left + fixed_scoreboard_width;
+ panel_pos.x = scoreboard_left;
panel_size.x = fixed_scoreboard_width;
Scoreboard_UpdatePlayerTeams();
- float initial_pos_y = panel_pos.y;
+ scoreboard_top = panel_pos.y;
vector pos = panel_pos;
entity pl, tm;
string str;
pos.y += 2 * hud_fontsize.y;
if (scoreboard_fade_alpha < 1)
- scoreboard_bottom = initial_pos_y + (pos.y - initial_pos_y) * scoreboard_fade_alpha;
+ scoreboard_bottom = scoreboard_top + (pos.y - scoreboard_top) * scoreboard_fade_alpha;
else if (pos.y != scoreboard_bottom)
{
if (pos.y > scoreboard_bottom)
- scoreboard_bottom = min(pos.y, scoreboard_bottom + frametime * 10 * (pos.y - initial_pos_y));
+ scoreboard_bottom = min(pos.y, scoreboard_bottom + frametime * 10 * (pos.y - scoreboard_top));
else
- scoreboard_bottom = max(pos.y, scoreboard_bottom - frametime * 10 * (pos.y - initial_pos_y));
+ scoreboard_bottom = max(pos.y, scoreboard_bottom - frametime * 10 * (pos.y - scoreboard_top));
}
}
float scoreboard_acc_fade_alpha;
float scoreboard_itemstats_fade_alpha;
+float scoreboard_top;
+float scoreboard_bottom;
+float scoreboard_left;
+float scoreboard_right;
+
void Cmd_Scoreboard_SetFields(int argc);
void Scoreboard_Draw();
void Scoreboard_InitScores();