From 04151677d57905e35993eac4899e6bd72831ec6f Mon Sep 17 00:00:00 2001 From: mgueydan Date: Sun, 8 Sep 2013 01:43:55 +0200 Subject: Disabeling current mob spawning and tick --- source/Chunk.cpp | 8 ++++++-- source/World.cpp | 9 +++++---- source/World.h | 4 ++-- 3 files changed, 13 insertions(+), 8 deletions(-) (limited to 'source') diff --git a/source/Chunk.cpp b/source/Chunk.cpp index 35e44363e..1d649f3f6 100644 --- a/source/Chunk.cpp +++ b/source/Chunk.cpp @@ -533,10 +533,14 @@ void cChunk::Tick(float a_Dt) m_IsDirty = (*itr)->Tick(a_Dt, *this) | m_IsDirty; } - // Tick all entities in this chunk: + // Tick all entities in this chunk (except mobs): for (cEntityList::iterator itr = m_Entities.begin(); itr != m_Entities.end(); ++itr) { - (*itr)->Tick(a_Dt, *this); + // Mobs are tickes inside MobTick (as we don't have to tick them if they are far away from players) + if (!((*itr)->IsMob())) + { + (*itr)->Tick(a_Dt, *this); + } } // for itr - m_Entitites[] // Remove all entities that were scheduled for removal: diff --git a/source/World.cpp b/source/World.cpp index 4bde20ede..17c5ccb3e 100644 --- a/source/World.cpp +++ b/source/World.cpp @@ -622,7 +622,7 @@ void cWorld::Tick(float a_Dt) UnloadUnusedChunks(); } - TickSpawnMobs(a_Dt); + TickMobs(a_Dt); std::vector m_RSList_copy(m_RSList); @@ -707,13 +707,13 @@ void cWorld::TickWeather(float a_Dt) -void cWorld::TickSpawnMobs(float a_Dt) +void cWorld::TickMobs(float a_Dt) { - if (!m_bAnimals || (m_WorldAge - m_LastSpawnMonster <= m_SpawnMonsterRate)) + if (!m_bAnimals) { return; } - +/* cMobCensus MobCensus; m_ChunkMap->CollectMobCensus(MobCensus); MobCensus.logd(); @@ -810,6 +810,7 @@ void cWorld::TickSpawnMobs(float a_Dt) // A proper mob type was selected, now spawn the mob: SpawnMob(SpawnPos.x, SpawnPos.y, SpawnPos.z, (cMonster::eType)MobType); } +*/ } diff --git a/source/World.h b/source/World.h index 6fb5c619b..eb19dce40 100644 --- a/source/World.h +++ b/source/World.h @@ -711,8 +711,8 @@ private: /// Handles the weather in each tick void TickWeather(float a_Dt); - /// Handles the mob spawning each tick - void TickSpawnMobs(float a_Dt); + /// Handles the mob spawning/moving/destroying each tick + void TickMobs(float a_Dt); /// Executes all tasks queued onto the tick thread void TickQueuedTasks(void); -- cgit v1.2.3