diff options
Diffstat (limited to 'Tools/BlockZapper/Regions.h')
-rw-r--r-- | Tools/BlockZapper/Regions.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Tools/BlockZapper/Regions.h b/Tools/BlockZapper/Regions.h new file mode 100644 index 000000000..d959200d2 --- /dev/null +++ b/Tools/BlockZapper/Regions.h @@ -0,0 +1,58 @@ +
+// Regions.h
+
+// Declares the cRegions class representing individual regions to zap
+
+
+
+
+
+#pragma once
+
+#include <iostream>
+
+
+
+
+
+struct cRegion
+{
+ int m_MinX, m_MaxX;
+ int m_MinY, m_MaxY;
+ int m_MinZ, m_MaxZ;
+
+ bool m_ShouldZapBlocks;
+ bool m_ShouldZapEntities;
+
+ cRegion(void);
+ cRegion(int a_MinX, int a_MaxX, int a_MinY, int a_MaxY, int a_MinZ, int a_MaxZ, bool a_ShouldZapBlocks, bool a_ShouldZapEntities);
+
+ bool TouchesChunk(int a_ChunkX, int a_ChunkZ) const;
+} ;
+
+typedef std::vector<cRegion> cRegionVector;
+
+
+
+
+
+class cRegions
+{
+public:
+ /// Reads the list of regions from the specified stream
+ void Read(std::istream & a_Stream);
+
+ /// Returns all regions in this container
+ const cRegionVector & GetAll(void) const { return m_Regions; }
+
+protected:
+ cRegionVector m_Regions;
+
+ /// Adds a new region based on the contents of the split line. The split must already be the correct size
+ void AddRegion(const AStringVector & a_Split);
+
+} ;
+
+
+
+
|