diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-28 13:11:14 +0100 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-28 13:11:14 +0100 |
commit | 013ae71c871c81437a1bad197e0bf7481d02b4a6 (patch) | |
tree | 13191934b88edd6d8ecaab43c82425c5dd719264 /source/cChunkMap.cpp | |
parent | Implemented synchronous chunk loading; optimized cChunkStay interface for speed (though still unused ;) (diff) | |
download | cuberite-013ae71c871c81437a1bad197e0bf7481d02b4a6.tar cuberite-013ae71c871c81437a1bad197e0bf7481d02b4a6.tar.gz cuberite-013ae71c871c81437a1bad197e0bf7481d02b4a6.tar.bz2 cuberite-013ae71c871c81437a1bad197e0bf7481d02b4a6.tar.lz cuberite-013ae71c871c81437a1bad197e0bf7481d02b4a6.tar.xz cuberite-013ae71c871c81437a1bad197e0bf7481d02b4a6.tar.zst cuberite-013ae71c871c81437a1bad197e0bf7481d02b4a6.zip |
Diffstat (limited to 'source/cChunkMap.cpp')
-rw-r--r-- | source/cChunkMap.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/cChunkMap.cpp b/source/cChunkMap.cpp index 2f4d39ca2..0485df1eb 100644 --- a/source/cChunkMap.cpp +++ b/source/cChunkMap.cpp @@ -782,6 +782,11 @@ bool cChunkMap::LoadChunk(int a_ChunkX, int a_ChunkY, int a_ChunkZ) // Already loaded
return true;
}
+ if (Chunk->HasLoadFailed())
+ {
+ // Already tried loading and it failed
+ return false;
+ }
}
return m_World->GetStorage().LoadChunk(a_ChunkX, a_ChunkY, a_ChunkZ);
}
@@ -803,6 +808,21 @@ void cChunkMap::LoadChunks(const cChunkCoordsList & a_Chunks) +void cChunkMap::ChunkLoadFailed(int a_ChunkX, int a_ChunkY, int a_ChunkZ)
+{
+ cCSLock Lock(m_CSLayers);
+ cChunkPtr Chunk = GetChunkNoLoad(a_ChunkX, a_ChunkY, a_ChunkZ);
+ if (Chunk == NULL)
+ {
+ return;
+ }
+ Chunk->MarkLoadFailed();
+}
+
+
+
+
+
void cChunkMap::UpdateSign(int a_X, int a_Y, int a_Z, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4)
{
cCSLock Lock(m_CSLayers);
|