summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTycho <work.tycho+git@gmail.com>2014-05-25 19:26:10 +0200
committerTycho <work.tycho+git@gmail.com>2014-05-25 19:26:10 +0200
commit2a7d199df68d11f6fd1fa2b4186faa00d0e81676 (patch)
treed3dd701b8a582322da4d8ad0d5c7b777f02c926b
parentMerge branch 'chunksparsing/structs' into AllocationPool (diff)
downloadcuberite-2a7d199df68d11f6fd1fa2b4186faa00d0e81676.tar
cuberite-2a7d199df68d11f6fd1fa2b4186faa00d0e81676.tar.gz
cuberite-2a7d199df68d11f6fd1fa2b4186faa00d0e81676.tar.bz2
cuberite-2a7d199df68d11f6fd1fa2b4186faa00d0e81676.tar.lz
cuberite-2a7d199df68d11f6fd1fa2b4186faa00d0e81676.tar.xz
cuberite-2a7d199df68d11f6fd1fa2b4186faa00d0e81676.tar.zst
cuberite-2a7d199df68d11f6fd1fa2b4186faa00d0e81676.zip
-rw-r--r--src/ChunkData.cpp10
-rw-r--r--src/ChunkData.h9
-rw-r--r--tests/ChunkData/Coordinates.cpp8
3 files changed, 17 insertions, 10 deletions
diff --git a/src/ChunkData.cpp b/src/ChunkData.cpp
index 1bc3072c2..99421bc33 100644
--- a/src/ChunkData.cpp
+++ b/src/ChunkData.cpp
@@ -242,7 +242,7 @@ NIBBLETYPE cChunkData::GetSkyLight(int a_RelX, int a_RelY, int a_RelZ) const
cChunkData cChunkData::Copy() const
{
cChunkData copy(m_Pool);
- for (int i = 0; i < CHUNK_SECTION_NUM; i++)
+ for (size_t i = 0; i < CHUNK_SECTION_COUNT; i++)
{
if (m_Sections[i] != NULL)
{
@@ -432,7 +432,7 @@ void cChunkData::SetBlocks(const BLOCKTYPE * a_src)
void cChunkData::SetMeta(const NIBBLETYPE * a_src)
{
- for (size_t i = 0; i < CHUNK_SECTION_NUM; i++)
+ for (size_t i = 0; i < CHUNK_SECTION_COUNT; i++)
{
const size_t segment_length = CHUNK_SECTION_HEIGHT * 16 * 16 / 2;
if (m_Sections[i] != NULL)
@@ -484,10 +484,10 @@ void cChunkData::SetMeta(const NIBBLETYPE * a_src)
-void cChunkData::SetLight(const NIBBLETYPE * a_src)
+void cChunkData::SetBlockLight(const NIBBLETYPE * a_src)
{
if (!a_src) return;
- for (size_t i = 0; i < CHUNK_SECTION_NUM; i++)
+ for (size_t i = 0; i < CHUNK_SECTION_COUNT; i++)
{
const size_t segment_length = CHUNK_SECTION_HEIGHT * 16 * 16 / 2;
if (m_Sections[i] != NULL)
@@ -542,7 +542,7 @@ void cChunkData::SetLight(const NIBBLETYPE * a_src)
void cChunkData::SetSkyLight (const NIBBLETYPE * a_src)
{
if (!a_src) return;
- for (size_t i = 0; i < CHUNK_SECTION_NUM; i++)
+ for (size_t i = 0; i < CHUNK_SECTION_COUNT; i++)
{
const size_t segment_length = CHUNK_SECTION_HEIGHT * 16 * 16 / 2;
if (m_Sections[i] != NULL)
diff --git a/src/ChunkData.h b/src/ChunkData.h
index 08f1603bb..637771741 100644
--- a/src/ChunkData.h
+++ b/src/ChunkData.h
@@ -19,6 +19,11 @@
class cChunkData
{
+private:
+
+ static const size_t CHUNK_SECTION_HEIGHT = 16;
+ static const size_t CHUNK_SECTION_COUNT = (256 / CHUNK_SECTION_HEIGHT);
+
public:
struct sChunkSection;
@@ -65,10 +70,6 @@ public:
};
private:
-
- static const size_t CHUNK_SECTION_HEIGHT = 16;
- static const size_t CHUNK_SECTION_COUNT = (256 / CHUNK_SECTION_HEIGHT);
-
#if __cplusplus < 201103L
// auto_ptr style interface for memory management
mutable bool IsOwner;
diff --git a/tests/ChunkData/Coordinates.cpp b/tests/ChunkData/Coordinates.cpp
index f94532183..3a4477fd6 100644
--- a/tests/ChunkData/Coordinates.cpp
+++ b/tests/ChunkData/Coordinates.cpp
@@ -8,8 +8,14 @@ int main(int argc, char** argv)
{
class cStarvationCallbacks
: public cAllocationPool<cChunkData::sChunkSection,1600>::cStarvationCallbacks
+ {
+ virtual void OnStartingUsingBuffer() {}
+ virtual void OnStopUsingBuffer() {}
+ virtual void OnBufferEmpty() {}
+ };
+ cAllocationPool<cChunkData::sChunkSection,1600> Pool(std::auto_ptr<cAllocationPool<cChunkData::sChunkSection,1600>::cStarvationCallbacks>(new cStarvationCallbacks()));
{
- cChunkData buffer;
+ cChunkData buffer(Pool);
// Empty chunks
buffer.SetBlock(0, 0, 0, 0xAB);