]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/View.qc
Make the reticle fade in based on zoom speed. Fix some silly typos as well. Imo this...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / View.qc
index afa884df1ea055a8a1c578d16243e5f3811b9431..86e96d2f54807480563d0ddda5f17c19504dd128 100644 (file)
@@ -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';
@@ -352,6 +356,8 @@ void CSQC_UpdateView(float w, float h)
        float f, i, j;
        vector v, vo;
 
+       vector reticle_pos, reticle_size;
+
        WaypointSprite_Load();
 
        if(spectatee_status)
@@ -363,17 +369,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"))
        {
-               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;
@@ -571,6 +579,16 @@ void CSQC_UpdateView(float w, float h)
                        self.draw2d();
        self = e;
 
+       // draw the aiming reticle for weapons that use it (eg. Nex)
+       reticle_pos_x = 0;
+       reticle_pos_y = 0;
+       reticle_size_x = vid_conwidth;
+       reticle_size_y = vid_conheight;
+
+       if(cvar("cl_reticle_nex"))
+       if(button_attack2 && activeweapon == WEP_NEX)
+               drawpic(reticle_pos, "textures/reticle_nex", reticle_size, '1 1 1', current_zoomfraction * cvar("cl_reticle_nex"), DRAWFLAG_NORMAL);
+
        // draw radar
        if(
                        ons_showmap