diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-06-02 20:54:02 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-06-02 20:54:02 +0200 |
commit | 827b9f8d7054158b058679999d77c1345162a293 (patch) | |
tree | b03741002579b03d3657c1e496e73993e4070fa9 /src/client/client.cpp | |
parent | 3ff3103e98b350712543f926c429ab339700e252 (diff) | |
parent | 9fc018ded10225589d2559d24a5db739e891fb31 (diff) | |
download | dragonfireclient-827b9f8d7054158b058679999d77c1345162a293.tar.xz |
Merge branch 'master' of https://github.com/minetest/minetest
Diffstat (limited to 'src/client/client.cpp')
-rw-r--r-- | src/client/client.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/client/client.cpp b/src/client/client.cpp index 2d9d226e4..5e31387ab 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -533,6 +533,7 @@ void Client::step(float dtime) { int num_processed_meshes = 0; std::vector<v3s16> blocks_to_ack; + bool force_update_shadows = false; while (!m_mesh_update_thread.m_queue_out.empty()) { num_processed_meshes++; @@ -559,9 +560,11 @@ void Client::step(float dtime) if (is_empty) delete r.mesh; - else + else { // Replace with the new mesh block->mesh = r.mesh; + force_update_shadows = true; + } } } else { delete r.mesh; @@ -586,6 +589,10 @@ void Client::step(float dtime) if (num_processed_meshes > 0) g_profiler->graphAdd("num_processed_meshes", num_processed_meshes); + + auto shadow_renderer = RenderingEngine::get_shadow_renderer(); + if (shadow_renderer && force_update_shadows) + shadow_renderer->setForceUpdateShadowMap(); } /* @@ -799,7 +806,7 @@ void Client::deletingPeer(con::Peer *peer, bool timeout) m_access_denied = true; if (timeout) m_access_denied_reason = gettext("Connection timed out."); - else + else if (m_access_denied_reason.empty()) m_access_denied_reason = gettext("Connection aborted (protocol error?)."); } |