From 03edcafdda550e55e29bf48a682097028ae01306 Mon Sep 17 00:00:00 2001 From: lhofhansl Date: Mon, 2 Jul 2018 16:16:17 -0700 Subject: [PATCH] Zoom: Correctly verify client passed zoom at the server (#7526) Fixes generation of distant world when not zooming in creative mode (in creative mode zoom FOV is 15 degrees). --- src/clientiface.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/clientiface.cpp b/src/clientiface.cpp index cc52d1fbc..ba24af61f 100644 --- a/src/clientiface.cpp +++ b/src/clientiface.cpp @@ -199,7 +199,10 @@ void RemoteClient::GetNextBlocks ( // Distrust client-sent FOV and get server-set player object property // zoom FOV (degrees) as a check to avoid hacked clients using FOV to load // distant world. - float prop_zoom_fov = sao->getZoomFOV() * core::DEGTORAD; + // (zoom is disabled by value 0) + float prop_zoom_fov = sao->getZoomFOV() < 0.001f ? + 0.0f : + std::max(camera_fov, sao->getZoomFOV() * core::DEGTORAD); const s16 full_d_max = std::min(adjustDist(m_max_send_distance, prop_zoom_fov), wanted_range);