// This helps the objects to send data at the same time
bool send_recommended = false;
m_send_recommended_timer += dtime;
- if(m_send_recommended_timer > 0.10)
+ if(m_send_recommended_timer > getSendRecommendedInterval())
{
- m_send_recommended_timer = 0;
+ m_send_recommended_timer -= getSendRecommendedInterval();
send_recommended = true;
}
<<" statically"<<std::endl;
}
+ // Register reference in scripting api (must be done before post-init)
+ scriptapi_add_object_reference(m_lua, object);
// Post-initialize object
object->addedToEnvironment(object->getId());
- // Register reference in scripting api
- scriptapi_add_object_reference(m_lua, object);
return object->getId();
}
if(n){
StaticObject static_old = n->getValue();
+ float save_movem = obj->getMinimumSavedMovement();
+
if(static_old.data == staticdata_new &&
- (static_old.pos - objectpos).getLength() < 2*BS)
+ (static_old.pos - objectpos).getLength() < save_movem)
data_changed = false;
} else {
errorstream<<"ServerEnvironment::deactivateFarObjects(): "
<<PP(obj->m_static_block)<<std::endl;
}
}
+
+ bool shall_be_written = (!stays_in_same_block || data_changed);
// Delete old static object
if(obj->m_static_exists)
block->m_static_objects.remove(id);
obj->m_static_exists = false;
// Only mark block as modified if data changed considerably
- if(!stays_in_same_block || data_changed)
+ if(shall_be_written)
block->raiseModified(MOD_STATE_WRITE_NEEDED);
}
}
block->m_static_objects.insert(new_id, s_obj);
// Only mark block as modified if data changed considerably
- if(!stays_in_same_block || data_changed)
+ if(shall_be_written)
block->raiseModified(MOD_STATE_WRITE_NEEDED);
obj->m_static_exists = true;