diff --git a/src/environment.cpp b/src/environment.cpp index bed47fd..3f95ed9 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -380,6 +380,8 @@ void ServerEnvironment::deSerializePlayers(const std::string &savedir) void ServerEnvironment::step(float dtime) { DSTACK(__FUNCTION_NAME); + + //TimeTaker timer("ServerEnv step"); // Get some settings //bool free_move = g_settings.getBool("free_move"); @@ -451,6 +453,8 @@ void ServerEnvironment::step(float dtime) if(m_object_management_interval.step(dtime, 0.5)) { + //TimeTaker timer("ServerEnv object management"); + /* Remove objects that satisfy (m_removed && m_known_by_count==0) */ diff --git a/src/serverobject.cpp b/src/serverobject.cpp index b6015a4..87017c3 100644 --- a/src/serverobject.cpp +++ b/src/serverobject.cpp @@ -172,7 +172,7 @@ void ItemSAO::step(float dtime, Queue &messages, assert(m_env); const float interval = 0.2; - if(m_move_interval.step(dtime, interval)) + if(m_move_interval.step(dtime, interval)==false) return; dtime = interval; @@ -312,7 +312,7 @@ void RatSAO::step(float dtime, Queue &messages, if(m_is_active == false) { - if(m_inactive_interval.step(dtime, 0.5)) + if(m_inactive_interval.step(dtime, 0.5)==false) return; } diff --git a/src/utility.h b/src/utility.h index 1994635..50bbe14 100644 --- a/src/utility.h +++ b/src/utility.h @@ -2033,12 +2033,9 @@ public: { m_accumulator += dtime; if(m_accumulator < wanted_interval) - { - dtime = 0; - return true; - } + return false; m_accumulator -= wanted_interval; - return false; + return true; } protected: float m_accumulator;