Initial commit
Core: Implement Google DenseHash
Core/Grid: Modify it to update only players and only do further updating
on near mobs to that player.
Core: Modify calls to GetObject to Grid instead to Server when possible
Remove unnecessary files on /dep
CMake: Add missing files on root
Core/Server: Fix a crash caused by DenseHash not having a delete key
Core/Grid: Fix near objects updating and document the code
Normalize line endings to LF
TODO: Add comments for the next alpha release
Git: Upload .gitattributes
Core/Grid: Small optimitzations to GetGrid and implemented GetGridOrLoad
Core/Grid: Optimize Grid updating and GridLoader
Core/Grid: Optimize Grid removing logics a lot
Core/Grid: Modify Grid Updating
From STL, inserting into a map does not modify existing iterators. Erasing
does not modify any iterator but the one being deleted.
To sum up, it should be thread safe to perform these operations without
using mutexes.
Core/GridLoader: Modified how the grids are inserted, gathered and
updated.
Collision risk is so low that it should not bother us, though there's a
ridiculous probability that a erase happens while updating this same
iterator.
This commit solves deadlocking issues when using addObject from a Grid
itself, thus it allows us to simplify a lot how we handle grids.
Core/Object: The object would invalidate its grid when updating, fixed.
Core/Grids: Optimize Grid finding
Core/HashMaps: Optimize how hash maps are handled
Core/Server: Optimize object list handling
Core/Grids: Fix grid iterating and dense_hash_map comparison
Remove useless code on the iterations
Core/Object: Remove useless check and codestyle