From 7b20942c765334687fd5f58df4c0190601b97b58 Mon Sep 17 00:00:00 2001 From: Mel Date: Sat, 22 Oct 2022 00:16:14 +0200 Subject: Fix chunk index hash to show infinite world --- src/World/ChunkIndex.hpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'src/World/ChunkIndex.hpp') diff --git a/src/World/ChunkIndex.hpp b/src/World/ChunkIndex.hpp index 330d202..cf5af07 100644 --- a/src/World/ChunkIndex.hpp +++ b/src/World/ChunkIndex.hpp @@ -7,13 +7,9 @@ namespace MC::World { struct ChunkIndex { - ChunkIndex(int64_t x, int64_t y) : x(x), y(x) {} + ChunkIndex(int32_t x, int32_t y) : x(x), y(y) {} - bool operator==(ChunkIndex& other) const { - return x == other.x && y == other.y; - } - - int64_t x, y; + int32_t x, y; }; } @@ -25,9 +21,7 @@ template<> struct std::equal_to { }; template<> struct std::hash { - std::size_t operator()(const MC::World::ChunkIndex& i) const noexcept { - std::size_t xh = std::hash{}(i.x); - std::size_t yh = std::hash{}(i.y); - return xh ^ (yh << 1); + size_t operator()(const MC::World::ChunkIndex& i) const noexcept { + return ((int64_t)i.x << 32) | i.y; } }; \ No newline at end of file -- cgit 1.4.1