diff options
author | kwolekr <kwolekr@minetest.net> | 2013-09-16 22:52:24 -0400 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2013-09-16 23:33:53 -0400 |
commit | 9bccd75e340d7502251c233418e0afccd9c4a49c (patch) | |
tree | 18c6760ef94d7a9a2f1a79fc25d65b730a863a49 /src/environment.cpp | |
parent | c9eb17aba32036e3a2cf25166e1ab256d6dd2cb7 (diff) | |
download | minetest-9bccd75e340d7502251c233418e0afccd9c4a49c.tar.gz minetest-9bccd75e340d7502251c233418e0afccd9c4a49c.tar.bz2 minetest-9bccd75e340d7502251c233418e0afccd9c4a49c.zip |
Weather: Clean up getHeat/getHumidity somewhat
Diffstat (limited to 'src/environment.cpp')
-rw-r--r-- | src/environment.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/environment.cpp b/src/environment.cpp index 86c98f2c2..03b436890 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -322,6 +322,7 @@ ServerEnvironment::ServerEnvironment(ServerMap *map, m_recommended_send_interval(0.1), m_max_lag_estimate(0.1) { + m_use_weather = g_settings->getBool("weather"); } ServerEnvironment::~ServerEnvironment() @@ -808,6 +809,16 @@ void ServerEnvironment::activateBlock(MapBlock *block, u32 additional_dtime) // Activate stored objects activateObjects(block, dtime_s); + + // Calculate weather conditions + if (m_use_weather) { + m_map->updateBlockHeat(this, block->getPos() * MAP_BLOCKSIZE, block); + m_map->updateBlockHumidity(this, block->getPos() * MAP_BLOCKSIZE, block); + } else { + block->heat = HEAT_UNDEFINED; + block->humidity = HUMIDITY_UNDEFINED; + block->weather_update_time = 0; + } // Run node timers std::map<v3s16, NodeTimer> elapsed_timers = |