diff options
Diffstat (limited to 'src/serverenvironment.cpp')
-rw-r--r-- | src/serverenvironment.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp index 8d86a4e0a..61faaace7 100644 --- a/src/serverenvironment.cpp +++ b/src/serverenvironment.cpp @@ -1941,11 +1941,14 @@ void ServerEnvironment::activateObjects(MapBlock *block, u32 dtime_s) If block wasn't generated (not in memory or on disk), */ -void ServerEnvironment::deactivateFarObjects(bool force_delete) +void ServerEnvironment::deactivateFarObjects(bool _force_delete) { std::vector<u16> objects_to_remove; for(ActiveObjectMap::iterator i = m_active_objects.begin(); i != m_active_objects.end(); ++i) { + // force_delete might be overriden per object + bool force_delete = _force_delete; + ServerActiveObject* obj = i->second; assert(obj); @@ -2147,13 +2150,6 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete) continue; } - if (!force_delete && obj->getType() == ACTIVEOBJECT_TYPE_PLAYER) { - warningstream << "ServerEnvironment::deactivateFarObjects(): " - << "Trying to delete player object, THIS SHOULD NEVER HAPPEN!" - << std::endl; - continue; - } - verbosestream<<"ServerEnvironment::deactivateFarObjects(): " <<"object id="<<id<<" is not known by clients" <<"; deleting"<<std::endl; |