summaryrefslogtreecommitdiffstats
path: root/Tools/QtBiomeVisualiser/Region.h
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2014-10-28 22:07:09 +0100
committerMattes D <github@xoft.cz>2014-10-28 22:07:09 +0100
commit2f0abb73c94eb896c956ceb0375d2e72065d95d5 (patch)
tree2cf8a72a9aaf59fa218f5978045412a47662d52b /Tools/QtBiomeVisualiser/Region.h
parentForgotten m_SendChunksMediumPriority.empty() check. (diff)
parentQtBiomeVisualiser: Reduced memory usage. (diff)
downloadcuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar
cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar.gz
cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar.bz2
cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar.lz
cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar.xz
cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar.zst
cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.zip
Diffstat (limited to '')
-rw-r--r--Tools/QtBiomeVisualiser/Region.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/Tools/QtBiomeVisualiser/Region.h b/Tools/QtBiomeVisualiser/Region.h
new file mode 100644
index 000000000..863c0ac02
--- /dev/null
+++ b/Tools/QtBiomeVisualiser/Region.h
@@ -0,0 +1,46 @@
+#pragma once
+
+#include "QtChunk.h"
+
+
+
+
+
+class Region
+{
+public:
+ Region();
+
+ /** Retrieves the chunk with the specified relative coords. */
+ Chunk & getRelChunk(int a_RelChunkX, int a_RelChunkZ);
+
+ /** Returns true iff the chunk data for all chunks has been loaded.
+ This doesn't mean that all the chunks are valid, only that the entire region has been processed and should
+ be displayed. */
+ bool isValid(void) const { return m_IsValid; }
+
+ /** Returns the biome in the block coords relative to this region.
+ Returns biInvalidBiome if the underlying chunk is not valid. */
+ int getRelBiome(int a_RelBlockX, int a_RelBlockZ);
+
+ /** Converts block coordinates into region coordinates. */
+ static void blockToRegion(int a_BlockX, int a_BlockZ, int & a_RegionX, int & a_RegionZ);
+
+ /** Converts chunk coordinates into region coordinates. */
+ static void chunkToRegion(int a_ChunkX, int a_ChunkZ, int & a_RegionX, int & a_RegionZ);
+
+protected:
+ friend class RegionLoader;
+
+
+ Chunk m_Chunks[32 * 32];
+
+ /** True iff the data for all the chunks has been loaded.
+ This doesn't mean that all the chunks are valid, only that the entire region has been processed and should
+ be displayed. */
+ bool m_IsValid;
+};
+
+
+
+