X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fclient%2FView.qc;h=8198639a4c686174d763eb284ccc8a2f17c48bb4;hp=9bb7661430b215c4de41cfdd67884efd8c493e7e;hb=6272c4294e47802aa79728949c76b370c0a764e8;hpb=e3746a1f762597b2ca317c4914c052bf229b9f91 diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index 9bb7661430..8198639a4c 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,17 +336,17 @@ 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; void CSQC_SPIDER_HUD(); void CSQC_RAPTOR_HUD(); +vector freeze_pmove_org, freeze_input_angles; + void CSQC_UpdateView(float w, float h) { entity e; @@ -361,10 +365,23 @@ 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")) + { + pmove_org = freeze_pmove_org; + input_angles = view_angles = freeze_input_angles; + R_SetView(VF_ORIGIN, pmove_org + vo); + R_SetView(VF_ANGLES, view_angles); + //R_SetView(VF_CL_VIEWANGLES, input_angles); + } + freeze_pmove_org = pmove_org; + freeze_input_angles = input_angles; // Render the Scene if(!intermission || !view_set) @@ -378,6 +395,10 @@ void CSQC_UpdateView(float w, float h) view_set = 1; } + hudconf_active = cvar("_hud_configure"); + if(hudconf_active) + R_SetView(VF_ANGLES, self.angles); // TODO: this should freeze the view as it is, not change it to '0 0 0' or whatever it currently does... + vid_width = w; vid_height = h; @@ -400,6 +421,7 @@ void CSQC_UpdateView(float w, float h) } #endif + TargetMusic_Advance(); Fog_Force(); drawframetime = max(0.000001, time - drawtime); @@ -443,17 +465,15 @@ 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_alpha_fg = cvar_or("hud_fg_alpha", 1) * (1 - cvar("_menu_alpha")); + 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) { @@ -503,15 +523,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 /* @@ -557,37 +577,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; @@ -607,7 +599,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 && !hudconf_active) { // TrueAim check float shottype; float bullets, ring_scale; @@ -843,19 +835,19 @@ void CSQC_UpdateView(float w, float h) cvar_set("vid_conheight", h0); } + if(hudconf_active) + 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" @@ -958,10 +950,10 @@ void CSQC_SPIDER_HUD() } */ - if (sb_showscores) + if (scoreboard_showscores) { - Sbar_DrawScoreboard(); - Sbar_DrawCenterPrint(); + HUD_DrawScoreboard(); + HUD_DrawCenterPrint(); } } @@ -972,9 +964,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; @@ -1028,10 +1017,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(); } } @@ -1138,10 +1127,10 @@ const float STAT_VEHICLESTAT_RELOAD2 = 66; - if (sb_showscores) + if (scoreboard_showscores) { - Sbar_DrawScoreboard(); - Sbar_DrawCenterPrint(); + HUD_DrawScoreboard(); + HUD_DrawCenterPrint(); } } @@ -1149,7 +1138,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); @@ -1157,7 +1146,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: