]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into terencehill/newpanelhud
authorterencehill <piuntn@gmail.com>
Thu, 14 Oct 2010 22:40:40 +0000 (00:40 +0200)
committerterencehill <piuntn@gmail.com>
Thu, 14 Oct 2010 22:40:40 +0000 (00:40 +0200)
Conflicts:
defaultXonotic.cfg

1  2 
defaultXonotic.cfg
qcsrc/client/View.qc
qcsrc/client/hud.qc

diff --combined defaultXonotic.cfg
index 6add08594e9cbcec37488b6cf498edf9cc4110bf,97f94e02b2982e99c05dad759fc3c140a91312d3..15f9419fa73d85e5c919757c8c2fa2649c71a514
@@@ -87,7 -87,15 +87,15 @@@ _cl_color 10
  _cl_name Player
  _cl_playermodel models/player/umbra.iqm
  _cl_playerskin 0
- crosshair 1
+ seta crosshair 3
+ seta crosshair_color_red 0.6
+ seta crosshair_color_green 0.8
+ seta crosshair_color_blue 1
+ seta crosshair_alpha 1
+ seta crosshair_size 0.35
+ seta crosshair_dot 1
+ seta crosshair_dot_alpha 1
+ seta crosshair_dot_size 1
  seta crosshair_per_weapon 0   "when 1, each gun will display a different crosshair"
  seta crosshair_color_override 0       "when 1, crosshair_color_* overrides the per-weapon color"
  seta crosshair_effect_speed -1 "how fast (in seconds) some crosshair effects should take place, 0 = instant, -1 = 2x weapon switch time"
@@@ -119,6 -127,12 +127,12 @@@ seta crosshair_grenadelauncher_color_gr
  seta crosshair_grenadelauncher_color_blue 0   "crosshair color blue component to display when wielding the mortar"
  seta crosshair_grenadelauncher_color_alpha 1.15       "crosshair alpha value to display when wielding the mortar"
  seta crosshair_grenadelauncher_size 0.7       "crosshair size when wielding the mortar"
+ seta crosshair_minelayer ""   "crosshair to display when wielding the mortar"
+ seta crosshair_minelayer_color_red 0.75       "crosshair color red component to display when wielding the mortar"
+ seta crosshair_minelayer_color_green 0.75     "crosshair color green component to display when wielding the mortar"
+ seta crosshair_minelayer_color_blue 0 "crosshair color blue component to display when wielding the mortar"
+ seta crosshair_minelayer_color_alpha 1.15     "crosshair alpha value to display when wielding the mortar"
+ seta crosshair_minelayer_size 0.9     "crosshair size when wielding the mortar"
  seta crosshair_electro ""     "crosshair to display when wielding the electro"
  seta crosshair_electro_color_red 0.35 "crosshair color red component to display when wielding the electro"
  seta crosshair_electro_color_green 0.5        "crosshair color green component to display when wielding the electro"
@@@ -185,7 -199,6 +199,6 @@@ seta crosshair_campingrifle_color_gree
  seta crosshair_campingrifle_color_blue 0.25   "crosshair color blue component to display when wielding the campingrifle"
  seta crosshair_campingrifle_color_alpha 1     "crosshair alpha value to display when wielding the campingrifle"
  seta crosshair_campingrifle_size 0.65 "crosshair size when wielding the campingrifle"
- seta crosshair_campingrifle_ring_size 1.5     "bullet counter ring size around campingrifle crosshair, multiple of crosshair_campingrifle_size"
  seta crosshair_tuba ""        "crosshair to display when wielding the tuba"
  seta crosshair_tuba_color_red 0.85    "crosshair color red component to display when wielding the tuba"
  seta crosshair_tuba_color_green 0.5   "crosshair color green component to display when wielding the tuba"
@@@ -198,10 -211,9 +211,9 @@@ seta crosshair_fireball_color_green 1.
  seta crosshair_fireball_color_blue 0.2        "crosshair color blue component to display when wielding the fireball"
  seta crosshair_fireball_color_alpha 1 "crosshair alpha value to display when wielding the fireball"
  seta crosshair_fireball_size 1        "crosshair size when wielding the fireball"
- seta crosshair_nexvelocity_color_red 0.8
- seta crosshair_nexvelocity_color_green 0
- seta crosshair_nexvelocity_color_blue 0
- seta crosshair_nexvelocity_alpha 0.25
+ seta crosshair_ring_size 3    "bullet counter ring size for Rifle, velocity ring for Nex"
+ seta crosshair_campingrifle_bulletcounter_alpha 0.15
+ seta crosshair_nexvelocity_alpha 0.15
  seta cl_reticle_stretch 0 "whether to stretch reticles so they fit the screen (brakes image proportions)"
  seta cl_reticle_item_nex 1 "draw aiming recticle for the nex weapon's zoom, 0 disables and values between 0 and 1 change alpha"
  seta cl_reticle_item_normal 1 "draw recticle when zooming with the zoom button, 0 disables and values between 0 and 1 change alpha"
@@@ -342,10 -354,10 +354,10 @@@ set sv_fragmessage_information_typefra
  set sv_friction_on_land 0
  exec physicsNoQWBunny-xpmbased.cfg
  
- set sv_player_viewoffset "0 0 35" "view offset of the player model"
+ set sv_player_viewoffset "0 0 42" "view offset of the player model"
  set sv_player_mins "-16 -16 -24" "playermodel mins"
  set sv_player_maxs "16 16 45" "playermodel maxs"
- set sv_player_crouch_viewoffset "0 0 15" "view offset of the player model when crouched"
+ set sv_player_crouch_viewoffset "0 0 20" "view offset of the player model when crouched"
  set sv_player_crouch_mins "-16 -16 -24" "mins of a crouched playermodel"
  set sv_player_crouch_maxs "16 16 25" "maxs of a crouched playermodel"
  
@@@ -430,9 -442,9 +442,9 @@@ set bot_ai_keyboard_treshold 0.5
  set bot_ai_aimskill_offset 0.3 "Amount of error induced to the bots aim"
  set bot_ai_aimskill_think 1 "Aiming velocity. Use values below 1 for slower aiming"
  set bot_ai_custom_weapon_priority_distances "300 850" "Define close and far distances in any order. Based on the distance to the enemy bots will choose different weapons"
- set bot_ai_custom_weapon_priority_far   "minstanex nex campingrifle rocketlauncher grenadelauncher electro hagar hlac crylink laser uzi fireball seeker shotgun tuba" "Desired weapons for far distances ordered by priority"
- set bot_ai_custom_weapon_priority_mid   "minstanex rocketlauncher nex fireball seeker grenadelauncher electro uzi campingrifle crylink hlac hagar shotgun laser tuba" "Desired weapons for middle distances ordered by priority"
- set bot_ai_custom_weapon_priority_close "minstanex nex uzi hlac tuba seeker hagar crylink grenadelauncher shotgun electro campingrifle rocketlauncher laser fireball" "Desired weapons for close distances ordered by priority"
+ set bot_ai_custom_weapon_priority_far   "minstanex nex campingrifle rocketlauncher minelayer grenadelauncher electro hagar hlac crylink laser uzi fireball seeker shotgun tuba"       "Desired weapons for far distances ordered by priority"
+ set bot_ai_custom_weapon_priority_mid   "minstanex rocketlauncher nex fireball seeker minelayer grenadelauncher electro uzi campingrifle crylink hlac hagar shotgun laser tuba"       "Desired weapons for middle distances ordered by priority"
+ set bot_ai_custom_weapon_priority_close "minstanex nex uzi hlac tuba seeker hagar crylink minelayer grenadelauncher shotgun electro campingrifle rocketlauncher laser fireball"       "Desired weapons for close distances ordered by priority"
  set bot_ai_weapon_combo 1     "Enable bots to do weapon combos"
  set bot_ai_weapon_combo_threshold 0.3 "Try to make a combo N seconds after the last attack"
  set bot_ai_friends_aware_pickup_radius "500"  "Bots will not pickup items if a team mate is this distance near the item"
@@@ -1054,13 -1066,13 +1066,13 @@@ set rcon_restricted_commands "restart f
  set sv_vote_call 1    "users can call a vote for the above commands"
  set sv_vote_master 1  "users can call a vote to become master"
  set sv_vote_master_password ""        "when set, users can use \"vlogin PASSWORD\" to log in as master"
- set sv_vote_change 0  "set to 1 to allow to change you vote/mind"
+ set sv_vote_change 1  "set to 1 to allow to change you vote/mind"
  set sv_vote_singlecount 0     "set to 1 to count votes once after timeout or to 0 to count with every vote"
- set sv_vote_timeout 60        "a vote will timeout after this many seconds"
+ set sv_vote_timeout 30        "a vote will timeout after this many seconds"
  set sv_vote_wait 120  "a player can not call a vote again for this many seconds when his vote was not accepted"
  set sv_vote_stop 15   "a player can not call a vote again for this many seconds when he stopped this vote (e.g. to correct it)"
  set sv_vote_majority_factor 0.5       "which quotient of the PLAYERS constitute a majority? (try: 0.667, 0.75 when using the above)"
- set sv_vote_simple_majority_factor 0  "which quotient of the VOTERS constitute a majority too? (0 = off, otherwise it must be higher than or equal to sv_vote_majority_factor)"
+ set sv_vote_simple_majority_factor 0.667      "which quotient of the VOTERS constitute a majority too? (0 = off, otherwise it must be higher than or equal to sv_vote_majority_factor)"
  // when disabled, don't allow game type changes "note: set these two equal to JUST support simple majorities"
  set sv_vote_override_mostrecent 0
  alias vhelp "cmd vote help"
@@@ -1322,7 -1334,9 +1334,9 @@@ seta menu_sounds 0 "enables menu sound 
  
  r_textbrightness 0.2
  r_textcontrast 0.8
- r_textshadow 1
+ r_textshadow 0
+ r_font_postprocess_blur 2
+ r_font_postprocess_outline 1
  
  // good settings for these fonts
  con_chat 5
@@@ -1389,11 -1403,11 +1403,11 @@@ seta scoreboard_columns defaul
  seta scoreboard_border_thickness 1 "scoreboard border thickness"
  seta scoreboard_accuracy_border_thickness 1 "accuracy stats border thickness"
  seta scoreboard_accuracy_doublerows 0 "use two rows instead of one"
- seta scoreboard_accuracy 1 "show accuracy stats panel on scoreboard"
 -seta scoreboard_accuracy 1 "0 = no weapon accuracy stats panel on scoreboard"
 -seta scoreboard_color_bg_r 0 "red color component of the HUD background"
 -seta scoreboard_color_bg_g 0.4 "green color component of the HUD background"
 -seta scoreboard_color_bg_b 0.6 "blue color component of the HUD background"
 -seta scoreboard_color_bg_team 0.5 "team color multiplier of the HUD background"
++seta scoreboard_accuracy 1 "show weapon accuracy stats panel on scoreboard"
 +seta scoreboard_color_bg_r 0 "red color component of the scoreboard background"
- seta scoreboard_color_bg_g 0.25 "green color component of the scoreboard background"
- seta scoreboard_color_bg_b 0.17 "blue color component of the scoreboard background"
++seta scoreboard_color_bg_g 0.4 "green color component of the scoreboard background"
++seta scoreboard_color_bg_b 0.6 "blue color component of the scoreboard background"
 +seta scoreboard_color_bg_team 0.5 "team color multiplier of the scoreboard background"
  seta scoreboard_alpha_bg 0.6 "scoreboard background alpha"
  seta scoreboard_alpha_fg 1 "scoreboard foreground alpha"
  seta scoreboard_alpha_name 0.9 "alpha of player text in scoreboard list other than self"
@@@ -1531,6 -1545,7 +1545,6 @@@ set capturelimit 
  
  // hud: font size
  seta hud_fontsize 11
 -seta hud_fontsize_spec 16
  seta scr_centersize 12
  seta hud_width 560
  // alias hud_font "loadfont user1 ${1},gfx/fallback ${2-}; loadfont user2 ${1}-big ${2-}; scoreboard_columns_set"
@@@ -1547,13 -1562,13 +1561,13 @@@ set g_jump_grunt 0   "Do you make a grunt
  
  alias allready "sv_cmd allready"
  
- seta cl_weaponpriority "minstanex rocketlauncher nex grenadelauncher fireball hlac hagar seeker crylink campingrifle uzi electro tuba shotgun laser hook porto" "weapon priority list"
+ seta cl_weaponpriority "minstanex rocketlauncher nex minelayer grenadelauncher fireball hlac hagar seeker crylink campingrifle uzi electro tuba shotgun laser hook porto" "weapon priority list"
  seta cl_weaponpriority_useforcycling 0 "when set, weapon cycling by the mouse wheel makes use of the weapon priority list (the special value 2 uses the weapon ID list for cycling)"
  seta cl_weaponpriority0 "rocketlauncher grenadelauncher hagar seeker fireball" "use impulse 200 for prev gun from this list, 210 for best gun, 220 for next gun.  Default value: explosives"
  seta cl_weaponpriority1 "minstanex nex crylink hlac electro laser"             "use impulse 201 for prev gun from this list, 211 for best gun, 221 for next gun.  Default value: energy"
  seta cl_weaponpriority2 "minstanex nex campingrifle"                           "use impulse 202 for prev gun from this list, 212 for best gun, 222 for next gun.  Default value: hitscan exact"
  seta cl_weaponpriority3 "minstanex nex campingrifle uzi shotgun"               "use impulse 203 for prev gun from this list, 213 for best gun, 223 for next gun.  Default value: hitscan all"
- seta cl_weaponpriority4 "grenadelauncher hlac hagar crylink seeker shotgun"    "use impulse 204 for prev gun from this list, 214 for best gun, 224 for next gun.  Default value: spam weapons"
+ seta cl_weaponpriority4 "minelayer grenadelauncher hlac hagar crylink seeker shotgun"    "use impulse 204 for prev gun from this list, 214 for best gun, 224 for next gun.  Default value: spam weapons"
  seta cl_weaponpriority5 "laser hook porto"                                     "use impulse 205 for prev gun from this list, 215 for best gun, 225 for next gun.  Default value: weapons for moving"
  seta cl_weaponpriority6 "" "use impulse 206 for prev gun from this list, 216 for best gun, 226 for next gun"
  seta cl_weaponpriority7 "" "use impulse 207 for prev gun from this list, 217 for best gun, 227 for next gun"
@@@ -1893,6 -1908,7 +1907,7 @@@ cl_decals_newsystem 
  set g_weaponreplace_laser ""
  set g_weaponreplace_shotgun ""
  set g_weaponreplace_uzi ""
+ set g_weaponreplace_minelayer ""
  set g_weaponreplace_grenadelauncher ""
  set g_weaponreplace_electro ""
  set g_weaponreplace_crylink ""
@@@ -1926,6 -1942,11 +1941,11 @@@ scr_conscroll3_y 
  scr_conscroll_x -0.1
  scr_conscroll_y -0.3
  
+ scr_loadingscreen_background 0
+ scr_loadingscreen_barcolor "0 0.5 1"
+ scr_loadingscreen_barheight 20
+ scr_loadingscreen_count 1
  // DP cannot properly detect this, so rather turn off the detection
  r_texture_dds_load_dxt1_noalpha 1
  
diff --combined qcsrc/client/View.qc
index ef56cc7b893fac36e9fc4f2992a77009a1c61cb9,5f422a03eb0a4b3db660a7ce8b6e13b66ee8acbf..b57ef2ca176da6c6aef8c047e4ec2dede8deb56e
@@@ -338,7 -338,7 +338,7 @@@ void CSQC_common_hud(void)
  
  void PostInit(void);
  void CSQC_Demo_Camera();
 -float HUD_WouldDrawScoreboard ();
 +float HUD_WouldDrawScoreboard();
  float view_set;
  float camera_mode;
  float reticle_type;
@@@ -382,7 -382,7 +382,7 @@@ void CSQC_UpdateView(float w, float h
        input_angles = warpzone_fixview_cl_viewangles;
        view_angles = warpzone_fixview_angles;
  
-       if(cvar("cl_lockview") || autocvar__hud_configure)
+       if(cvar("cl_lockview") || (autocvar__hud_configure && spectatee_status <= 0))
        {
                pmove_org = freeze_pmove_org;
                input_angles = view_angles = freeze_input_angles;
                }
        }
  
 -      hud_accuracy_hud = cvar_or("hud_accuracy_hud", 1);
        ColorTranslateMode = cvar("cl_stripcolorcodes");
        activeweapon = getstati(STAT_SWITCHWEAPON);
        f = cvar("teamplay");
        }
  
        // Draw the Crosshair
 -      float scoreboard_active;
 -      scoreboard_active = HUD_WouldDrawScoreboard();
        R_SetView(VF_DRAWCROSSHAIR, 0); //Make sure engine crosshairs are always hidden
  
        // Draw the Engine Status Bar (the default Quake HUD)
        // the view to go back to normal, so reticle_type would become 0 as we fade out)
        if(spectatee_status || getstati(STAT_HEALTH) <= 0)
                reticle_type = 0; // prevent reticle from showing during the respawn zoom effect or for spectators
+       else if(activeweapon == WEP_NEX && (button_zoom || zoomscript_caught) || activeweapon == WEP_CAMPINGRIFLE && (button_zoom || zoomscript_caught) || activeweapon == WEP_MINSTANEX && (button_zoom || zoomscript_caught))
+               reticle_type = 2; // nex zoom
        else if(button_zoom || zoomscript_caught)
                reticle_type = 1; // normal zoom
        else if(activeweapon == WEP_NEX && button_attack2 || activeweapon == WEP_CAMPINGRIFLE && button_attack2)
                        self.draw2d();
        self = e;
  
 +      scoreboard_active = HUD_WouldDrawScoreboard();
 +
        float hud;
        hud = getstati(STAT_HUD);
        if(hud == HUD_SPIDERBOT)
 -      {
                CSQC_SPIDER_HUD();
 -      }
        else if(hud == HUD_WAKIZASHI)
          CSQC_WAKIZASHI_HUD();
      else if(hud == HUD_RAPTOR)
                        if(cvar("viewsize") < 120)
                                CSQC_common_hud();
  
-               // ring around crosshair representing velocity-dependent damage for the nex
-               if (activeweapon == WEP_NEX)
-               {
-                       float f, a, curvel;
-                       vector rgb;
-                       rgb_x = cvar("crosshair_nexvelocity_color_red");
-                       rgb_y = cvar("crosshair_nexvelocity_color_green");
-                       rgb_z = cvar("crosshair_nexvelocity_color_blue");
-                       a = cvar("crosshair_nexvelocity_alpha");
-                       curvel = vlen('1 0 0' * pmove_vel_x + '0 1 0' * pmove_vel_y);
-                       f = bound(0, (curvel - nex_minvelocity) / (nex_maxvelocity - nex_minvelocity), 1);
-                       DrawCircleClippedPic('0.5 0 0' * vid_conwidth + '0 0.5 0' * vid_conheight, 0.1 * vid_conheight, "gfx/nex_ring.tga", f, rgb, a, DRAWFLAG_ADDITIVE);
-               }
                // crosshair goes VERY LAST
                if(!scoreboard_active && !camera_active && intermission != 2) {
                        // TrueAim check
                                wcross_scale *= 1 - cvar("_menu_alpha");
                                wcross_alpha *= 1 - cvar("_menu_alpha");
  
+                               ring_scale = cvar("crosshair_ring_size");
+                               float f, a;
+                               wcross_size = drawgetimagesize(wcross_name) * wcross_scale;
+                               float xyspeed;
+                               xyspeed = vlen('1 0 0' * pmove_vel_x + '0 1 0' * pmove_vel_y);
+                               if(xyspeed > nex_speed)
+                                       nex_speed = min(xyspeed, nex_maxvelocity);
+                               else
+                                       nex_speed = max(nex_minvelocity, nex_speed - nex_speed_falloff_rate * frametime);
+                               if (activeweapon == WEP_NEX && button_attack2 && nex_charge && getstati(GetAmmoStat(3)))
+                                       nex_speed = min(nex_maxvelocity, nex_speed + nex_charge_rate * frametime);
                                // ring around crosshair representing bullets left in camping rifle clip
-                               if (activeweapon == WEP_CAMPINGRIFLE)
+                               if (activeweapon == WEP_CAMPINGRIFLE && cr_maxbullets)
                                {
-                                       ring_scale = cvar("crosshair_campingrifle_ring_size");
-                                       bullets = bound(0, getstati(STAT_BULLETS_LOADED), 4);
+                                       bullets = getstati(STAT_BULLETS_LOADED);
+                                       f = bound(0, bullets / cr_maxbullets, 1);
+                                       a = cvar("crosshair_campingrifle_bulletcounter_alpha");
+                                       DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, "gfx/crosshair_ring.tga", f, wcross_color, wcross_alpha * a, DRAWFLAG_ADDITIVE);
                                }
-                               else
-                                       bullets = 0;
+                               else if (activeweapon == WEP_NEX && nex_velocitydependent && nex_speed > nex_minvelocity) // ring around crosshair representing velocity-dependent damage for the nex
+                               {
+                                       f = bound(0, (nex_speed - nex_minvelocity) / (nex_maxvelocity - nex_minvelocity), 1);
  
- #define CROSSHAIR_DRAW_RING(i,j,sz,wcross_name,wcross_alpha) \
-                               drawpic(wcross_origin - ('0.5 0 0' * (sz * wcross_size_x * ring_scale + i * wcross_blur) + '0 0.5 0' * (sz * wcross_size_y * ring_scale + j * wcross_blur)), strcat("gfx/rifle_ring_", ftos(bullets)), sz * wcross_size * ring_scale, wcross_color, wcross_alpha, DRAWFLAG_NORMAL)
+                                       a = cvar("crosshair_nexvelocity_alpha");
+                                       DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, "gfx/crosshair_ring.tga", f, wcross_color, wcross_alpha * a, DRAWFLAG_ADDITIVE);
+                               }
  
  #define CROSSHAIR_DO_BLUR(M,sz,wcross_name,wcross_alpha) \
                                do \
                                }
  
                                wcross_size = drawgetimagesize(wcross_name) * wcross_scale;
-                               if(bullets)
-                               {
-                                       CROSSHAIR_DO_BLUR(CROSSHAIR_DRAW_RING, wcross_resolution, wcross_name, wcross_alpha);
-                               }
                                CROSSHAIR_DRAW(wcross_resolution, wcross_name, wcross_alpha * f);
+                               if(cvar("crosshair_dot"))
+                                       CROSSHAIR_DRAW(wcross_resolution * cvar("crosshair_dot_size"), "gfx/crosshairdot.tga", wcross_alpha * f * cvar("crosshair_dot_alpha"));
                                wcross_name_alpha_goal_prev = f;
                        }
                }
@@@ -1267,11 -1274,9 +1271,11 @@@ void CSQC_common_hud(void
                case HUD_NORMAL:
                        // do some accuracy var caching
                        float i;
 +                      if(cvar_string("hud_panel_weapons_accuracy_color_levels") != acc_color_levels)
                        if(!(gametype == GAME_RACE || gametype == GAME_CTS))
                        {
 -                              acc_levels = tokenize(cvar_string("hud_panel_weapons_accuracy_color_levels"));
 +                              acc_color_levels = cvar_string("hud_panel_weapons_accuracy_color_levels");
 +                              acc_levels = tokenize(acc_color_levels);
                                if (acc_levels > MAX_ACCURACY_LEVELS)
                                        acc_levels = MAX_ACCURACY_LEVELS;
  
                        HUD_Main(); // always run these functions for alpha checks
                        HUD_DrawScoreboard();
  
 -                      if (scoreboard_showscores || scoreboard_showscores_force || getstati(STAT_HEALTH) <= 0 || intermission == 1) // scoreboard/accuracy
 +                      if (scoreboard_active) // scoreboard/accuracy
                        {       
                                HUD_Reset();
                                // HUD_DrawScoreboard takes care of centerprint_start
diff --combined qcsrc/client/hud.qc
index 79039c2d4b8354c4501da2599110d76e7b5276fb,69459256f0a22acd972fa7aea299402905a518e9..7d5d98f5ec2768eeb39c93dba9e379dabad9a86f
@@@ -284,9 -284,10 +284,9 @@@ void HUD_DrawCenterPrint (void
  
        sz = 0.8 + (a / 5);
  
 -      if(centerprint_num * cvar("scr_centersize") > 24 && HUD_WouldDrawScoreboard()) // 24 = height of Scoreboard text
 -      {
 +      if(centerprint_num * cvar("scr_centersize") > 24 && scoreboard_active) // 24 = height of Scoreboard text
                centerprint_start_y = scoreboard_bottom + centerprint_fontsize_y;
 -      }
 +
        pos = centerprint_start;
        for (i=0; i<centerprint_num; i = i + 1)
        {
@@@ -1332,9 -1333,6 +1332,9 @@@ void HUD_Panel_Mouse(
        print("Menu alpha: ", cvar_string("_menu_alpha"), "\n");
        */
  
 +      if(menu_enabled)
 +              return;
 +
        if(mouseClicked == 0 && disable_menu_alphacheck != 2 && highlightedPanel >= 0) { // don't reset these variables in disable_menu_alphacheck mode 2!
                highlightedPanel = -1;
                highlightedAction = 0;
        cursorsize = '32 32 0';
  
        if(highlightcheck == 0)
-               drawpic(mousepos, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor.tga"), '32 32 0', '1 1 1', 1, DRAWFLAG_NORMAL);
+               drawpic(mousepos, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor.tga"), '32 32 0', '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL);
        else if(highlightcheck == 1)
-               drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_move.tga"), '32 32 0', '1 1 1', 1, DRAWFLAG_NORMAL);
+               drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_move.tga"), '32 32 0', '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL);
        else if(highlightcheck == 2)
-               drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_resize.tga"), '32 32 0', '1 1 1', 1, DRAWFLAG_NORMAL);
+               drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_resize.tga"), '32 32 0', '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL);
        else
-               drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_resize2.tga"), '32 32 0', '1 1 1', 1, DRAWFLAG_NORMAL);
+               drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", cvar_string("menu_skin"), "/cursor_resize2.tga"), '32 32 0', '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL);
  
        prevMouseClicked = mouseClicked;
  }
@@@ -1480,6 -1478,7 +1480,7 @@@ float GetAmmoTypeForWep(float i
                case WEP_UZI: return 1;
                case WEP_CAMPINGRIFLE: return 1;
                case WEP_GRENADE_LAUNCHER: return 2;
+               case WEP_MINE_LAYER: return 2;
                case WEP_ELECTRO: return 3;
                case WEP_CRYLINK: return 3;
                case WEP_HLAC: return 3;
@@@ -1659,10 -1658,6 +1660,10 @@@ void HUD_Weapons(void
        vector wpnpos;
        vector wpnsize;
  
 +      float show_accuracy;
 +      if(autocvar_hud_panel_weapons_accuracy && acc_levels)
 +              show_accuracy = true;
 +
        for(i = 0; i < weapon_cnt; ++i)
        {
                wpnpos = panel_pos + eX * column * panel_size_x*(1/columns) + eY * row * panel_size_y*(1/rows);
                        drawpic_aspect_skin(wpnpos, "weapon_current_bg", wpnsize, '1 1 1', fade * panel_fg_alpha, DRAWFLAG_NORMAL);
  
                // draw the weapon accuracy
 -              if(acc_levels)
 +              if(show_accuracy)
                {
                        float weapon_hit, weapon_damage;
                        weapon_damage = weapon_fired[self.weapon-WEP_FIRST];
@@@ -4833,8 -4828,6 +4834,8 @@@ void HUD_ShowAcceleration(void
        f = bound(0, f * 10, 1);
        acc_avg = acc_avg * (1 - f) + acceleration * f;
        acceleration = acc_avg / getstatf(STAT_MOVEVARS_MAXSPEED);
 +      if (acceleration == 0)
 +              return;
  
        pos = top - sz/2 * eY + (cvar("cl_showacceleration_position") * vid_conheight) * eY;
  
        if (cvar("cl_showacceleration_color_custom"))
                rgb = stov(cvar_string("cl_showacceleration_color"));
        else {
 -              rgb = '1 1 1';
 -              if (acceleration < 0) {
 +              if (acceleration < 0)
                        rgb = '1 .5 .5' - '0 .5 .5' * bound(0, -acceleration * 0.2, 1);
 -              } else if (acceleration > 0) {
 +              else
                        rgb = '.5 1 .5' - '.5 0 .5' * bound(0, +acceleration * 0.2, 1);
 -              }
        }
  
        if (acceleration > 0)
                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)
 +      else
                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);
  }
  
@@@ -4921,6 -4916,7 +4922,6 @@@ void HUD_Main (void
        hud_accuracy_border_thickness = bound(0, cvar_or("hud_accuracy_border_thickness", 1), 5);
  
        hud_fontsize = HUD_GetFontsize("hud_fontsize");
 -      hud_fontsize_spec = HUD_GetFontsize("hud_fontsize_spec");
  
        // Drawing stuff