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).
This commit is contained in:
lhofhansl 2018-07-02 16:16:17 -07:00 committed by Paramat
parent 1ff15d3a46
commit 03edcafdda

@ -199,7 +199,10 @@ void RemoteClient::GetNextBlocks (
// Distrust client-sent FOV and get server-set player object property // 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 // zoom FOV (degrees) as a check to avoid hacked clients using FOV to load
// distant world. // 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), const s16 full_d_max = std::min(adjustDist(m_max_send_distance, prop_zoom_fov),
wanted_range); wanted_range);