diff options
author | Andrey Nazarov <skuller@skuller.net> | 2013-03-06 17:34:17 +0400 |
---|---|---|
committer | Andrey Nazarov <skuller@skuller.net> | 2013-03-06 20:13:51 +0400 |
commit | 0f41d333b6cda1f08cde9b60b7c285602e009d38 (patch) | |
tree | 7ef09db5553d57ae0e03f13b49d60879383f3319 /src/client/predict.c | |
parent | ba783822ee4e3aa5b939e9ee875c3e8efec5a422 (diff) |
Don't predict steps in spectator mode.
Diffstat (limited to 'src/client/predict.c')
-rw-r--r-- | src/client/predict.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/client/predict.c b/src/client/predict.c index 74473a8..ff322cc 100644 --- a/src/client/predict.c +++ b/src/client/predict.c @@ -249,13 +249,17 @@ void CL_PredictMovement(void) X86_POP_FPCW; - oldz = cl.predicted_origins[cl.predicted_step_frame & CMD_MASK][2]; - step = pm.s.origin[2] - oldz; - if (step > 63 && step < 160 && (pm.s.pm_flags & PMF_ON_GROUND)) { - cl.predicted_step = step * 0.125f; - cl.predicted_step_time = cls.realtime; - cl.predicted_step_frame = frame + 1; // don't double step - } else if (cl.predicted_step_frame < frame) { + if (pm.s.pm_type != PM_SPECTATOR && (pm.s.pm_flags & PMF_ON_GROUND)) { + oldz = cl.predicted_origins[cl.predicted_step_frame & CMD_MASK][2]; + step = pm.s.origin[2] - oldz; + if (step > 63 && step < 160) { + cl.predicted_step = step * 0.125f; + cl.predicted_step_time = cls.realtime; + cl.predicted_step_frame = frame + 1; // don't double step + } + } + + if (cl.predicted_step_frame < frame) { cl.predicted_step_frame = frame; } |