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:
parent
2481ea27ce
commit
528908a4c3
13 changed files with 613 additions and 80 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue