summaryrefslogtreecommitdiff
path: root/src/environment.h
diff options
context:
space:
mode:
authorKahrl <kahrl@gmx.net>2013-08-11 04:09:45 +0200
committerKahrl <kahrl@gmx.net>2013-08-14 21:03:33 +0200
commit4e1f50035e860a00636ca5d804c267119df99601 (patch)
treec6cab522305ef2a5b9cfdb3685340d57590f1ff1 /src/environment.h
parent6228d634fb31d1ce925d1fdc2dac022629a007ef (diff)
downloadminetest-4e1f50035e860a00636ca5d804c267119df99601.tar.gz
minetest-4e1f50035e860a00636ca5d804c267119df99601.tar.bz2
minetest-4e1f50035e860a00636ca5d804c267119df99601.zip
Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu
Diffstat (limited to 'src/environment.h')
-rw-r--r--src/environment.h31
1 files changed, 12 insertions, 19 deletions
diff --git a/src/environment.h b/src/environment.h
index b59ce83c1..597ad5ff0 100644
--- a/src/environment.h
+++ b/src/environment.h
@@ -32,11 +32,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <set>
#include <list>
-#include "irrlichttypes_extrabloated.h"
-#include "player.h"
-#include <ostream>
+#include <map>
+#include "irr_v3d.h"
#include "activeobject.h"
-#include "util/container.h"
#include "util/numeric.h"
#include "mapnode.h"
#include "mapblock.h"
@@ -44,13 +42,14 @@ with this program; if not, write to the Free Software Foundation, Inc.,
class ServerEnvironment;
class ActiveBlockModifier;
class ServerActiveObject;
-typedef struct lua_State lua_State;
class ITextureSource;
class IGameDef;
+class IBackgroundBlockEmerger;
class Map;
class ServerMap;
class ClientMap;
-class ScriptApi;
+class GameScripting;
+class Player;
class Environment
{
@@ -77,7 +76,6 @@ public:
Player * getNearestConnectedPlayer(v3f pos);
std::list<Player*> getPlayers();
std::list<Player*> getPlayers(bool ignore_disconnected);
- void printPlayers(std::ostream &o);
u32 getDayNightRatio();
@@ -176,12 +174,6 @@ public:
private:
};
-class IBackgroundBlockEmerger
-{
-public:
- virtual void queueBlockEmerge(v3s16 blockpos, bool allow_generate)=0;
-};
-
/*
The server-side environment.
@@ -191,7 +183,8 @@ public:
class ServerEnvironment : public Environment
{
public:
- ServerEnvironment(ServerMap *map, ScriptApi *iface, IGameDef *gamedef,
+ ServerEnvironment(ServerMap *map, GameScripting *scriptIface,
+ IGameDef *gamedef,
IBackgroundBlockEmerger *emerger);
~ServerEnvironment();
@@ -200,7 +193,7 @@ public:
ServerMap & getServerMap();
//TODO find way to remove this fct!
- ScriptApi* getScriptIface()
+ GameScripting* getScriptIface()
{ return m_script; }
IGameDef *getGameDef()
@@ -354,15 +347,15 @@ private:
// The map
ServerMap *m_map;
// Lua state
- ScriptApi* m_script;
+ GameScripting* m_script;
// Game definition
IGameDef *m_gamedef;
- // Background block emerger (the server, in practice)
+ // Background block emerger (the EmergeManager, in practice)
IBackgroundBlockEmerger *m_emerger;
// Active object list
std::map<u16, ServerActiveObject*> m_active_objects;
// Outgoing network message buffer for active objects
- Queue<ActiveObjectMessage> m_active_object_messages;
+ std::list<ActiveObjectMessage> m_active_object_messages;
// Some timers
float m_random_spawn_timer; // used for experimental code
float m_send_recommended_timer;
@@ -503,7 +496,7 @@ private:
IrrlichtDevice *m_irr;
std::map<u16, ClientActiveObject*> m_active_objects;
std::list<ClientSimpleObject*> m_simple_objects;
- Queue<ClientEnvEvent> m_client_event_queue;
+ std::list<ClientEnvEvent> m_client_event_queue;
IntervalLimiter m_active_object_light_update_interval;
IntervalLimiter m_lava_hurt_interval;
IntervalLimiter m_drowning_interval;