From b1b48b92df68a2d55340d2795a320c24cc45b32f Mon Sep 17 00:00:00 2001 From: Poszer <41213210+poszer@users.noreply.github.com> Date: Wed, 26 Dec 2018 01:48:17 +0100 Subject: [PATCH] CORE/Crash: Fix crash with MoveSpline [hacky] (#1066) Closes #1063 Closes #552 Co-authored-by: grimgravy --- src/server/game/Movement/Spline/MoveSpline.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/game/Movement/Spline/MoveSpline.cpp b/src/server/game/Movement/Spline/MoveSpline.cpp index e0494e7af..cf3847401 100644 --- a/src/server/game/Movement/Spline/MoveSpline.cpp +++ b/src/server/game/Movement/Spline/MoveSpline.cpp @@ -193,7 +193,7 @@ bool MoveSplineInitArgs::Validate(Unit* unit) const return false;\ } CHECK(path.size() > 1); - CHECK(velocity > 0.1f); + CHECK(velocity > 0.01f); CHECK(time_perc >= 0.f && time_perc <= 1.f); //CHECK(_checkPathBounds()); return true; @@ -237,6 +237,9 @@ MoveSpline::UpdateResult MoveSpline::_updateState(int32& ms_time_diff) UpdateResult result = Result_None; int32 minimal_diff = std::min(ms_time_diff, segment_time_elapsed()); + if (minimal_diff < 0) + minimal_diff = 0; + ASSERT(minimal_diff >= 0); time_passed += minimal_diff; ms_time_diff -= minimal_diff;