diff options
author | faketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-16 14:23:54 +0100 |
---|---|---|
committer | faketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-16 14:23:54 +0100 |
commit | 1c4122313f07bd2b93eff318f8d2fbf582e7ea6b (patch) | |
tree | 47f30c421c529a96dcad50cc60af94fbc608ad59 /source | |
parent | Disabled the excessive logging while initializing the Core plugin (diff) | |
download | cuberite-1c4122313f07bd2b93eff318f8d2fbf582e7ea6b.tar cuberite-1c4122313f07bd2b93eff318f8d2fbf582e7ea6b.tar.gz cuberite-1c4122313f07bd2b93eff318f8d2fbf582e7ea6b.tar.bz2 cuberite-1c4122313f07bd2b93eff318f8d2fbf582e7ea6b.tar.lz cuberite-1c4122313f07bd2b93eff318f8d2fbf582e7ea6b.tar.xz cuberite-1c4122313f07bd2b93eff318f8d2fbf582e7ea6b.tar.zst cuberite-1c4122313f07bd2b93eff318f8d2fbf582e7ea6b.zip |
Diffstat (limited to 'source')
-rw-r--r-- | source/cChunkMap.cpp | 3 | ||||
-rw-r--r-- | source/cChunkMap.h | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/source/cChunkMap.cpp b/source/cChunkMap.cpp index efb69aca0..6f422b3bd 100644 --- a/source/cChunkMap.cpp +++ b/source/cChunkMap.cpp @@ -287,11 +287,14 @@ void cChunkMap::cChunkLayer::Save(void) void cChunkMap::cChunkLayer::UnloadUnusedChunks(void)
{
+ cWorld * World = m_Parent->GetWorld();
for (int i = 0; i < ARRAYCOUNT(m_Chunks); i++)
{
if ((m_Chunks[i] != NULL) && (m_Chunks[i]->CanUnload()))
{
// TODO: Save the chunk if it was changed
+ World->GetStorage().QueueSaveChunk(m_Chunks[i]); // _FT: FIXME: Right now it saves chunks even though it might not have changed.
+ // Also I'm not sure what's going on when I queue this chunks and the next line says reset the pointer.. =/
m_Chunks[i].reset();
}
} // for i - m_Chunks[]
diff --git a/source/cChunkMap.h b/source/cChunkMap.h index bc7bddd96..b5d6abd60 100644 --- a/source/cChunkMap.h +++ b/source/cChunkMap.h @@ -84,7 +84,14 @@ private: int GetX(void) const {return m_LayerX; }
int GetZ(void) const {return m_LayerZ; }
- int GetNumChunksLoaded(void) const {return m_NumChunksLoaded; }
+ int GetNumChunksLoaded(void) const
+ {
+ int NumChunks = 0;
+ for( int i = 0; i < LAYER_SIZE*LAYER_SIZE; ++i )
+ if( m_Chunks[i].get() )
+ NumChunks++;
+ return NumChunks;
+ }
void Save(void);
void UnloadUnusedChunks(void);
|