float average_accuracy;
vector HUD_DrawScoreboardAccuracyStats(vector pos, vector rgb, vector bg_size)
-{SELFPARAM();
+{
+ SELFPARAM();
WepSet weapons_stat = WepSet_GetFromStat();
WepSet weapons_inmap = WepSet_GetFromStat_InMap();
float initial_posx = pos.x;
- int i;
- float weapon_stats;
int disownedcnt = 0;
- for(i = WEP_FIRST; i <= WEP_LAST; ++i)
- {
+ for (int i = WEP_FIRST; i <= WEP_LAST; ++i) {
setself(get_weaponinfo(i));
- if(!self.weapon)
- continue;
+ if (!self.weapon) continue;
- weapon_stats = weapon_accuracy[i-WEP_FIRST];
+ int weapon_stats = weapon_accuracy[i - WEP_FIRST];
- if(weapon_stats < 0 && !(weapons_stat & WepSet_FromWeapon(i) || weapons_inmap & WepSet_FromWeapon(i)))
+ if (weapon_stats < 0 && !(weapons_stat & WepSet_FromWeapon(i) || weapons_inmap & WepSet_FromWeapon(i)))
++disownedcnt;
}
int weapon_cnt = (Weapons_COUNT - 1) - disownedcnt;
+ if (weapon_cnt <= 0) return pos;
- if(weapon_cnt <= 0)
- return pos;
-
- int rows;
- if(autocvar_scoreboard_accuracy_doublerows && weapon_cnt >= floor((Weapons_COUNT - 1) * 0.5))
+ int rows = 1;
+ if (autocvar_scoreboard_accuracy_doublerows && weapon_cnt >= floor((Weapons_COUNT - 1) * 0.5))
rows = 2;
- else
- rows = 1;
int columnns = ceil(weapon_cnt / rows);
float height = 40;
drawborderlines(autocvar_scoreboard_border_thickness, pos, tmp, '0 0 0', scoreboard_alpha_bg * 0.75, DRAWFLAG_NORMAL);
// column highlighting
- for(i = 0; i < columnns; ++i)
+ for (int i = 0; i < columnns; ++i)
{
- if(!(i % 2))
+ if ((i % 2) == 0)
drawfill(pos + '1 0 0' * weapon_width * rows * i, '0 1 0' * height * rows + '1 0 0' * weapon_width * rows, '0 0 0', scoreboard_alpha_bg * 0.2, DRAWFLAG_NORMAL);
}
// row highlighting
- for(i = 0; i < rows; ++i)
+ for (int i = 0; i < rows; ++i)
{
drawfill(pos + '0 1 0' * weapon_height + '0 1 0' * height * i, '1 0 0' * sbwidth + '0 1 0' * fontsize, '1 1 1', scoreboard_highlight_alpha, DRAWFLAG_NORMAL);
}
average_accuracy = 0;
int weapons_with_stats = 0;
- if(rows == 2)
+ if (rows == 2)
pos.x += weapon_width / 2;
- if(autocvar_scoreboard_accuracy_nocolors)
+ if (autocvar_scoreboard_accuracy_nocolors)
rgb = '1 1 1';
else
Accuracy_LoadColors();
float oldposx = pos.x;
vector tmpos = pos;
- int column;
- for(i = WEP_FIRST, column = 0; i <= WEP_LAST; ++i)
- {
+ int column = 0;
+ for (int i = WEP_FIRST; i <= WEP_LAST; ++i) {
setself(get_weaponinfo(i));
- if (!self.weapon)
- continue;
- weapon_stats = weapon_accuracy[i-WEP_FIRST];
+ if (!self.weapon) continue;
+ int weapon_stats = weapon_accuracy[i - WEP_FIRST];
- if(weapon_stats < 0 && !(weapons_stat & WepSet_FromWeapon(i) || weapons_inmap & WepSet_FromWeapon(i)))
+ if (weapon_stats < 0 && !(weapons_stat & WepSet_FromWeapon(i) || weapons_inmap & WepSet_FromWeapon(i)))
continue;
float weapon_alpha;
- if(weapon_stats >= 0)
+ if (weapon_stats >= 0)
weapon_alpha = scoreboard_alpha_fg;
else
weapon_alpha = 0.2 * scoreboard_alpha_fg;
// weapon icon
drawpic_aspect_skin(tmpos, self.model2, '1 0 0' * weapon_width + '0 1 0' * weapon_height, '1 1 1', weapon_alpha, DRAWFLAG_NORMAL);
// the accuracy
- if(weapon_stats >= 0) {
+ if (weapon_stats >= 0) {
weapons_with_stats += 1;
average_accuracy += weapon_stats; // store sum of all accuracies in average_accuracy
}
tmpos.x += weapon_width * rows;
pos.x += weapon_width * rows;
- if(rows == 2 && column == columnns - 1) {
+ if (rows == 2 && column == columnns - 1) {
tmpos.x = oldposx;
tmpos.y += height;
pos.y += height;
++column;
}
- if(weapons_with_stats)
+ if (weapons_with_stats)
average_accuracy = floor((average_accuracy * 100 / weapons_with_stats) + 0.5);
pos.y += height;
}
pos = HUD_DrawScoreboardRankings(pos, playerslots[player_localnum], rgb, bg_size);
}
- else if(autocvar_scoreboard_accuracy && spectatee_status == 0 && !warmup_stage && gametype != MAPINFO_TYPE_NEXBALL) {
+ else if (autocvar_scoreboard_accuracy && !warmup_stage && gametype != MAPINFO_TYPE_NEXBALL) {
if(teamplay)
pos = HUD_DrawScoreboardAccuracyStats(pos, Team_ColorRGB(myteam), bg_size);
else