]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/View.qc
Merge remote-tracking branch 'origin/master' into samual/combined_updates
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / View.qc
index 493907a8783a1d37b0e9d37f09412207937892b9..5c11847283d2452a41704f70a8a840fb8c3ee0ea 100644 (file)
@@ -164,7 +164,7 @@ vector GetCurrentFov(float fov)
 
        makevectors(view_angles);
 
-       if(autocvar_cl_velocityzoom && autocvar_cl_velocityzoom_type) // _type = 0 disables velocity zoom too
+       if(autocvar_cl_velocityzoom_enabled && autocvar_cl_velocityzoom_type && autocvar_cl_velocityzoom_factor) // _type = 0 disables velocity zoom too
        {
                if(intermission) { curspeed = 0; }
                else
@@ -183,7 +183,7 @@ vector GetCurrentFov(float fov)
 
                velocityzoom = bound(0, drawframetime / max(0.000000001, autocvar_cl_velocityzoom_time), 1); // speed at which the zoom adapts to player velocity
                avgspeed = avgspeed * (1 - velocityzoom) + (curspeed / autocvar_cl_velocityzoom_speed) * velocityzoom;
-               velocityzoom = exp(float2range11(avgspeed * -autocvar_cl_velocityzoom / 1) * 1);
+               velocityzoom = exp(float2range11(avgspeed * -autocvar_cl_velocityzoom_factor / 1) * 1);
 
                //print(ftos(avgspeed), " avgspeed, ", ftos(curspeed), " curspeed, ", ftos(velocityzoom), " return\n"); // for debugging
        }
@@ -572,7 +572,7 @@ void CSQC_UpdateView(float w, float h)
 
                float ov_width = (ov_worldmax_x - ov_worldmin_x);
                float ov_height = (ov_worldmax_y - ov_worldmin_y);
-               float ov_distance = (autocvar_cl_orthoview_resolution * max(ov_width, ov_height));
+               float ov_distance = (max(vid_width, vid_height) * max(ov_width, ov_height));
 
                ov_mid = ((ov_worldmax + ov_worldmin) * 0.5);
                ov_org = vec3(ov_mid_x, ov_mid_y, (ov_mid_z + ov_distance));
@@ -595,23 +595,23 @@ void CSQC_UpdateView(float w, float h)
                if((dist = vlen(vec3(ov_worldmax_x, ov_worldmin_y, ov_worldmax_z) - ov_org)) > ov_furthest) { ov_furthest = dist; }
                if((dist = vlen(vec3(ov_worldmax_x, ov_worldmax_y, ov_worldmax_z) - ov_org)) > ov_furthest) { ov_furthest = dist; }
 
-               cvar_set("r_nearclip", ftos(ov_nearest));
-               cvar_set("r_farclip_base", ftos(ov_furthest));
-               cvar_set("r_farclip_world", "0");
-               cvar_set("r_novis", "1");
-               cvar_set("r_useportalculling", "0");
-               cvar_set("r_useinfinitefarclip", "0");
+               cvar_settemp("r_nearclip", ftos(ov_nearest));
+               cvar_settemp("r_farclip_base", ftos(ov_furthest));
+               cvar_settemp("r_farclip_world", "0");
+               cvar_settemp("r_novis", "1");
+               cvar_settemp("r_useportalculling", "0");
+               cvar_settemp("r_useinfinitefarclip", "0");
 
                setproperty(VF_ORIGIN, ov_org);
                setproperty(VF_ANGLES, '90 0 0');
 
                #if 0
-               print(sprintf("OrthoView: org = %s, angles = %s, distance = %f, nearest = %f, furthest = %f\n",
+               printf("OrthoView: org = %s, angles = %s, distance = %f, nearest = %f, furthest = %f\n",
                        vtos(ov_org),
                        vtos(getpropertyvec(VF_ANGLES)),
                        ov_distance,
                        ov_nearest,
-                       ov_furthest));
+                       ov_furthest);
                #endif
        }
 
@@ -1193,7 +1193,18 @@ void CSQC_UpdateView(float w, float h)
                        // wcross_origin = '0.5 0 0' * vid_conwidth + '0 0.5 0' * vid_conheight;
                        wcross_origin = project_3d_to_2d(view_origin + MAX_SHOT_DISTANCE * view_forward);
                        wcross_origin_z = 0;
-                       if(autocvar_crosshair_hittest)
+                       
+                       if(
+                               autocvar_crosshair_hittest
+                               &&
+                               (
+                                       autocvar_crosshair_hittest_blur
+                                       ||
+                                       autocvar_crosshair_hittest_scale
+                                       ||
+                                       autocvar_crosshair_hittest_showimpact
+                               )
+                       )
                        {
                                vector wcross_oldorigin;
                                wcross_oldorigin = wcross_origin;
@@ -1209,8 +1220,7 @@ void CSQC_UpdateView(float w, float h)
                                if(!autocvar_crosshair_hittest_showimpact)
                                        wcross_origin = wcross_oldorigin;
                        }
-                       else
-                               shottype = SHOTTYPE_HITWORLD;
+                       else { shottype = SHOTTYPE_HITWORLD; }
 
                        vector wcross_color = '0 0 0', wcross_size = '0 0 0';
                        string wcross_wep = "", wcross_name;
@@ -1238,7 +1248,7 @@ void CSQC_UpdateView(float w, float h)
                                }
                        }
 
-                       //print(sprintf("crosshair style: %s\n", wcross_style));
+                       //printf("crosshair style: %s\n", wcross_style);
                        wcross_name = strcat("gfx/crosshair", wcross_style);
 
                        // MAIN CROSSHAIR COLOR DECISION
@@ -1368,9 +1378,9 @@ void CSQC_UpdateView(float w, float h)
                        }
 
                        if(shottype == SHOTTYPE_HITENEMY)
-                               wcross_scale *= autocvar_crosshair_hittest; // is not queried if hittest is 0
+                               wcross_scale *= autocvar_crosshair_hittest_scale; // is not queried if hittest is 0
                        if(shottype == SHOTTYPE_HITTEAM)
-                               wcross_scale /= autocvar_crosshair_hittest; // is not queried if hittest is 0
+                               wcross_scale /= autocvar_crosshair_hittest_scale; // is not queried if hittest is 0
 
                        f = fabs(autocvar_crosshair_effect_time);
                        if(wcross_scale != wcross_scale_goal_prev || wcross_alpha != wcross_alpha_goal_prev || wcross_color != wcross_color_goal_prev)
@@ -1660,32 +1670,16 @@ void CSQC_common_hud(void)
        if(!(gametype == MAPINFO_TYPE_RACE || gametype == MAPINFO_TYPE_CTS))
                Accuracy_LoadLevels();
 
-    HUD_Main(); // always run these functions for alpha checks
-    HUD_DrawScoreboard();
+       HUD_Main(); // always run these functions for alpha checks
+       HUD_DrawScoreboard();
 
-    if (scoreboard_active) // scoreboard/accuracy
-        HUD_Reset();
-    else if (intermission == 2) // map voting screen
-    {
-        HUD_FinaleOverlay();
-        HUD_Reset();
-    }
-       /*
-       switch(hud)
+       if (scoreboard_active) // scoreboard/accuracy
+               HUD_Reset();
+       else if (intermission == 2) // map voting screen
        {
-               case HUD_SPIDERBOT:
-                       CSQC_SPIDER_HUD();
-                       break;
-
-               case HUD_WAKIZASHI:
-                       CSQC_WAKIZASHI_HUD();
-                       break;
-
-        case HUD_BUMBLEBEE:
-            CSQC_BUMBLE_HUD();
-            break;
+               MapVote_Draw();
+               HUD_Reset();
        }
-       */
 }