From 9f5aad709081e626077eaa4f2e38d72f05de1919 Mon Sep 17 00:00:00 2001 From: terencehill Date: Mon, 1 Feb 2016 20:24:34 +0100 Subject: [PATCH] Fix weaponmodel effects passing through warpzones --- qcsrc/client/view.qc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/qcsrc/client/view.qc b/qcsrc/client/view.qc index 0b2b653a7..d6d82acbe 100644 --- a/qcsrc/client/view.qc +++ b/qcsrc/client/view.qc @@ -275,6 +275,8 @@ void viewmodel_animate(entity this) void viewmodel_draw(entity this) { + if(!activeweapon) + return; int mask = (intermission || (STAT(HEALTH) <= 0) || autocvar_chase_active) ? 0 : MASK_NORMAL; float a = this.alpha; static bool wasinvehicle; @@ -1662,6 +1664,10 @@ void CSQC_UpdateView(float w, float h) ov_enabled = false; } + // run viewmodel_draw before updating view_angles to the angles calculated by WarpZone_FixView + // viewmodel_draw needs to use the view_angles set by the engine on every CSQC_UpdateView call + FOREACH_ENTITY(it.draw, LAMBDA(it.draw(it))); + // Render the Scene view_origin = getpropertyvec(VF_ORIGIN); view_angles = getpropertyvec(VF_ANGLES); @@ -1842,8 +1848,6 @@ void CSQC_UpdateView(float w, float h) mousepos = mousepos*0.5 + getmousepos(); */ - FOREACH_ENTITY(it.draw, LAMBDA(it.draw(it))); - addentities(MASK_NORMAL | MASK_ENGINE | MASK_ENGINEVIEWMODELS); renderscene(); -- 2.39.2