Fix alpha for liquid nodes (#5494)
[oweals/minetest.git] / src / clientenvironment.h
index b30a7a6d7b71504a379c45d417fbd3cb3abe702d..79b4797ad07e9bc9483a4425aaf1d83b3a9ec084 100644 (file)
@@ -27,6 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 class ClientSimpleObject;
 class ClientMap;
+class ClientScripting;
 class ClientActiveObject;
 class GenericCAO;
 class LocalPlayer;
@@ -75,6 +76,7 @@ public:
        ClientMap & getClientMap();
 
        Client *getGameDef() { return m_client; }
+       void setScript(ClientScripting *script) { m_script = script; }
 
        void step(f32 dtime);
 
@@ -124,8 +126,9 @@ public:
        void getActiveObjects(v3f origin, f32 max_d,
                std::vector<DistanceSortedActiveObject> &dest);
 
-       // Get event from queue. CEE_NONE is returned if queue is empty.
-       ClientEnvEvent getClientEvent();
+       bool hasClientEnvEvents() const { return !m_client_event_queue.empty(); }
+       // Get event from queue. If queue is empty, it triggers an assertion failure.
+       ClientEnvEvent getClientEnvEvent();
 
        /*!
         * Gets closest object pointed by the shootline.
@@ -176,6 +179,7 @@ private:
        scene::ISceneManager *m_smgr;
        ITextureSource *m_texturesource;
        Client *m_client;
+       ClientScripting *m_script;
        IrrlichtDevice *m_irr;
        UNORDERED_MAP<u16, ClientActiveObject*> m_active_objects;
        std::vector<ClientSimpleObject*> m_simple_objects;