From: terencehill Date: Thu, 14 Oct 2010 22:40:40 +0000 (+0200) Subject: Merge branch 'master' into terencehill/newpanelhud X-Git-Tag: xonotic-v0.1.0preview~267^2~10 X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=1d3adc69b6b41927e8a338d02451695128388efc;hp=-c Merge branch 'master' into terencehill/newpanelhud Conflicts: defaultXonotic.cfg --- 1d3adc69b6b41927e8a338d02451695128388efc diff --combined defaultXonotic.cfg index 6add08594e,97f94e02b2..15f9419fa7 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@@ -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 ef56cc7b89,5f422a03eb..b57ef2ca17 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@@ -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; @@@ -468,6 -468,7 +468,6 @@@ } } - hud_accuracy_hud = cvar_or("hud_accuracy_hud", 1); ColorTranslateMode = cvar("cl_stripcolorcodes"); activeweapon = getstati(STAT_SWITCHWEAPON); f = cvar("teamplay"); @@@ -533,6 -534,8 +533,6 @@@ } // 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) @@@ -619,6 -622,8 +619,8 @@@ // 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) @@@ -678,12 -683,12 +680,12 @@@ 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) @@@ -694,24 -699,6 +696,6 @@@ 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 @@@ -839,17 -826,37 +823,37 @@@ 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 \ @@@ -886,11 -893,11 +890,11 @@@ } 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; @@@ -1282,7 -1287,7 +1286,7 @@@ 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 79039c2d4b,69459256f0..7d5d98f5ec --- a/qcsrc/client/hud.qc +++ b/qcsrc/client/hud.qc @@@ -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= 0) { // don't reset these variables in disable_menu_alphacheck mode 2! highlightedPanel = -1; highlightedAction = 0; @@@ -1421,13 -1419,13 +1421,13 @@@ 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); @@@ -1676,7 -1671,7 +1677,7 @@@ 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; @@@ -4844,15 -4837,17 +4845,15 @@@ 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