]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'origin/master' into terencehill/newpanelhud
authorFruitieX <rasse@rasse-lappy.localdomain>
Wed, 4 Aug 2010 16:17:07 +0000 (19:17 +0300)
committerFruitieX <rasse@rasse-lappy.localdomain>
Wed, 4 Aug 2010 16:17:07 +0000 (19:17 +0300)
1  2 
defaultXonotic.cfg
qcsrc/client/hud.qc
qcsrc/client/hud.qh

diff --combined defaultXonotic.cfg
index 2f7dc51dd0fb72293fd2b611feaef387e445daeb,6b0a9be7d9233b766832a72252b3baaca8573dae..2098db4811b90b64a0c176bae9b93c2d7d430474
@@@ -298,6 -298,8 +298,8 @@@ set sv_ready_restart 0 "if set to 1 all
  set sv_ready_restart_after_countdown 0        "if set to 1 the players and map items are reset after the countdown ended, otherwise they're reset already at the beginning of the countdown"
  set sv_ready_restart_repeatable 0     "allows the players to restart the game as often as needed"
  
+ set sv_hitsound_antispam_time 0.05 "don't play the hitsound more often than this for the electro lightning gun or the laser gauntlet"
  //nifreks lockonrestart feature, used in team-based game modes, if set to 1 and all players readied up no other player can then join the game anymore, useful to block spectators from joining
  set teamplay_lockonrestart 0 "it set to 1 in a team-based game, the teams are locked once all players readied up and the game restarted (no new players can join after restart unless using the server-command unlockteams)"
  
@@@ -336,9 -338,9 +338,9 @@@ set g_respawn_ghosts_speed 5 "the spee
  set g_respawn_ghosts_maxtime 6 "maximum amount of time a respawn ghost can last, minimum time is half this value. 0 disables and ghosts fade when the body would"
  
  // fragmessage: This allows extra information to be displayed with the frag centerprints. 
- set sv_fragmessage_information_ping 0 "Enable ping display information, 0 = Never display; 1 = Always display (If the player is a bot, it will say bot instead of the ping.)"
+ set sv_fragmessage_information_ping 1 "Enable ping display information, 0 = Never display; 1 = Always display (If the player is a bot, it will say bot instead of the ping.)"
  set sv_fragmessage_information_handicap 1 "Enable handicap display information, 0 = Never display; 1 = Only when the player has handicap on; 2 = Always display (Displays Off if off)"
- set sv_fragmessage_information_stats 0 "Enable statistics (health/armor) display information, 0 = Never display; 1 = Always display (Only available for the person who was killed)"
+ set sv_fragmessage_information_stats 1 "Enable statistics (health/armor) display information, 0 = Never display; 1 = Always display (Only available for the person who was killed)"
  set sv_fragmessage_information_typefrag 1 "Enable typefrag display information, 0 = Never display; 1 = Always display"
  
  // use default physics
@@@ -843,11 -845,11 +845,11 @@@ set g_nexball_radar_showallplayers 1  "
  // server game balance settings
  // powerup balance settings
  // weapon balance settings follow
- exec balance.cfg
+ exec balanceXonotic.cfg
  
  set g_bloodloss 0   "amount of health below which blood loss occurs"
  
- set g_footsteps 0     "serverside footstep sounds"
+ set g_footsteps 1     "serverside footstep sounds"
  
  set g_deathglow 1.25 "when enabled, players stop glowing after they die (the value specifies glow fading speed)"
  
@@@ -1353,8 -1355,6 +1355,8 @@@ seta hud_panel_weapons_ammo_full_nails 
  seta hud_panel_weapons_ammo_full_cells 80 "show 100% of the status bar at this ammo count"
  seta hud_panel_weapons_ammo_full_rockets 80 "show 100% of the status bar at this ammo count"
  seta hud_panel_weapons_ammo_full_fuel 100 "show 100% of the status bar at this ammo count"
 +seta hud_panel_weapons_timeout "10" "panel disappears if you don't switch weapon for this amount of seconds"
 +seta hud_panel_weapons_timeout_effect "1" "disappearance effect: 0) no effect; 1) panel moves out of screen; 2) panel fades out"
  
  seta hud_panel_notify_time 10 "time that a new entry stays until it fades out"
  seta hud_panel_notify_fadetime 3 "fade out time"
@@@ -1529,7 -1529,7 +1531,7 @@@ prvm_leaktest_ignore_classnames "ctf_te
  
  sv_allowdownloads_inarchive 1 // for csprogs.dat
  
- set g_jump_grunt 0    "Do you make a grunting noise every time you jump? Is it the same grunting noise every time?"
+ set g_jump_grunt 1    "Do you make a grunting noise every time you jump? Is it the same grunting noise every time?"
  
  alias allready "sv_cmd allready"
  
@@@ -1898,3 -1898,16 +1900,16 @@@ set sv_q3acompat_machineshotgunswap 0 "
  set g_movement_highspeed 1 "movement speed modification factor (only changes movement when above maxspeed)"
  
  set g_maxspeed 0 "player speed limit, faster players are killed (0 for unlimited speed)"
+ scr_conalpha 1
+ scr_conalpha2factor 0.3
+ scr_conalpha3factor 1
+ scr_conalphafactor 0.8
+ scr_conbrightness 0.35
+ scr_conforcewhiledisconnected 1
+ scr_conscroll2_x 0.11
+ scr_conscroll2_y 0.2
+ scr_conscroll3_x 0
+ scr_conscroll3_y 0
+ scr_conscroll_x -0.1
+ scr_conscroll_y -0.3
diff --combined qcsrc/client/hud.qc
index 1da95479adb7f38f4f86c1262a3ac1a0238436e9,f2b900fa978bc7370b8e84c6da6ceed64243f4d8..da5c237d8f460914e780be1a463b12d09f66b3d7
@@@ -940,10 -940,6 +940,10 @@@ void HUD_Panel_Arrow_Action(float nPrim
  
        HUD_Panel_UpdatePosSizeForId(highlightedPanel)
  
 +      vector prev_pos, prev_size;
 +      prev_pos = panel_pos;
 +      prev_size = panel_size;
 +
        if (hudShiftState & S_ALT) // resize
        {
                highlightedAction = 1;
  
                HUD_Panel_SetPos(pos);
        }
 +
 +      HUD_Panel_UpdatePosSizeForId(highlightedPanel)
 +
 +      if (prev_pos != panel_pos || prev_size != panel_size)
 +      {
 +              // backup!
 +              panel_pos_backup = prev_pos;
 +              panel_size_backup = prev_size;
 +              highlightedPanel_backup = highlightedPanel;
 +      }
  }
  
  float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
                menu_enabled_time = time;
                localcmd("menu_showhudexit\n");
        }
 +      else if(hudShiftState & S_CTRL)
 +      {
 +              if (mouseClicked)
 +                      return true;
 +
 +              if(nPrimary == K_SPACE) // enable/disable highlighted panel or dock
 +              {
 +                      if (bInputType == 1)
 +                              return true;
 +
 +                      if (highlightedPanel_prev != -1)
 +                              cvar_set(strcat("hud_panel_", panel_name), ftos(!(panel_enabled)));
 +                      else
 +                              cvar_set(strcat("hud_dock"), (autocvar_hud_dock == "") ? "dock" : "");
 +              }
 +              if(nPrimary == 'c') // copy highlighted panel size
 +              {
 +                      if (bInputType == 1)
 +                              return true;
 +
 +                      if (highlightedPanel_prev != -1)
 +                      {
 +                              panel_size_copied = panel_size;
 +                              highlightedPanel_copied = highlightedPanel_prev;
 +                      }
 +              }
 +              else if(nPrimary == 'v') // past copied size on the highlighted panel
 +              {
 +                      if (bInputType == 1)
 +                              return true;
 +
 +                      if (highlightedPanel_copied != -1 && highlightedPanel_prev != -1)
 +                      {
 +                              // backup first!
 +                              panel_pos_backup = panel_pos;
 +                              panel_size_backup = panel_size;
 +                              highlightedPanel_backup = highlightedPanel_prev;
 +
 +                              string s;
 +                              s = strcat(ftos(panel_size_copied_x/vid_conwidth), " ", ftos(panel_size_copied_y/vid_conheight));
 +                              cvar_set(strcat("hud_panel_", panel_name, "_size"), s);
 +                      }
 +              }
 +              else if(nPrimary == 'z') // undo last action
 +              {
 +                      if (bInputType == 1)
 +                              return true;
 +                      //restore previous values
 +                      if (highlightedPanel_backup != -1)
 +                      {
 +                              HUD_Panel_GetName(highlightedPanel_backup)
 +                              string s;
 +                              s = strcat(ftos(panel_pos_backup_x/vid_conwidth), " ", ftos(panel_pos_backup_y/vid_conheight));
 +                              cvar_set(strcat("hud_panel_", panel_name, "_pos"), s);
 +                              s = strcat(ftos(panel_size_backup_x/vid_conwidth), " ", ftos(panel_size_backup_y/vid_conheight));
 +                              cvar_set(strcat("hud_panel_", panel_name, "_size"), s);
 +                              highlightedPanel_backup = -1;
 +                      }
 +              }
 +      }
        else if(nPrimary == K_UPARROW || nPrimary == K_DOWNARROW || nPrimary == K_LEFTARROW || nPrimary == K_RIGHTARROW)
        {
                if (bInputType == 1)
@@@ -1300,7 -1226,6 +1300,7 @@@ void HUD_Panel_Highlight(
  }
  
  float highlightcheck;
 +float would_backup;
  void HUD_Panel_Mouse()
  {
        // TODO: needs better check... is there any float that contains the current state of the menu? _menu_alpha isn't apparently updated the frame the menu gets enabled
  
        if(mouseClicked)
        {
 +              vector prev_pos, prev_size;
                if(prevMouseClicked == 0)
 +              {
                        HUD_Panel_Highlight(); // sets highlightedPanel, highlightedAction, panel_click_distance, panel_click_resizeorigin
 +                                                                      // and calls HUD_Panel_UpdatePosSizeForId() for the highlighted panel
 +                      would_backup = TRUE;
 +              }
 +              else if (would_backup)
 +              {
 +                      // this is not the actual backup! Saving pos and size values
 +                      // only to check later if they are different from new values
 +                      prev_pos = panel_pos;
 +                      prev_size = panel_size;
 +              }
  
                hud_configure_checkcollisions = (!(hudShiftState & S_CTRL) && autocvar_hud_configure_checkcollisions);
  
                        HUD_Panel_SetPosSize(mySize);
                }
  
 +              HUD_Panel_UpdatePosSizeForId(highlightedPanel)
 +              if (prevMouseClicked)
 +              if (would_backup)
 +              if (prev_pos != panel_pos || prev_size != panel_size)
 +              {
 +                      // backup!
 +                      panel_pos_backup = prev_pos;
 +                      panel_size_backup = prev_size;
 +                      highlightedPanel_backup = highlightedPanel;
 +                      would_backup = FALSE;
 +              }
 +
                // doubleclick check
                if(time - prevMouseClickedTime < 0.4 && prevMouseClicked == 0 && prevMouseClickedPos == mousepos && highlightedPanel >= 0)
                {
@@@ -1484,52 -1385,14 +1484,52 @@@ void HUD_Weapons(void
        if(!autocvar_hud_panel_weapons && !autocvar__hud_configure)
                return;
  
 +      float timeout = cvar("hud_panel_weapons_timeout");
 +      float timeout_effect_lenght;
 +      if (cvar("hud_panel_weapons_timeout_effect") == 0)
 +              timeout_effect_lenght = 0;
 +      else
 +              timeout_effect_lenght = 0.75;
 +
 +      if (timeout && time >= weapontime + timeout + timeout_effect_lenght && !autocvar__hud_configure)
 +              return;
 +
        active_panel = HUD_PANEL_WEAPONS;
        HUD_Panel_UpdateCvars(weapons);
 -      vector pos, mySize;
 -      float i, weapid, fade, weapon_stats, weapon_number, weapon_cnt;
  
 -      pos = panel_pos;
 -      mySize = panel_size;
 +      if (timeout && time >= weapontime + timeout && !autocvar__hud_configure)
 +      {
 +              float f = (time - (weapontime + timeout)) / timeout_effect_lenght;
 +              if (cvar("hud_panel_weapons_timeout_effect") == 2)
 +              {
 +                      panel_bg_alpha *= (1 - f);
 +                      panel_fg_alpha *= (1 - f);
 +              }
 +              else
 +              {
 +                      f *= f; // for a cooler movement
 +                      vector center;
 +                      center_x = panel_pos_x + panel_size_x/2;
 +                      center_y = panel_pos_y + panel_size_y/2;
 +                      float screen_ar = vid_conwidth/vid_conheight;
 +                      if (center_x/center_y < screen_ar) //bottom left
 +                      {
 +                              if ((vid_conwidth - center_x)/center_y < screen_ar) //bottom
 +                                      panel_pos_y += f * (vid_conheight - panel_pos_y);
 +                              else //left
 +                                      panel_pos_x -= f * (panel_pos_x + panel_size_x);
 +                      }
 +                      else //top right
 +                      {
 +                              if ((vid_conwidth - center_x)/center_y < screen_ar) //right
 +                                      panel_pos_x += f * (vid_conwidth - panel_pos_x);
 +                              else //top
 +                                      panel_pos_y -= f * (panel_pos_y + panel_size_y);
 +                      }
 +              }
 +      }
  
 +      float i, weapid, fade, weapon_stats, weapon_number, weapon_cnt;
        weapon_cnt = 0;
        for(i = WEP_FIRST; i <= WEP_LAST; ++i)
        {
        HUD_Panel_DrawBg(1);
        if(panel_bg_padding)
        {
 -              pos += '1 1 0' * panel_bg_padding;
 -              mySize -= '2 2 0' * panel_bg_padding;
 +              panel_pos += '1 1 0' * panel_bg_padding;
 +              panel_size -= '2 2 0' * panel_bg_padding;
        }
  
        // hits
        HUD_Weapons_Clear();
  
        float rows, columns;
 -      rows = mySize_y/mySize_x;
 +      rows = panel_size_y/panel_size_x;
        rows = bound(1, floor((sqrt(4 * autocvar_hud_panel_weapons_aspect * rows * WEP_COUNT + rows * rows) + rows + 0.5) / 2), WEP_COUNT);
  
        columns = ceil(WEP_COUNT/rows);
  
        for(i = 0; i < weapon_cnt; ++i)
        {
 -              wpnpos = pos + eX * column * mySize_x*(1/columns) + eY * row * mySize_y*(1/rows);
 -              wpnsize = eX * mySize_x*(1/columns) + eY * mySize_y*(1/rows);
 +              wpnpos = panel_pos + eX * column * panel_size_x*(1/columns) + eY * row * panel_size_y*(1/rows);
 +              wpnsize = eX * panel_size_x*(1/columns) + eY * panel_size_y*(1/rows);
  
                self = weaponorder[i];
                weapid = self.impulse;
                        drawpic_aspect_skin(wpnpos, strcat("weapon", self.netname), wpnsize, '1 1 1', fade * panel_fg_alpha, DRAWFLAG_NORMAL);
  
                        if(autocvar_hud_panel_weapons_label == 1) // weapon number
 -                              drawstring(wpnpos, ftos(weapid), '1 1 0' * 0.5 * mySize_y*(1/rows), '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
 +                              drawstring(wpnpos, ftos(weapid), '1 1 0' * 0.5 * panel_size_y*(1/rows), '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
                        else if(autocvar_hud_panel_weapons_label == 2) // bind
 -                              drawstring(wpnpos, getcommandkey(ftos(weapid), strcat("impulse ", ftos(weapid))), '1 1 0' * 0.5 * mySize_y*(1/rows), '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
 +                              drawstring(wpnpos, getcommandkey(ftos(weapid), strcat("impulse ", ftos(weapid))), '1 1 0' * 0.5 * panel_size_y*(1/rows), '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
  
                        // draw ammo status bar
                        if(autocvar_hud_panel_weapons_ammo && weapid != WEP_TUBA && weapid != WEP_LASER && weapid != WEP_PORTO)
@@@ -1833,9 -1696,15 +1833,15 @@@ void DrawAmmoItem(vector myPos, vector 
                drawpic_aspect_skin(newPos, "ammo_current_bg", newSize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
  
        drawfont = hud_bigfont;
-       drawstring_aspect(numpos, ftos(a), eX * (2/3) * newSize_x + eY * newSize_y, color, panel_fg_alpha * alpha, DRAWFLAG_NORMAL);
+       if(a > 0)
+               drawstring_aspect(numpos, ftos(a), eX * (2/3) * newSize_x + eY * newSize_y, color, panel_fg_alpha * alpha, DRAWFLAG_NORMAL);
+       else // "ghost" ammo count
+               drawstring_aspect(numpos, ftos(a), eX * (2/3) * newSize_x + eY * newSize_y, '0 0 0', panel_fg_alpha * alpha * 0.5, DRAWFLAG_NORMAL);
        drawfont = hud_font;
-       drawpic_aspect_skin(picpos, GetAmmoPicture(itemcode), '1 1 0' * newSize_y, '1 1 1', panel_fg_alpha * alpha, DRAWFLAG_NORMAL);
+       if(a > 0)
+               drawpic_aspect_skin(picpos, GetAmmoPicture(itemcode), '1 1 0' * newSize_y, '1 1 1', panel_fg_alpha * alpha, DRAWFLAG_NORMAL);
+       else // "ghost" ammo icon
+               drawpic_aspect_skin(picpos, GetAmmoPicture(itemcode), '1 1 0' * newSize_y, '0 0 0', panel_fg_alpha * alpha * 0.5, DRAWFLAG_NORMAL);
  }
  
  void HUD_Ammo(void)
@@@ -1976,17 -1845,10 +1982,17 @@@ void HUD_Powerups(void) 
        pos = panel_pos;
        mySize = panel_size;
  
 -      float strength_time, shield_time;
 -
 -      strength_time = bound(0, getstatf(STAT_STRENGTH_FINISHED) - time, 99);
 -      shield_time = bound(0, getstatf(STAT_INVINCIBLE_FINISHED) - time, 99);
 +      float strength_time, shield_time;
 +      if(autocvar__hud_configure)
 +      {
 +              strength_time = 15;
 +              shield_time = 27;
 +      }
 +      else
 +      {
 +              strength_time = bound(0, getstatf(STAT_STRENGTH_FINISHED) - time, 99);
 +              shield_time = bound(0, getstatf(STAT_INVINCIBLE_FINISHED) - time, 99);
 +      }
  
        HUD_Panel_DrawBg(bound(0, max(strength_time, shield_time), 1));
        if(panel_bg_padding)
                mySize -= '2 2 0' * panel_bg_padding;
        }
  
 -      if(autocvar__hud_configure)
 -      {
 -              strength_time = 15;
 -              shield_time = 27;
 -      }
 -
        vector barpos, barsize;
        vector picpos;
        vector numpos;
@@@ -2535,7 -2403,7 +2541,7 @@@ void HUD_KillNotify(string s1, string s
                if(WEP_VALID(w)) {
                        HUD_KillNotify_Push(s1, "", 0, DEATH_GENERIC);
                        if (alsoprint)
-                               print("^1", s1, "^1 ", Weapon_SuicideMessage(type), "\n");
+                               print("^1", sprintf(Weapon_SuicideMessage(type), strcat(s1, "^1")), "\n");
                } else if (type == DEATH_KILL) {
                        HUD_KillNotify_Push(s1, "", 0, DEATH_KILL);
                        if (alsoprint)
        } else if(msg == MSG_KILL) {
                w = DEATH_WEAPONOF(type);
                if(WEP_VALID(w)) {
-                       HUD_KillNotify_Push(s2, s1, 1, w);
+                       HUD_KillNotify_Push(s1, s2, 1, type);
                        if (alsoprint)
-                               print("^1", s1, "^1 ", Weapon_KillMessage(type), "\n");
+                               print("^1", sprintf(Weapon_KillMessage(type), strcat(s2, "^1"), strcat(s1, "^1")), "\n"); // default order: victim, killer
                }
                else if(type == KILL_TEAM_RED || type == KILL_TEAM_BLUE || type == KILL_TEAM_SPREE) {
                        HUD_KillNotify_Push(s1, s2, 1, type);
@@@ -3002,6 -2870,9 +3008,9 @@@ void HUD_Notify (void
                                a = 0;
                }
  
+               float w;
+               w = DEATH_WEAPONOF(killnotify_deathtype[j]);
                // TODO: maybe print in team colors?
                //
                // Y [used by] X
                        {
                                s = "weaponelectro";
                        }
-                       else if(WEP_VALID(killnotify_deathtype[j]))
+                       else if(killnotify_deathtype[j] & HITTYPE_SECONDARY && w == WEP_LASER)
+                       {
+                               s = "notify_melee_laser";
+                       }
+                       else if(killnotify_deathtype[j] & HITTYPE_SECONDARY && w == WEP_SHOTGUN)
+                       {
+                               s = "notify_melee_shotgun";
+                       }
+                       else if(WEP_VALID(w))
                        {
-                               self = get_weaponinfo(killnotify_deathtype[j]);
+                               self = get_weaponinfo(w);
                                s = strcat("weapon", self.netname);
                        }
                        else if(killnotify_deathtype[j] == KILL_TEAM_RED)
@@@ -3359,7 -3238,7 +3376,7 @@@ void HUD_Radar(void
                mySize_y
        );
  
-       draw_teamradar_background(hud_panel_radar_background_alpha, hud_panel_radar_foreground_alpha);
+       draw_teamradar_background(hud_panel_radar_foreground_alpha);
  
        for(tm = world; (tm = find(tm, classname, "radarlink")); )
                draw_teamradar_link(tm.origin, tm.velocity, tm.team);
@@@ -4722,11 -4601,11 +4739,11 @@@ void HUD_ShowSpeed(void
        pos = (vid_conheight - numsize_y) * cvar("cl_showspeed_position");
  
        drawfont = hud_bigfont;
-       drawstringcenter(eX + pos * eY, speed, numsize, '1 1 1', hud_fg_alpha, DRAWFLAG_NORMAL);
+       drawstringcenter(eX + pos * eY, speed, numsize, '1 1 1', autocvar_hud_panel_fg_alpha, DRAWFLAG_NORMAL);
  
        if (cvar("cl_showspeed_z") == 1) {
                zspeed = strcat(ftos(fabs(floor( pmove_vel_z * conversion_factor + 0.5 ))), unit);
-               drawstringcenter(eX + pos * eY + numsize_y * eY, zspeed, numsize * 0.5, '1 1 1', hud_fg_alpha, DRAWFLAG_NORMAL);
+               drawstringcenter(eX + pos * eY + numsize_y * eY, zspeed, numsize * 0.5, '1 1 1', autocvar_hud_panel_fg_alpha, DRAWFLAG_NORMAL);
        }
  
        drawfont = hud_font;
@@@ -4772,9 -4651,9 +4789,9 @@@ void HUD_ShowAcceleration(void
        }
  
        if (acceleration > 0)
-               HUD_Panel_DrawProgressBar(pos, 0, acceleration * scale * '40 0 0' + sz * eY, rgb, alpha * hud_fg_alpha, DRAWFLAG_NORMAL);
+               HUD_Panel_DrawProgressBar(pos, 0, acceleration * scale * '40 0 0' + sz * eY, rgb, alpha * autocvar_hud_panel_fg_alpha, DRAWFLAG_NORMAL);
        else if (acceleration < 0)
-               HUD_Panel_DrawProgressBar(pos + acceleration * scale * '40 0 0', 0, -acceleration * scale * '40 0 0' + sz * eY, rgb, alpha * hud_fg_alpha, DRAWFLAG_NORMAL);
+               HUD_Panel_DrawProgressBar(pos + acceleration * scale * '40 0 0', 0, -acceleration * scale * '40 0 0' + sz * eY, rgb, alpha * autocvar_hud_panel_fg_alpha, DRAWFLAG_NORMAL);
  }
  
  void HUD_Reset (void)
@@@ -4828,7 -4707,6 +4845,6 @@@ void HUD_Main (void
                menu_fade_alpha = 1;
        else
                menu_fade_alpha = (1 - autocvar__menu_alpha);
-       hud_fg_alpha = cvar("hud_fg_alpha");
  
        hud_border_thickness = bound(0, cvar("hud_border_thickness"), 5);
        hud_accuracy_border_thickness = bound(0, cvar_or("hud_accuracy_border_thickness", 1), 5);
diff --combined qcsrc/client/hud.qh
index 75c455051dbe5929385b8d7d8727e18c1716a2cb,bdc533edbd7e818a56c7b473cf7c63980a124e1c..2b5394c163541c09edb9628bf411ed4629dc8f8c
@@@ -33,7 -33,6 +33,6 @@@ float last_weapon
  float weapontime;
  
  float teamnagger;
- float hud_fg_alpha;
  float hud_accuracy_hud;
  float hud_border_thickness;
  float hud_accuracy_border_thickness;
@@@ -53,13 -52,6 +52,13 @@@ string hud_skin_path
  
  var vector progressbar_color;
  
 +var float highlightedPanel_backup = -1;
 +var vector panel_pos_backup;
 +var vector panel_size_backup;
 +
 +var float highlightedPanel_copied = -1; //this is good only to know if there is something copied
 +var vector panel_size_copied;
 +
  var float active_panel; // this panel has recently referred the UpdateCvars macro
  var string panel_name;
  var float panel_enabled;