Use multiple light positions for CAO lighting
[oweals/minetest.git] / src / client / content_cao.h
index c53b814333a2a28230d1f388aca638bfa9c8b5a4..699148c52306416eaaa4ea318db4e04678afb888 100644 (file)
@@ -68,7 +68,6 @@ struct SmoothTranslatorWrappedv3f : SmoothTranslator<v3f>
 class GenericCAO : public ClientActiveObject
 {
 private:
-       void readAOMessageProperties(std::istream &is);
        // Only set at initialization
        std::string m_name = "";
        bool m_is_player = false;
@@ -131,6 +130,8 @@ private:
        // Settings
        bool m_enable_shaders = false;
 
+       bool visualExpiryRequired(const ObjectProperties &newprops) const;
+
 public:
        GenericCAO(Client *client, ClientEnvironment *env);
 
@@ -235,13 +236,16 @@ public:
                m_visuals_expired = true;
        }
 
-       void updateLight(u8 light_at_pos);
-
-       void updateLightNoCheck(u8 light_at_pos);
+       void updateLight(u32 day_night_ratio);
 
        void setNodeLight(u8 light);
 
-       v3s16 getLightPosition();
+       /* Get light position(s).
+        * returns number of positions written into pos[], which must have space
+        * for at least 3 vectors. */
+       u16 getLightPosition(v3s16 *pos);
+
+       void updateNametag();
 
        void updateNodePos();