u8 m_last_light = 255;
bool m_is_visible = false;
s8 m_glow = 0;
+ // Material
+ video::E_MATERIAL_TYPE m_material_type;
+ // Settings
+ bool m_enable_shaders = false;
+
+ bool visualExpiryRequired(const ObjectProperties &newprops) const;
public:
GenericCAO(Client *client, ClientEnvironment *env);
const v3f getPosition() const;
+ void setPosition(const v3f &pos)
+ {
+ pos_translator.val_current = pos;
+ }
+
inline const v3f &getRotation() const { return m_rotation; }
const bool isImmortal();
- scene::ISceneNode *getSceneNode();
+ scene::ISceneNode *getSceneNode() const;
- scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode();
+ scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode() const;
// m_matrixnode controls the position and rotation of the child node
// for all scene nodes, as a workaround for an Irrlicht problem with
m_visuals_expired = true;
}
- void updateLight(u8 light_at_pos);
+ void updateLight(u32 day_night_ratio);
- void updateLightNoCheck(u8 light_at_pos);
+ void setNodeLight(u8 light);
v3s16 getLightPosition();
+ void updateNametag();
+
void updateNodePos();
void step(float dtime, ClientEnvironment *env);