]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/View.qc
properly draw the hook through warpzones again too; fix interpolation issues
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / View.qc
index eb5d9a478c85b1b1b51d0d084a58942273748188..05c038e1ce13ea1dde44bb0a508d044a5df2ca88 100644 (file)
@@ -137,7 +137,7 @@ vector GetCurrentFov(float fov)
                        zoomspeed = 3.5;
 
        zoomdir = button_zoom;
-       if(getstati(STAT_ACTIVEWEAPON) == WEP_NEX) // do NOT use switchweapon here
+       if(getstati(STAT_ACTIVEWEAPON) == WEP_NEX || getstati(STAT_ACTIVEWEAPON) == WEP_CAMPINGRIFLE && campingrifle_scope) // do NOT use switchweapon here
                zoomdir += button_attack2;
        if(spectatee_status > 0 || isdemo())
        {
@@ -375,7 +375,7 @@ void CSQC_UpdateView(float w, float h)
        input_angles = warpzone_fixview_cl_viewangles;
        view_angles = warpzone_fixview_angles;
 
-       if(cvar("cl_lockview") || hud_configure)
+       if(cvar("cl_lockview") || autocvar__hud_configure)
        {
                pmove_org = freeze_pmove_org;
                input_angles = view_angles = freeze_input_angles;
@@ -435,7 +435,7 @@ void CSQC_UpdateView(float w, float h)
        if(intermission && !isdemo() && !(calledhooks & HOOK_END))
                if(calledhooks & HOOK_START)
                {
-                       localcmd("\ncl_hook_gameend;");
+                       localcmd("\ncl_hook_gameend\n");
                        calledhooks |= HOOK_END;
                }
 
@@ -477,6 +477,13 @@ void CSQC_UpdateView(float w, float h)
        if(last_weapon != activeweapon) {
                weapontime = time;
                last_weapon = activeweapon;
+
+               entity e;
+               e = get_weaponinfo(activeweapon);
+               if(e.netname != "")
+                       localcmd(strcat("\ncl_hook_activeweapon ", e.netname), "\n");
+               else
+                       localcmd("\ncl_hook_activeweapon none\n");
        }
 
        // ALWAYS Clear Current Scene First
@@ -554,21 +561,21 @@ void CSQC_UpdateView(float w, float h)
 
        // 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
-       // It must be a persisted float for fading out to work properly (you let go of the zoom button for the
-       // view to go back to normal, so reticle_type would become 0 as we fade out)
+       // It must be a persisted float for fading out to work properly (you let go of the zoom button for
+       // the view to go back to normal, so reticle_type would become 0 as we fade out)
        if(spectatee_status || getstati(STAT_HEALTH) <= 0)
                reticle_type = 0; // prevent reticle from showing during the respawn zoom effect or for spectators
        else if(button_zoom)
                reticle_type = 1; // normal zoom
-       else if(activeweapon == WEP_NEX && button_attack2)
+       else if(activeweapon == WEP_NEX && button_attack2 || activeweapon == WEP_CAMPINGRIFLE && button_attack2)
                reticle_type = 2; // nex zoom
 
        if(cvar("cl_reticle_stretch"))
        {
-               reticle_pos_x = 0;
-               reticle_pos_y = 0;
                reticle_size_x = vid_conwidth;
                reticle_size_y = vid_conheight;
+               reticle_pos_x = 0;
+               reticle_pos_y = 0;
        }
        else
        {
@@ -580,15 +587,15 @@ void CSQC_UpdateView(float w, float h)
 
        if(cvar("cl_reticle_item_normal"))
        {
-               precache_pic("textures/reticle_normal");
+               precache_pic("gfx/reticle_normal");
                if(reticle_type == 1 && current_zoomfraction)
-                       drawpic(reticle_pos, "textures/reticle_normal", reticle_size, '1 1 1', current_zoomfraction * cvar("cl_reticle_item_normal"), DRAWFLAG_NORMAL);
+                       drawpic(reticle_pos, "gfx/reticle_normal", reticle_size, '1 1 1', current_zoomfraction * cvar("cl_reticle_item_normal"), DRAWFLAG_NORMAL);
        }
        if(cvar("cl_reticle_item_nex"))
        {
-               precache_pic("textures/reticle_nex");
+               precache_pic("gfx/reticle_nex");
                if(reticle_type == 2 && current_zoomfraction)
-                       drawpic(reticle_pos, "textures/reticle_nex", reticle_size, '1 1 1', current_zoomfraction * cvar("cl_reticle_item_nex"), DRAWFLAG_NORMAL);
+                       drawpic(reticle_pos, "gfx/reticle_nex", reticle_size, '1 1 1', current_zoomfraction * cvar("cl_reticle_item_nex"), DRAWFLAG_NORMAL);
        }
 
        // Draw the mouse cursor
@@ -872,7 +879,7 @@ void CSQC_UpdateView(float w, float h)
                cvar_set("vid_conheight", h0);
        }
 
-       if(hud_configure)
+       if(autocvar__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