From 5f8809e425ba814f102c4387b6bf0cf323bd96c5 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Wed, 3 Aug 2011 13:03:30 +0300 Subject: Fixed farmesh to such that it was a long time ago. --- src/defaultsettings.cpp | 2 -- src/farmesh.cpp | 14 +++++++------- src/farmesh.h | 3 +-- src/game.cpp | 8 +++++++- 4 files changed, 15 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 91524a6de..265997857 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -70,8 +70,6 @@ void set_default_settings() g_settings.setDefault("fast_move", "false"); g_settings.setDefault("invert_mouse", "false"); g_settings.setDefault("enable_farmesh", "false"); - g_settings.setDefault("farmesh_trees", "true"); - g_settings.setDefault("farmesh_distance", "40"); g_settings.setDefault("enable_clouds", "true"); g_settings.setDefault("invisible_stone", "false"); g_settings.setDefault("screenshot_path", "."); diff --git a/src/farmesh.cpp b/src/farmesh.cpp index 2cd922434..8f91e3a1a 100644 --- a/src/farmesh.cpp +++ b/src/farmesh.cpp @@ -70,7 +70,6 @@ FarMesh::FarMesh( m_box = core::aabbox3d(-BS*1000000,-BS*31000,-BS*1000000, BS*1000000,BS*31000,BS*1000000); - trees = g_settings.getBool("farmesh_trees"); } FarMesh::~FarMesh() @@ -314,11 +313,12 @@ void FarMesh::render() } else { - // Trees if there are over 0.01 trees per MapNode - if(trees && tree_amount_avg > 0.01) + /*// Trees if there are over 0.01 trees per MapNode + if(tree_amount_avg > 0.01) c = video::SColor(255,50,128,50); else - c = video::SColor(255,107,134,51); + c = video::SColor(255,107,134,51);*/ + c = video::SColor(255,107,134,51); ground_is_mud = true; } } @@ -351,7 +351,7 @@ void FarMesh::render() video::EVT_STANDARD, scene::EPT_TRIANGLES, video::EIT_16BIT); // Add some trees if appropriate - if(trees && tree_amount_avg >= 0.0065 && steepness < 1.4 + if(tree_amount_avg >= 0.0065 && steepness < 1.4 && ground_is_mud == true) { driver->setMaterial(m_materials[1]); @@ -404,11 +404,11 @@ void FarMesh::step(float dtime) m_time += dtime; } -void FarMesh::update(v2f camera_p, float brightness) +void FarMesh::update(v2f camera_p, float brightness, s16 render_range) { m_camera_pos = camera_p; m_brightness = brightness; - m_render_range = g_settings.getS16("farmesh_distance")*10; + m_render_range = render_range; } diff --git a/src/farmesh.h b/src/farmesh.h index 577224e15..0a30a8aef 100644 --- a/src/farmesh.h +++ b/src/farmesh.h @@ -67,7 +67,7 @@ public: 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_materials[FARMESH_MATERIAL_COUNT]; @@ -79,7 +79,6 @@ private: float m_time; Client *m_client; s16 m_render_range; - bool trees; }; #endif diff --git a/src/game.cpp b/src/game.cpp index 6c0474ee7..a42bf2b2c 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1955,9 +1955,15 @@ void the_game( */ if(farmesh) { + farmesh_range = draw_control.wanted_range * 10; + if(draw_control.range_all && farmesh_range < 500) + farmesh_range = 500; + if(farmesh_range > 1000) + farmesh_range = 1000; + farmesh->step(dtime); farmesh->update(v2f(player_position.X, player_position.Z), - 0.05+brightness*0.95); + 0.05+brightness*0.95, farmesh_range); } // Store brightness value -- cgit v1.2.3