]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/client.h
Add propper client initialization
[dragonfireclient.git] / src / client.h
index a74668d5b8c1de2c561edd573baaee56f3a7530f..9a788dfca5d70fcedec70d535ead46808c413ff5 100644 (file)
@@ -168,6 +168,7 @@ struct ClientEvent
                        f32 expirationtime;
                        f32 size;
                        bool collisiondetection;
+                       bool vertical;
                        std::string *texture;
                } spawn_particle;
                struct{
@@ -184,6 +185,7 @@ struct ClientEvent
                        f32 minsize;
                        f32 maxsize;
                        bool collisiondetection;
+                       bool vertical;
                        std::string *texture;
                        u32 id;
                } add_particlespawner;
@@ -202,6 +204,7 @@ struct ClientEvent
                        u32 dir;
                        v2f *align;
                        v2f *offset;
+                       v3f *world_pos;
                } hudadd;
                struct{
                        u32 id;
@@ -212,6 +215,7 @@ struct ClientEvent
                        v2f *v2fdata;
                        std::string *sdata;
                        u32 data;
+                       v3f *v3fdata;
                } hudchange;
        };
 };
@@ -289,6 +293,14 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
        );
        
        ~Client();
+
+       /*
+        request all threads managed by client to be stopped
+        */
+       void Stop();
+
+
+       bool isShutdown();
        /*
                The name of the local player should already be set when
                calling this, as it is sent in the initialization.
@@ -420,6 +432,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
        virtual MtEventManager* getEventManager();
        virtual bool checkLocalPrivilege(const std::string &priv)
        { return checkPrivilege(priv); }
+       virtual scene::IAnimatedMesh* getMesh(const std::string &filename);
 
        // The following set of functions is used by ClientMediaDownloader
        // Insert a media file appropriately into the appropriate manager
@@ -509,6 +522,9 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
        // Detached inventories
        // key = name
        std::map<std::string, Inventory*> m_detached_inventories;
+
+       // Storage for mesh data for creating multiple instances of the same mesh
+       std::map<std::string, std::string> m_mesh_data;
 };
 
 #endif // !CLIENT_HEADER