]> git.lizzy.rs Git - minetest.git/blobdiff - src/client.h
Dungeongen: Fix out-of-voxelmanip access segfault
[minetest.git] / src / client.h
index 9a09704a6618afb00491740e5326202a6b37c427..b33358d94c5570e519ea28c4f416def3243c62e1 100644 (file)
@@ -34,7 +34,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "localplayer.h"
 #include "hud.h"
 #include "particles.h"
-#include "network/networkpacket.h"
+#include "mapnode.h"
+#include "tileanimation.h"
 
 struct MeshMakeData;
 class MapBlockMesh;
@@ -51,6 +52,7 @@ class Database;
 class Mapper;
 struct MinimapMapblock;
 class Camera;
+class NetworkPacket;
 
 struct QueuedMeshUpdate
 {
@@ -185,6 +187,8 @@ struct ClientEvent
                        bool collision_removal;
                        bool vertical;
                        std::string *texture;
+                       struct TileAnimationParams animation;
+                       u8 glow;
                } spawn_particle;
                struct{
                        u16 amount;
@@ -205,6 +209,8 @@ struct ClientEvent
                        bool vertical;
                        std::string *texture;
                        u32 id;
+                       struct TileAnimationParams animation;
+                       u8 glow;
                } add_particlespawner;
                struct{
                        u32 id;
@@ -402,9 +408,6 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
 
        void ProcessData(NetworkPacket *pkt);
 
-       // Returns true if something was received
-       bool AsyncProcessPacket();
-       bool AsyncProcessData();
        void Send(NetworkPacket* pkt);
 
        void interact(u8 action, const PointedThing& pointed);
@@ -422,8 +425,9 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
        void sendRespawn();
        void sendReady();
 
-       ClientEnvironment& getEnv()
-       { return m_env; }
+       ClientEnvironment& getEnv() { return m_env; }
+       ITextureSource *tsrc() { return getTextureSource(); }
+       ISoundManager *sound() { return getSoundManager(); }
 
        // Causes urgent mesh updates (unlike Map::add/removeNodeWithEvent)
        void removeNode(v3s16 p);
@@ -521,14 +525,15 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
        virtual IItemDefManager* getItemDefManager();
        virtual INodeDefManager* getNodeDefManager();
        virtual ICraftDefManager* getCraftDefManager();
-       virtual ITextureSource* getTextureSource();
+       ITextureSource* getTextureSource();
        virtual IShaderSource* getShaderSource();
-       virtual scene::ISceneManager* getSceneManager();
+       IShaderSource *shsrc() { return getShaderSource(); }
+       scene::ISceneManager* getSceneManager();
        virtual u16 allocateUnknownNodeId(const std::string &name);
        virtual ISoundManager* getSoundManager();
        virtual MtEventManager* getEventManager();
        virtual ParticleManager* getParticleManager();
-       virtual bool checkLocalPrivilege(const std::string &priv)
+       bool checkLocalPrivilege(const std::string &priv)
        { return checkPrivilege(priv); }
        virtual scene::IAnimatedMesh* getMesh(const std::string &filename);