]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/view.qc
Merge branch 'Mario/wepent_experimental' into Mario/wepent_experimental_2
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / view.qc
index ac58fd7927f82668c585e1cd747ca2e7ebc5fb42..98bd49dea30c35ee5577c1b929a76d1560255215 100644 (file)
@@ -726,7 +726,6 @@ float camera_mode;
 const float CAMERA_FREE = 1;
 const float CAMERA_CHASE = 2;
 float reticle_type;
-string reticle_image;
 string NextFrameCommand;
 
 vector freeze_org, freeze_ang;
@@ -1948,13 +1947,18 @@ void CSQC_UpdateView(entity this, float w, float h)
 
        if(autocvar_cl_reticle)
        {
+               string reticle_image = wepent.activeweapon.w_reticle;
                bool wep_zoomed = false;
                for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
                {
                        entity wepe = viewmodels[slot];
                        Weapon wep = wepe.activeweapon;
                        if(wep != WEP_Null && wep.wr_zoom)
-                               wep_zoomed += wep.wr_zoom(wep, NULL);
+                       {
+                               bool do_zoom = wep.wr_zoom(wep, NULL);
+                               reticle_image = wep.w_reticle;
+                               wep_zoomed += do_zoom;
+                       }
                }
                // Draw the aiming reticle for weapons that use it
                // reticle_type is changed to the item we are zooming / aiming with, to decide which reticle to use
@@ -1967,7 +1971,7 @@ void CSQC_UpdateView(entity this, float w, float h)
                }
                else if(wep_zoomed && autocvar_cl_reticle_weapon)
                {
-                       if(reticle_image != "") { reticle_type = 2; }
+                       if(reticle_image && reticle_image != "") { reticle_type = 2; }
                        else { reticle_type = 0; }
                }
                else if(button_zoom || zoomscript_caught)