mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-21 18:11:11 +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
|
@ -18,13 +18,29 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "irrlichttypes.h"
|
||||
|
||||
#include <vector3d.h>
|
||||
#include <functional>
|
||||
|
||||
typedef core::vector3df v3f;
|
||||
typedef core::vector3d<double> v3d;
|
||||
typedef core::vector3d<s16> v3s16;
|
||||
typedef core::vector3d<u16> v3u16;
|
||||
typedef core::vector3d<s32> v3s32;
|
||||
|
||||
namespace std
|
||||
{
|
||||
template <> struct hash<v3s16>
|
||||
{
|
||||
typedef v3s16 argument_type;
|
||||
typedef std::size_t result_type;
|
||||
result_type operator()(const argument_type &s) const noexcept
|
||||
{
|
||||
// clang-format off
|
||||
return static_cast<size_t>((static_cast<u64>(s.X) << 20) ^
|
||||
(static_cast<u64>(s.Y) << 10) ^
|
||||
(static_cast<u64>(s.Z)));
|
||||
// clang-format on
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue