diff options
Diffstat (limited to 'Tools/BlockZapper/Zapper.h')
-rw-r--r-- | Tools/BlockZapper/Zapper.h | 160 |
1 files changed, 80 insertions, 80 deletions
diff --git a/Tools/BlockZapper/Zapper.h b/Tools/BlockZapper/Zapper.h index 585c3a5ca..6bcd6aa2a 100644 --- a/Tools/BlockZapper/Zapper.h +++ b/Tools/BlockZapper/Zapper.h @@ -1,80 +1,80 @@ -
-// Zapper.h
-
-// Declares the cZapper class representing the processor that actually zaps blocks and entities
-
-
-
-
-
-#pragma once
-
-#include "Regions.h"
-
-
-
-
-
-// fwd: ParsedNBT.h
-class cParsedNBT;
-class cFastNBTWriter;
-
-
-
-
-
-class cZapper
-{
-public:
- cZapper(const AString & a_MCAFolder);
-
- /// Zaps all the specified regions
- void ZapRegions(const cRegionVector & a_Regions);
-
-protected:
- static const int BlocksPerChunkX = 16;
- static const int BlocksPerChunkZ = 16;
- static const int ChunksPerMCAX = 32;
- static const int ChunksPerMCAZ = 32;
-
- AString m_MCAFolder;
-
- /// Converts from block coords to MCA coords
- void BlockToMCA(int a_BlockX, int a_BlockZ, int & a_MCAX, int & a_MCAZ);
-
- /// Converts from block coords to chunk coords
- void BlockToChunk(int a_BlockX, int a_BlockZ, int & a_ChunkX, int & a_ChunkZ);
-
- /// Zaps the specified region in the MCA file with the specified MCA coords
- void ZapRegionInMCAFile(const cRegion & a_Region, int a_MCAX, int a_MCAZ);
-
- /** Loads raw compressed chunk data from the specified file
- * chunk is specified by ChunkHeaderValue, which is the int describing the chunk in file header.
- */
- void LoadChunkData(cFile & a_InFile, int a_ChunkHeaderValue, AString & a_ChunkData, int a_ChunkX, int a_ChunkZ);
-
- /// Zaps the specified region in the raw (compressed) chunk data.
- void ZapRegionInRawChunkData(const cRegion & a_Region, AString & a_ChunkData, int a_ChunkX, int a_ChunkZ);
-
- /// Zaps the specified region in the specified NBT structure
- void ZapRegionInNBTChunk(const cRegion & a_Region, cParsedNBT & a_NBT, int a_ChunkX, int a_ChunkZ);
-
- /// Zaps the blocks in the specified region from the specified NBT
- void ZapRegionBlocksInNBT(const cRegion & a_Region, cParsedNBT & a_NBT, int a_SectionsTag);
-
- /// Zaps the blocks in the specified bytes (types) from one vertical section (16^3 blocks) of a chunk.
- void ZapRegionInNBTSectionBytes(const cRegion & a_Region, int a_SectionY, unsigned char * a_BlockBytes);
-
- /// Zaps the blocks in the specified nibbles (meta, add) from one vertical section (16^3 blocks) of a chunk.
- void ZapRegionInNBTSectionNibbles(const cRegion & a_Region, int a_SectionY, unsigned char * a_BlockNibbles);
-
- /// Zaps entities in the specified region from the specified NBT
- void ZapRegionEntitiesInNBT(const cRegion & a_Region, cParsedNBT & a_NBT, int a_EntitiesTag);
-
- /// Serializes the NBT subtree into a writer
- void SerializeNBTTag(const cParsedNBT & a_NBT, int a_Tag, cFastNBTWriter & a_Writer);
-} ;
-
-
-
-
+ +// Zapper.h + +// Declares the cZapper class representing the processor that actually zaps blocks and entities + + + + + +#pragma once + +#include "Regions.h" + + + + + +// fwd: ParsedNBT.h +class cParsedNBT; +class cFastNBTWriter; + + + + + +class cZapper +{ +public: + cZapper(const AString & a_MCAFolder); + + /// Zaps all the specified regions + void ZapRegions(const cRegionVector & a_Regions); + +protected: + static const int BlocksPerChunkX = 16; + static const int BlocksPerChunkZ = 16; + static const int ChunksPerMCAX = 32; + static const int ChunksPerMCAZ = 32; + + AString m_MCAFolder; + + /// Converts from block coords to MCA coords + void BlockToMCA(int a_BlockX, int a_BlockZ, int & a_MCAX, int & a_MCAZ); + + /// Converts from block coords to chunk coords + void BlockToChunk(int a_BlockX, int a_BlockZ, int & a_ChunkX, int & a_ChunkZ); + + /// Zaps the specified region in the MCA file with the specified MCA coords + void ZapRegionInMCAFile(const cRegion & a_Region, int a_MCAX, int a_MCAZ); + + /** Loads raw compressed chunk data from the specified file + * chunk is specified by ChunkHeaderValue, which is the int describing the chunk in file header. + */ + void LoadChunkData(cFile & a_InFile, int a_ChunkHeaderValue, AString & a_ChunkData, int a_ChunkX, int a_ChunkZ); + + /// Zaps the specified region in the raw (compressed) chunk data. + void ZapRegionInRawChunkData(const cRegion & a_Region, AString & a_ChunkData, int a_ChunkX, int a_ChunkZ); + + /// Zaps the specified region in the specified NBT structure + void ZapRegionInNBTChunk(const cRegion & a_Region, cParsedNBT & a_NBT, int a_ChunkX, int a_ChunkZ); + + /// Zaps the blocks in the specified region from the specified NBT + void ZapRegionBlocksInNBT(const cRegion & a_Region, cParsedNBT & a_NBT, int a_SectionsTag); + + /// Zaps the blocks in the specified bytes (types) from one vertical section (16^3 blocks) of a chunk. + void ZapRegionInNBTSectionBytes(const cRegion & a_Region, int a_SectionY, unsigned char * a_BlockBytes); + + /// Zaps the blocks in the specified nibbles (meta, add) from one vertical section (16^3 blocks) of a chunk. + void ZapRegionInNBTSectionNibbles(const cRegion & a_Region, int a_SectionY, unsigned char * a_BlockNibbles); + + /// Zaps entities in the specified region from the specified NBT + void ZapRegionEntitiesInNBT(const cRegion & a_Region, cParsedNBT & a_NBT, int a_EntitiesTag); + + /// Serializes the NBT subtree into a writer + void SerializeNBTTag(const cParsedNBT & a_NBT, int a_Tag, cFastNBTWriter & a_Writer); +} ; + + + + |