summaryrefslogtreecommitdiff
path: root/src/environment.h
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-11-27 12:50:35 +0200
committerPerttu Ahola <celeron55@gmail.com>2011-11-29 19:13:55 +0200
commit5c1cb01936093fc7e57d4b6d7a170dff9a18cd7d (patch)
treec82cb6bb89eaa9dc86c903968cbf283726d30c79 /src/environment.h
parentec4f58741bedc098048234aac32662e08479fba2 (diff)
downloadminetest-5c1cb01936093fc7e57d4b6d7a170dff9a18cd7d.tar.gz
minetest-5c1cb01936093fc7e57d4b6d7a170dff9a18cd7d.tar.bz2
minetest-5c1cb01936093fc7e57d4b6d7a170dff9a18cd7d.zip
Make blocks to be loaded from disk when the active block area reaches them
Diffstat (limited to 'src/environment.h')
-rw-r--r--src/environment.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/environment.h b/src/environment.h
index 1abf73867..48e9cfa75 100644
--- a/src/environment.h
+++ b/src/environment.h
@@ -120,6 +120,12 @@ public:
private:
};
+class IBackgroundBlockEmerger
+{
+public:
+ virtual void queueBlockEmerge(v3s16 blockpos, bool allow_generate)=0;
+};
+
/*
The server-side environment.
@@ -129,7 +135,8 @@ private:
class ServerEnvironment : public Environment
{
public:
- ServerEnvironment(ServerMap *map, lua_State *L, IGameDef *gamedef);
+ ServerEnvironment(ServerMap *map, lua_State *L, IGameDef *gamedef,
+ IBackgroundBlockEmerger *emerger);
~ServerEnvironment();
Map & getMap()
@@ -279,6 +286,8 @@ private:
lua_State *m_lua;
// Game definition
IGameDef *m_gamedef;
+ // Background block emerger (the server, in practice)
+ IBackgroundBlockEmerger *m_emerger;
// Active object list
core::map<u16, ServerActiveObject*> m_active_objects;
// Outgoing network message buffer for active objects