From 5c1cb01936093fc7e57d4b6d7a170dff9a18cd7d Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 27 Nov 2011 12:50:35 +0200 Subject: Make blocks to be loaded from disk when the active block area reaches them --- src/environment.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/environment.cpp') diff --git a/src/environment.cpp b/src/environment.cpp index 39ecf423c..94c88d57c 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -273,10 +273,11 @@ void ActiveBlockList::update(core::list &active_positions, */ ServerEnvironment::ServerEnvironment(ServerMap *map, lua_State *L, - IGameDef *gamedef): + IGameDef *gamedef, IBackgroundBlockEmerger *emerger): m_map(map), m_lua(L), m_gamedef(gamedef), + m_emerger(emerger), m_random_spawn_timer(3), m_send_recommended_timer(0), m_game_time(0), @@ -891,8 +892,12 @@ void ServerEnvironment::step(float dtime) <<") became active"<getBlockNoCreateNoEx(p); - if(block==NULL) + if(block==NULL){ + // Block needs to be fetched first + m_emerger->queueBlockEmerge(p, false); + m_active_blocks.m_list.remove(p); continue; + } activateBlock(block); } -- cgit v1.2.3