diff --git a/src/client/entry.qc b/src/client/entry.qc index 864cd6bc..ffabf690 100644 --- a/src/client/entry.qc +++ b/src/client/entry.qc @@ -263,10 +263,17 @@ CSQC_UpdateView(float w, float h, float focus) spec = (NSClientSpectator)self; if (spec.spec_mode == SPECMODE_FIRSTPERSON || spec.spec_mode == SPECMODE_THIRDPERSON) { + NSClientPlayer spec_target; c = findfloat(world, ::entnum, spec.spec_ent); + spec_target = (NSClientPlayer)c; pSeat->m_vecPredictedOrigin = c.origin; pSeat->m_vecPredictedVelocity = c.velocity; pSeat->m_flPredictedFlags = c.flags; + + if (spec.spec_mode == SPECMODE_FIRSTPERSON) + setproperty(VF_AFOV, cvar("fov") * spec_target.viewzoom); + else + setproperty(VF_AFOV, cvar("fov")); } else { pSeat->m_vecPredictedOrigin = spec.origin; pSeat->m_vecPredictedVelocity = spec.velocity; diff --git a/src/shared/NSClient.qc b/src/shared/NSClient.qc index b52896af..dc53cfd0 100644 --- a/src/shared/NSClient.qc +++ b/src/shared/NSClient.qc @@ -85,6 +85,7 @@ NSClient::predraw(void) void NSClient::NSClient(void) { + flags |= FL_CLIENT; XR_Init(this); } diff --git a/src/shared/NSClientPlayer.qc b/src/shared/NSClientPlayer.qc index d2cbd6f7..bec3276d 100644 --- a/src/shared/NSClientPlayer.qc +++ b/src/shared/NSClientPlayer.qc @@ -980,5 +980,6 @@ NSClientPlayer::InputUse_Up(void) void NSClientPlayer::NSClientPlayer(void) { + flags |= FL_CLIENT; vehicle = __NULL__; } diff --git a/src/shared/NSClientSpectator.qc b/src/shared/NSClientSpectator.qc index a036f8d1..9979d3b1 100644 --- a/src/shared/NSClientSpectator.qc +++ b/src/shared/NSClientSpectator.qc @@ -450,6 +450,7 @@ NSClientSpectator::PostFrame(void) void NSClientSpectator::NSClientSpectator(void) { + flags |= FL_CLIENT; } #ifdef CLIENT