fixed the object update interval thingy

This commit is contained in:
Perttu Ahola 2011-04-10 23:29:36 +03:00
parent 9d5ccafbb0
commit bb39795ab2
3 changed files with 8 additions and 7 deletions

@ -381,6 +381,8 @@ void ServerEnvironment::step(float dtime)
{
DSTACK(__FUNCTION_NAME);
//TimeTaker timer("ServerEnv step");
// Get some settings
//bool free_move = g_settings.getBool("free_move");
bool footprints = g_settings.getBool("footprints");
@ -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)
*/

@ -172,7 +172,7 @@ void ItemSAO::step(float dtime, Queue<ActiveObjectMessage> &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<ActiveObjectMessage> &messages,
if(m_is_active == false)
{
if(m_inactive_interval.step(dtime, 0.5))
if(m_inactive_interval.step(dtime, 0.5)==false)
return;
}

@ -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;