X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fclient%2FView.qc;h=5d5f28789e0449dd846777465d6174db501dc1f6;hp=13e41a4167c531dcbba9387dfca2af50cb29ab2b;hb=e64a2a1d922f7bb65999b71d1c35fd9e42def55d;hpb=290e3daadcf7e98417da9cd9e762f53634e01f38 diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index 13e41a4167..5d5f28789e 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -483,7 +483,16 @@ void CSQC_UpdateView(float w, float h) if(spectatee_status >= 0 && (autocvar_cl_eventchase_death && is_dead) || intermission) { // make special vector since we can't use view_origin (It is one frame old as of this code, it gets set later with the results this code makes.) - vector current_view_origin = ((csqcplayer ? csqcplayer.origin : pmove_org) + autocvar_cl_eventchase_viewoffset); + vector current_view_origin = (csqcplayer ? csqcplayer.origin : pmove_org); + + // detect maximum viewoffset and use it + WarpZone_TraceLine(current_view_origin, current_view_origin + autocvar_cl_eventchase_viewoffset + ('0 0 1' * autocvar_cl_eventchase_maxs_z), MOVE_WORLDONLY, self); + current_view_origin_z += + max(0, + (trace_fraction * autocvar_cl_eventchase_viewoffset_z) + - + autocvar_cl_eventchase_maxs_z + ); // We must enable chase_active to get a third person view (weapon viewmodel hidden and own player model showing). // Ideally, there should be another way to enable third person cameras, such as through setproperty()