From 94cd2bfeac073bf0ff0c384e4921c90f281747b0 Mon Sep 17 00:00:00 2001 From: lhofhansl Date: Sun, 8 Jul 2018 13:30:55 -0700 Subject: Revert 6587 - Optimize entity-entity collision (#7539) --- src/serverenvironment.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/serverenvironment.h') diff --git a/src/serverenvironment.h b/src/serverenvironment.h index 05a68cb30..225f788d9 100644 --- a/src/serverenvironment.h +++ b/src/serverenvironment.h @@ -22,7 +22,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "activeobject.h" #include "environment.h" #include "mapnode.h" -#include "server/serveractiveobjectmap.h" #include "settings.h" #include "util/numeric.h" #include @@ -194,6 +193,8 @@ enum ClearObjectsMode { This is not thread-safe. Server uses an environment mutex. */ +typedef std::unordered_map ServerActiveObjectMap; + class ServerEnvironment : public Environment { public: @@ -253,7 +254,18 @@ public: */ u16 addActiveObject(ServerActiveObject *object); - void updateActiveObject(ServerActiveObject *object); + /** + * Verify if id is a free active object id + * @param id + * @return true if slot is free + */ + bool isFreeServerActiveObjectId(u16 id) const; + + /** + * Retrieve the first free ActiveObject ID + * @return free activeobject ID or 0 if none was found + */ + u16 getFreeServerActiveObjectId(); /* Add an active object as a static object to the corresponding -- cgit v1.2.3