diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-07-06 21:56:03 +0200 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-07-06 21:56:03 +0200 |
commit | 8f18510dec4eab5f00e0ff311cf31ae2ce4f2d4d (patch) | |
tree | 786de8ccf882511206a8113eb3cad5b7e19a80b3 /Tools/AnvilStats/BiomeMap.h | |
parent | ProtoProxy: moved into the Tools folder (diff) | |
download | cuberite-8f18510dec4eab5f00e0ff311cf31ae2ce4f2d4d.tar cuberite-8f18510dec4eab5f00e0ff311cf31ae2ce4f2d4d.tar.gz cuberite-8f18510dec4eab5f00e0ff311cf31ae2ce4f2d4d.tar.bz2 cuberite-8f18510dec4eab5f00e0ff311cf31ae2ce4f2d4d.tar.lz cuberite-8f18510dec4eab5f00e0ff311cf31ae2ce4f2d4d.tar.xz cuberite-8f18510dec4eab5f00e0ff311cf31ae2ce4f2d4d.tar.zst cuberite-8f18510dec4eab5f00e0ff311cf31ae2ce4f2d4d.zip |
Diffstat (limited to 'Tools/AnvilStats/BiomeMap.h')
-rw-r--r-- | Tools/AnvilStats/BiomeMap.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Tools/AnvilStats/BiomeMap.h b/Tools/AnvilStats/BiomeMap.h new file mode 100644 index 000000000..f0d306c04 --- /dev/null +++ b/Tools/AnvilStats/BiomeMap.h @@ -0,0 +1,69 @@ +
+// BiomeMap.h
+
+// Interfaces to the cBiomeMap class representing a cCallback descendant that draws a map of biomes for the world
+
+
+
+
+
+#pragma once
+
+#include "Callback.h"
+
+
+
+
+
+class cBiomeMap :
+ public cCallback
+{
+public:
+ cBiomeMap(void);
+
+ /// Saves the last region that it was processing
+ void Finish(void);
+
+protected:
+ int m_CurrentChunkX; // Absolute chunk coords
+ int m_CurrentChunkZ;
+ int m_CurrentChunkOffX; // Chunk offset from the start of the region
+ int m_CurrentChunkOffZ;
+ int m_CurrentRegionX;
+ int m_CurrentRegionZ;
+ bool m_IsCurrentRegionValid;
+ char m_Biomes[16 * 32 * 16 * 32]; // Biome map of the entire current region [x + 16 * 32 * z]
+
+ // cCallback overrides:
+ virtual bool OnNewChunk(int a_ChunkX, int a_ChunkZ) override;
+ virtual bool OnHeader(int a_FileOffset, unsigned char a_NumSectors, int a_Timestamp) override { return false; }
+ virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override { return false; }
+ virtual bool OnDecompressedData(const char * a_DecompressedNBT, int a_DataSize) override { return false; }
+ virtual bool OnRealCoords(int a_ChunkX, int a_ChunkZ) override { return false; }
+ virtual bool OnLastUpdate(Int64 a_LastUpdate) override { return false; }
+ virtual bool OnTerrainPopulated(bool a_Populated) override { return !a_Populated; } // If not populated, we don't want it!
+ virtual bool OnBiomes(const unsigned char * a_BiomeData) override;
+
+ void StartNewRegion(int a_RegionX, int a_RegionZ);
+} ;
+
+
+
+
+
+class cBiomeMapFactory :
+ public cCallbackFactory
+{
+public:
+ virtual ~cBiomeMapFactory();
+
+ virtual cCallback * CreateNewCallback(void) override
+ {
+ return new cBiomeMap;
+ }
+
+} ;
+
+
+
+
|