Make collisionMoveSimple time overflow message written to log/show up at max once per step
This commit is contained in:
parent
91bafceee6
commit
61cb4d52a6
|
@ -199,6 +199,7 @@ 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);
|
||||
|
@ -208,9 +209,15 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
|||
/*
|
||||
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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue