1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-17 17:08:39 +00:00

Optimize entity-entity collision (#6587)

* Add IrrLicht type aliases
* Add hash for IrrLicht vector
* Add object map
This commit is contained in:
Vitaliy 2018-04-03 09:23:46 +03:00 committed by Loïc Blot
parent 2481ea27ce
commit 528908a4c3
13 changed files with 613 additions and 80 deletions

View file

@ -22,6 +22,7 @@ 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 <set>
@ -193,8 +194,6 @@ enum ClearObjectsMode {
This is not thread-safe. Server uses an environment mutex.
*/
typedef std::unordered_map<u16, ServerActiveObject *> ServerActiveObjectMap;
class ServerEnvironment : public Environment
{
public:
@ -254,18 +253,7 @@ public:
*/
u16 addActiveObject(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();
void updateActiveObject(ServerActiveObject *object);
/*
Add an active object as a static object to the corresponding