summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--source/ChunkDef.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/source/ChunkDef.h b/source/ChunkDef.h
index 2aaaa5288..90ca84a1c 100644
--- a/source/ChunkDef.h
+++ b/source/ChunkDef.h
@@ -202,7 +202,7 @@ public:
}
- inline static BLOCKTYPE GetBlock(BLOCKTYPE * a_BlockTypes, int a_X, int a_Y, int a_Z)
+ inline static BLOCKTYPE GetBlock(const BLOCKTYPE * a_BlockTypes, int a_X, int a_Y, int a_Z)
{
ASSERT((a_X >= 0) && (a_X < Width));
ASSERT((a_Y >= 0) && (a_Y < Height));
@@ -235,7 +235,7 @@ public:
}
- static NIBBLETYPE GetNibble(NIBBLETYPE * a_Buffer, int a_BlockIdx)
+ static NIBBLETYPE GetNibble(const NIBBLETYPE * a_Buffer, int a_BlockIdx)
{
if ((a_BlockIdx > -1) && (a_BlockIdx < cChunkDef::NumBlocks))
{
@@ -245,7 +245,7 @@ public:
}
- static NIBBLETYPE GetNibble(NIBBLETYPE * a_Buffer, int x, int y, int z)
+ static NIBBLETYPE GetNibble(const NIBBLETYPE * a_Buffer, int x, int y, int z)
{
if ((x < Width) && (x > -1) && (y < Height) && (y > -1) && (z < Width) && (z > -1))
{
@@ -281,7 +281,7 @@ public:
}
- inline static char GetNibble(NIBBLETYPE * a_Buffer, const Vector3i & a_BlockPos )
+ inline static char GetNibble(const NIBBLETYPE * a_Buffer, const Vector3i & a_BlockPos )
{
return GetNibble( a_Buffer, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z );
}
@@ -305,6 +305,12 @@ The virtual methods are called in the same order as they're declared here.
class cChunkDataCallback abstract
{
public:
+ /** Called before any other callbacks to inform of the current coords
+ (only in processes where multiple chunks can be processed, such as cWorld::ForEachChunkInRect()).
+ If false is returned, the chunk is skipped.
+ */
+ virtual bool Coords(int a_ChunkX, int a_ChunkZ) { return true; };
+
/// Called once to provide heightmap data
virtual void HeightMap(const cChunkDef::HeightMap * a_HeightMap) {};
@@ -317,7 +323,7 @@ public:
/// Called once to export block meta
virtual void BlockMeta (const NIBBLETYPE * a_Meta) {};
- /// Called once to let know if the chunk lighting is valid. Return value is used to control if BlockLight() and BlockSkyLight() are called next
+ /// Called once to let know if the chunk lighting is valid. Return value is used to control if BlockLight() and BlockSkyLight() are called next (if true)
virtual bool LightIsValid(bool a_IsLightValid) {return true; };
/// Called once to export block light