+ vector weapon_size_real = noncurrent_size;
+ float weapon_alpha_real = noncurrent_alpha;
+ float radius_factor_x = 1 - bound(0, fabs(weapon_pos.x - weapon_pos_current.x) / radius_size.x, 1);
+ float radius_factor_y = 1 - bound(0, fabs(weapon_pos.y - weapon_pos_current.y) / radius_size.y, 1);
+ if(radius_factor_x || radius_factor_y)
+ {
+ weapon_size_real.x += (weapon_size.x - noncurrent_size.x) * radius_factor_x;
+ weapon_size_real.y += (weapon_size.y - noncurrent_size.y) * radius_factor_y;
+ weapon_alpha_real += (panel_fg_alpha - noncurrent_alpha) * min(radius_factor_x, radius_factor_y);
+ }
+
+ vector weapon_pos_real = weapon_pos;
+ weapon_pos_real.x = weapon_pos.x + (weapon_size.x - weapon_size_real.x) / 2;
+ weapon_pos_real.y = weapon_pos.y + (weapon_size.y - weapon_size_real.y) / 2;
+