diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-16 13:32:59 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-16 13:32:59 +0000 |
| commit | fdc4889768f0275a0d43ae17346958d9f9fa3c43 (patch) | |
| tree | 39116efce5490902c4868642248d44b5e6cc4ccc /src/game/server/gs_server.cpp | |
| parent | 6285917917537b51c9dedcad1780a7f9b1193174 (diff) | |
| download | zcatch-fdc4889768f0275a0d43ae17346958d9f9fa3c43.tar.gz zcatch-fdc4889768f0275a0d43ae17346958d9f9fa3c43.zip | |
fixed clamping of insane moves
Diffstat (limited to 'src/game/server/gs_server.cpp')
| -rw-r--r-- | src/game/server/gs_server.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/game/server/gs_server.cpp b/src/game/server/gs_server.cpp index 5bf8bad2..dc05208f 100644 --- a/src/game/server/gs_server.cpp +++ b/src/game/server/gs_server.cpp @@ -1069,8 +1069,15 @@ void player::tick_defered() vec2 start_pos = core.pos; vec2 start_vel = core.vel; bool stuck_before = test_box(core.pos, vec2(28.0f, 28.0f)); - if(length(core.vel) > 100.0f) - dbg_msg("server", "insane move! (%f,%f) %f", core.vel.x, core.vel.y, length(core.vel)); + + // TODO: this should be moved into the g_game + // but not done to preserve the nethash + if(length(core.vel) > 150.0f) + { + dbg_msg("server", "insane move! clamping (%f,%f) %f", core.vel.x, core.vel.y, length(core.vel)); + core.vel = normalize(core.vel) * 150.0f; + } + core.move(); bool stuck_after_move = test_box(core.pos, vec2(28.0f, 28.0f)); core.quantize(); |