diff options
author | Perttu Ahola <celeron55@gmail.com> | 2012-12-02 18:02:04 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2012-12-02 18:02:45 +0200 |
commit | 804a7875a2018f3d8cb3fbe917c11ecc1666d25a (patch) | |
tree | 8f730c91a9461d512e785e76a3a5f99e52e910d3 /src/environment.cpp | |
parent | 041585a78e7eeabd23d92435a8dd6fd39d329b07 (diff) | |
download | minetest-804a7875a2018f3d8cb3fbe917c11ecc1666d25a.tar.gz minetest-804a7875a2018f3d8cb3fbe917c11ecc1666d25a.tar.bz2 minetest-804a7875a2018f3d8cb3fbe917c11ecc1666d25a.zip |
Smooth day-night transitions
Diffstat (limited to 'src/environment.cpp')
-rw-r--r-- | src/environment.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/environment.cpp b/src/environment.cpp index e70cb39b7..5bf127a17 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -203,7 +203,8 @@ void Environment::printPlayers(std::ostream &o) u32 Environment::getDayNightRatio() { - return time_to_daynight_ratio(m_time_of_day); + bool smooth = (g_settings->getS32("enable_shaders") != 0); + return time_to_daynight_ratio(m_time_of_day_f*24000, smooth); } void Environment::stepTimeOfDay(float dtime) @@ -2132,15 +2133,15 @@ void ClientEnvironment::step(float dtime) } // Update lighting on all players on client - u8 light = LIGHT_MAX; + float light = 1.0; try{ // Get node at head v3s16 p = player->getLightPosition(); MapNode n = m_map->getNode(p); - light = n.getLightBlend(getDayNightRatio(), m_gamedef->ndef()); + light = n.getLightBlendF1((float)getDayNightRatio()/1000, m_gamedef->ndef()); } catch(InvalidPositionException &e){ - light = blend_light(getDayNightRatio(), LIGHT_SUN, 0); + light = blend_light_f1((float)getDayNightRatio()/1000, LIGHT_SUN, 0); } player->light = light; } |