]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/farmesh.h
Fix click areas of singleplayer checkboxes
[dragonfireclient.git] / src / farmesh.h
index 12f58794285da034d56e589085fdd54167c98eec..0a30a8aefe348a000186f6f2213333c65ab13eb3 100644 (file)
@@ -27,6 +27,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "common_irrlicht.h"
 
+#define FARMESH_MATERIAL_COUNT 2
+
+class Client;
+
 class FarMesh : public scene::ISceneNode
 {
 public:
@@ -34,7 +38,8 @@ class FarMesh : public scene::ISceneNode
                        scene::ISceneNode* parent,
                        scene::ISceneManager* mgr,
                        s32 id,
-                       u64 seed
+                       u64 seed,
+                       Client *client
        );
 
        ~FarMesh();
@@ -52,15 +57,9 @@ class FarMesh : public scene::ISceneNode
                return m_box;
        }
 
-       virtual u32 getMaterialCount() const
-       {
-               return 1;
-       }
+       virtual u32 getMaterialCount() const;
 
-       virtual video::SMaterial& getMaterial(u32 i)
-       {
-               return m_material;
-       }
+       virtual video::SMaterial& getMaterial(u32 i);
        
        /*
                Other stuff
@@ -68,16 +67,18 @@ class FarMesh : public scene::ISceneNode
 
        void step(float dtime);
 
-       void update(v2f camera_p, float brightness);
+       void update(v2f camera_p, float brightness, s16 render_range);
 
 private:
-       video::SMaterial m_material;
+       video::SMaterial m_materials[FARMESH_MATERIAL_COUNT];
        core::aabbox3d<f32> m_box;
        float m_cloud_y;
        float m_brightness;
-       u32 m_seed;
+       u64 m_seed;
        v2f m_camera_pos;
        float m_time;
+       Client *m_client;
+       s16 m_render_range;
 };
 
 #endif