X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2FView.qc;h=1056fd59ae435b9fbffb334ef20f57fb6590aa42;hb=0a6ce0928d11c81f66a7d3b63d2e6375169b6f47;hp=afa884df1ea055a8a1c578d16243e5f3811b9431;hpb=03c6f7285271ef87a883907532cc0bd7d28d728c;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index afa884df1..1056fd59a 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -291,6 +291,10 @@ float TrueAimCheck() mi = '-16 -16 -16'; ma = '16 16 16'; break; + case WEP_SEEKER: // projectile has a size! + mi = '-2 -2 -2'; + ma = '2 2 2'; + break; case WEP_ELECTRO: // projectile has a size! mi = '0 0 -3'; ma = '0 0 -3'; @@ -332,11 +336,9 @@ float TrueAimCheck() void CSQC_common_hud(void); -void CSQC_kh_hud(void); -void CSQC_ctf_hud(void); void PostInit(void); void CSQC_Demo_Camera(); -float Sbar_WouldDrawScoreboard (); +float HUD_WouldDrawScoreboard (); float view_set; float camera_mode; string NextFrameCommand; @@ -363,17 +365,19 @@ void CSQC_UpdateView(float w, float h) vo = '0 0 1' * getstati(STAT_VIEWHEIGHT); warpzone_fixview_origin = pmove_org + vo; - warpzone_fixview_angles = input_angles; + warpzone_fixview_cl_viewangles = input_angles; + warpzone_fixview_angles = view_angles; WarpZone_FixView(); pmove_org = warpzone_fixview_origin - vo; - input_angles = warpzone_fixview_angles; + input_angles = warpzone_fixview_cl_viewangles; + view_angles = warpzone_fixview_angles; - if(cvar("cl_lockview")) + if(cvar("cl_lockview") || hud_configure) { - pmove_org = warpzone_fixview_origin = freeze_pmove_org; - input_angles = freeze_input_angles; + pmove_org = freeze_pmove_org; + input_angles = view_angles = freeze_input_angles; R_SetView(VF_ORIGIN, pmove_org + vo); - R_SetView(VF_ANGLES, input_angles); + R_SetView(VF_ANGLES, view_angles); //R_SetView(VF_CL_VIEWANGLES, input_angles); } freeze_pmove_org = pmove_org; @@ -457,17 +461,14 @@ void CSQC_UpdateView(float w, float h) } } - sbar_alpha_fg = cvar("sbar_alpha_fg" ) * (1 - cvar("_menu_alpha")); - sbar_currentammo = cvar("sbar_showcurrentammo"); - sbar_hudselector = cvar("sbar_hudselector"); - sbar_accuracy_hud = cvar_or("sbar_accuracy_hud", 1); + hud_accuracy_hud = cvar_or("hud_accuracy_hud", 1); ColorTranslateMode = cvar("cl_stripcolorcodes"); activeweapon = getstati(STAT_SWITCHWEAPON); f = cvar("teamplay"); if(f != teamplay) { teamplay = f; - Sbar_InitScores(); + HUD_InitScores(); } if(last_weapon != activeweapon) { @@ -517,15 +518,15 @@ void CSQC_UpdateView(float w, float h) // Draw the Crosshair float scoreboard_active; - scoreboard_active = Sbar_WouldDrawScoreboard(); + 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) - R_SetView(VF_DRAWENGINESBAR, 0); + R_SetView(VF_DRAWENGINEHUD, 0); // fetch this one only once per frame - sbar_showbinds = cvar("sbar_showbinds"); - sbar_showbinds_limit = cvar("sbar_showbinds_limit"); + hud_showbinds = cvar("hud_showbinds"); + hud_showbinds_limit = cvar("hud_showbinds_limit"); // Update the mouse position /* @@ -571,37 +572,9 @@ void CSQC_UpdateView(float w, float h) self.draw2d(); self = e; - // draw radar - if( - ons_showmap - || - ( - !scoreboard_active - && - cvar_string("cl_teamradar") != "0" - && - ( - cvar("cl_teamradar") == 2 - || - teamplay - ) - ) - ) - teamradar_view(); - - // draw sbar + // draw hud if(cvar("r_letterbox") == 0) { - if (cvar("cl_showpressedkeys")) { // draw pressed keys when spectating and playing - if(spectatee_status > 0 || cvar("cl_showpressedkeys") >= 2) - Sbar_DrawPressedKeys(); - } - - if (cvar("cl_showspeed")) - Sbar_ShowSpeed(); - if (cvar("cl_showacceleration")) - Sbar_ShowAcceleration(); - - Sbar_DrawCenterPrint(); // draw centerprint messages even if viewsize >= 120 + HUD_DrawCenterPrint(); // draw centerprint messages even if viewsize >= 120 } float hud; @@ -621,7 +594,7 @@ void CSQC_UpdateView(float w, float h) CSQC_common_hud(); // crosshair goes VERY LAST - if(!scoreboard_active && !ons_showmap && !camera_active) { + if(!scoreboard_active && !camera_active) { // TrueAim check float shottype; float bullets, ring_scale; @@ -757,7 +730,7 @@ void CSQC_UpdateView(float w, float h) bullets = 0; #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/hud/rifle_ring_", ftos(bullets)), sz * wcross_size * ring_scale, wcross_color, wcross_alpha, DRAWFLAG_NORMAL) + 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/hud/", cvar_string("hud_skin"), "/rifle_ring_", ftos(bullets)), sz * wcross_size * ring_scale, wcross_color, wcross_alpha, DRAWFLAG_NORMAL) #define CROSSHAIR_DO_BLUR(M,sz,wcross_name,wcross_alpha) \ do \ @@ -857,19 +830,19 @@ void CSQC_UpdateView(float w, float h) cvar_set("vid_conheight", h0); } + if(hud_configure) + HUD_Panel_Mouse(); // be safe against triggerbots until everyone has the fixed engine // this call is meant to overwrite the trace globals by something // unsuspicious traceline('0 0 0', '0 0 0', MOVE_WORLDONLY, world); } -void Sbar_Draw(); #define spider_h "gfx/vehicles/hud_bg.tga" #define spider_b "gfx/vehicles/sbot.tga" #define spider_r "gfx/vehicles/sbot_rpods.tga" #define spider_g "gfx/vehicles/sbot_mguns.tga" #define spider_s "gfx/vehicles/shiled.tga" - #define spider_a1 "gfx/hud/sb_rocket.tga" #define spider_a2 "gfx/sb_bullets.tga" @@ -972,10 +945,10 @@ void CSQC_SPIDER_HUD() } */ - if (sb_showscores) + if (scoreboard_showscores) { - Sbar_DrawScoreboard(); - Sbar_DrawCenterPrint(); + HUD_DrawScoreboard(); + HUD_DrawCenterPrint(); } } @@ -986,9 +959,6 @@ void CSQC_SPIDER_HUD() #define raptor_g2 "gfx/vehicles/raptor_bombs.tga" #define raptor_s "gfx/vehicles/shiled.tga" -#define spider_a1 "gfx/hud/sb_rocket.tga" -#define spider_a2 "gfx/sb_bullets.tga" - void CSQC_RAPTOR_HUD() { float rockets, reload, heat, hp, shield, energy; @@ -1042,10 +1012,10 @@ void CSQC_RAPTOR_HUD() drawpic(hudloc, raptor_g2, picsize, '1 1 1' * reload + '1 0 0' * (1 - reload), 1, DRAWFLAG_NORMAL); - if (sb_showscores) + if (scoreboard_showscores) { - Sbar_DrawScoreboard(); - Sbar_DrawCenterPrint(); + HUD_DrawScoreboard(); + HUD_DrawCenterPrint(); } } @@ -1152,10 +1122,10 @@ const float STAT_VEHICLESTAT_RELOAD2 = 66; - if (sb_showscores) + if (scoreboard_showscores) { - Sbar_DrawScoreboard(); - Sbar_DrawCenterPrint(); + HUD_DrawScoreboard(); + HUD_DrawCenterPrint(); } } @@ -1163,7 +1133,7 @@ const float STAT_VEHICLESTAT_RELOAD2 = 66; void CSQC_common_hud(void) { - // Sbar_SortFrags(); done in Sbar_Draw + // HUD_SortFrags(); done in HUD_Draw float hud; hud = getstati(STAT_HUD); @@ -1171,7 +1141,23 @@ void CSQC_common_hud(void) switch(hud) { case HUD_NORMAL: - Sbar_Draw(); + // hud first + HUD_Main(); + + // scoreboard/accuracy + if (intermission == 2 && !scoreboard_showaccuracy && !scoreboard_showscores) // map voting screen + { + HUD_FinaleOverlay(); + HUD_Reset(); + } + else if(scoreboard_showaccuracy && spectatee_status != -1) + HUD_DrawAccuracyStats(); + else + HUD_DrawScoreboard(); + + if (scoreboard_showscores || scoreboard_showaccuracy || scoreboard_showscores_force || getstati(STAT_HEALTH) <= 0 || intermission == 1) + HUD_Reset(); + break; case HUD_SPIDERBOT: