summaryrefslogtreecommitdiff
path: root/src/client/predict.c
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2013-03-06 17:34:17 +0400
committerAndrey Nazarov <skuller@skuller.net>2013-03-06 20:13:51 +0400
commit0f41d333b6cda1f08cde9b60b7c285602e009d38 (patch)
tree7ef09db5553d57ae0e03f13b49d60879383f3319 /src/client/predict.c
parentba783822ee4e3aa5b939e9ee875c3e8efec5a422 (diff)
Don't predict steps in spectator mode.
Diffstat (limited to 'src/client/predict.c')
-rw-r--r--src/client/predict.c18
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;
}