summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2011-12-27 23:57:33 +0100
committerfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2011-12-27 23:57:33 +0100
commitd57753cd6873ac279f8de163393db2c1cc6a2a00 (patch)
tree176da607f1b633210ff6ce7a168e269122a32077 /source
parentFixed a little error in cPacket_PlayerListItem.cpp (diff)
downloadcuberite-d57753cd6873ac279f8de163393db2c1cc6a2a00.tar
cuberite-d57753cd6873ac279f8de163393db2c1cc6a2a00.tar.gz
cuberite-d57753cd6873ac279f8de163393db2c1cc6a2a00.tar.bz2
cuberite-d57753cd6873ac279f8de163393db2c1cc6a2a00.tar.lz
cuberite-d57753cd6873ac279f8de163393db2c1cc6a2a00.tar.xz
cuberite-d57753cd6873ac279f8de163393db2c1cc6a2a00.tar.zst
cuberite-d57753cd6873ac279f8de163393db2c1cc6a2a00.zip
Diffstat (limited to 'source')
-rw-r--r--source/cChunkMap.cpp2
-rw-r--r--source/cPlayer.cpp1
-rw-r--r--source/cWorld.cpp9
3 files changed, 10 insertions, 2 deletions
diff --git a/source/cChunkMap.cpp b/source/cChunkMap.cpp
index 2f8339176..90b3258e7 100644
--- a/source/cChunkMap.cpp
+++ b/source/cChunkMap.cpp
@@ -653,7 +653,7 @@ cChunkMap::cChunkLayer* cChunkMap::LoadLayer(int a_LayerX, int a_LayerZ )
if( fread( &PakVersion, sizeof(PakVersion), 1, f) != 1 ) { LOGERROR("ERROR 1 READING FROM FILE %s", SourceFile); fclose(f); return false; }
if( PakVersion != 1 ) { LOGERROR("WRONG PAK VERSION!"); fclose(f); return 0; }
if( fread( &ChunkVersion, sizeof(ChunkVersion), 1, f) != 1 ) { LOGERROR("ERROR 2 READING FROM FILE %s", SourceFile); fclose(f); return false; }
- if( PakVersion != 1 ) { LOGERROR("WRONG CHUNK VERSION!"); fclose(f); return 0; }
+ if( ChunkVersion != 1 ) { LOGERROR("WRONG CHUNK VERSION!"); fclose(f); return 0; }
short NumChunks = 0;
if( fread( &NumChunks, sizeof(NumChunks), 1, f) != 1 ) { LOGERROR("ERROR 3 READING FROM FILE %s", SourceFile); fclose(f); return false; }
diff --git a/source/cPlayer.cpp b/source/cPlayer.cpp
index 4e743a2fe..aca2879ca 100644
--- a/source/cPlayer.cpp
+++ b/source/cPlayer.cpp
@@ -751,6 +751,7 @@ bool cPlayer::LoadFromDisk() // TODO - This should also get/set/whatever the cor
}
else
{
+ LOGWARN("WARNING: Failed to read ini file users.ini");
AddToGroup("Default");
}
ResolvePermissions();
diff --git a/source/cWorld.cpp b/source/cWorld.cpp
index 85f8872ec..3d984019c 100644
--- a/source/cWorld.cpp
+++ b/source/cWorld.cpp
@@ -419,13 +419,20 @@ void cWorld::Tick(float a_Dt)
LockChunks();
- while( !m_pState->SpreadQueue.empty() )
+
+ int TimesSpreaded = 0;
+ while( !m_pState->SpreadQueue.empty() && TimesSpreaded < 50 ) // Spread a max of 50 times each tick, otherwise server will hang
{
cChunk* Chunk = (*m_pState->SpreadQueue.begin());
//LOG("Spreading: %p", Chunk );
Chunk->SpreadLight( Chunk->pGetSkyLight() );
Chunk->SpreadLight( Chunk->pGetLight() );
m_pState->SpreadQueue.remove( &*Chunk );
+ TimesSpreaded++;
+ }
+ if( TimesSpreaded >= 50 )
+ {
+ LOGWARN("Lots of lighting to do! At least %i chunks left!", m_pState->SpreadQueue.size() );
}
m_ChunkMap->Tick(a_Dt);