diff options
-rw-r--r-- | src/collision.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/collision.cpp b/src/collision.cpp index 2b64547c3..187df0a5d 100644 --- a/src/collision.cpp +++ b/src/collision.cpp @@ -199,18 +199,25 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef, v3f &accel_f,ActiveObject* self, bool collideWithObjects) { + static bool time_notification_done = false; Map *map = &env->getMap(); //TimeTaker tt("collisionMoveSimple"); - ScopeProfiler sp(g_profiler, "collisionMoveSimple avg", SPT_AVG); + ScopeProfiler sp(g_profiler, "collisionMoveSimple avg", SPT_AVG); collisionMoveResult result; /* Calculate new velocity */ - if( dtime > 0.5 ) { - warningstream<<"collisionMoveSimple: maximum step interval exceeded, lost movement details!"<<std::endl; + if (dtime > 0.5) { + if (!time_notification_done) { + time_notification_done = true; + infostream << "collisionMoveSimple: maximum step interval exceeded," + " lost movement details!"<<std::endl; + } dtime = 0.5; + } else { + time_notification_done = false; } speed_f += accel_f * dtime; |