From: lhofhansl Date: Mon, 2 Jul 2018 23:16:17 +0000 (-0700) Subject: Zoom: Correctly verify client passed zoom at the server (#7526) X-Git-Tag: 5.0.0~315 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=03edcafdda550e55e29bf48a682097028ae01306;p=oweals%2Fminetest.git 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). --- 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);