From bb39795ab223ffe815d88ec0d0f9dc9a993bef67 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 10 Apr 2011 23:29:36 +0300 Subject: [PATCH] fixed the object update interval thingy --- src/environment.cpp | 4 ++++ src/serverobject.cpp | 4 ++-- src/utility.h | 7 ++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/environment.cpp b/src/environment.cpp index bed47fd40..3f95ed9f9 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 b6015a477..87017c390 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 19946354c..50bbe1496 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;