From 2c31b79235dd83de753fce5890c5797e149048b8 Mon Sep 17 00:00:00 2001 From: "Esteban I. Ruiz Moreno" Date: Sun, 31 Mar 2013 00:30:32 -0300 Subject: Add zoom, tweakable with zoom_fov, default key: Z (like optifine) --- src/camera.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/camera.cpp') diff --git a/src/camera.cpp b/src/camera.cpp index 6893b8cbf..e1d6dd910 100644 --- a/src/camera.cpp +++ b/src/camera.cpp @@ -103,6 +103,7 @@ Camera::Camera(scene::ISceneManager* smgr, MapDrawControl& draw_control, m_cache_fall_bobbing_amount = g_settings->getFloat("fall_bobbing_amount"); m_cache_view_bobbing_amount = g_settings->getFloat("view_bobbing_amount"); m_cache_fov = g_settings->getFloat("fov"); + m_cache_zoom_fov = g_settings->getFloat("zoom_fov"); m_cache_view_bobbing = g_settings->getBool("view_bobbing"); m_nametags.clear(); } @@ -387,8 +388,13 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, if (m_camera_mode == CAMERA_MODE_THIRD_FRONT) m_camera_position = my_cp; - // Get FOV setting - f32 fov_degrees = m_cache_fov; + // Get FOV + f32 fov_degrees; + if (player->getPlayerControl().zoom) { + fov_degrees = m_cache_zoom_fov; + } else { + fov_degrees = m_cache_fov; + } fov_degrees = MYMAX(fov_degrees, 10.0); fov_degrees = MYMIN(fov_degrees, 170.0); -- cgit v1.2.3 From 82494b8cc199fb92248c6c30ce7ef18b7e7133ae Mon Sep 17 00:00:00 2001 From: Ben Deutsch Date: Tue, 2 Aug 2016 21:36:34 +0200 Subject: Zooming the camera requires the 'zoom' privilege --- src/camera.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/camera.cpp') diff --git a/src/camera.cpp b/src/camera.cpp index e1d6dd910..e1fec4a3e 100644 --- a/src/camera.cpp +++ b/src/camera.cpp @@ -390,7 +390,7 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, // Get FOV f32 fov_degrees; - if (player->getPlayerControl().zoom) { + if (player->getPlayerControl().zoom && m_gamedef->checkLocalPrivilege("zoom")) { fov_degrees = m_cache_zoom_fov; } else { fov_degrees = m_cache_fov; -- cgit v1.2.3 From fb20b45100490acd47038be43b6f257c1bd75d97 Mon Sep 17 00:00:00 2001 From: paramat Date: Sat, 20 Aug 2016 02:05:34 +0100 Subject: Camera: Higher frequency limit for view/hand bobbing and footsteps Rebased and tuned version of Calinou's original pull request. 'm_view_bobbing_speed' controls the frequency of view bobbing, hand bobbing and footsteps, it was limited to a maximum of 40 (walking frequency) so did not increase if player speed was modified by a 'speed buff', a sprinting mod or modified in .conf or advanced settngs. This commit raises the limit to 70 which is suitable for sprinting. --- src/camera.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/camera.cpp') diff --git a/src/camera.cpp b/src/camera.cpp index e1fec4a3e..4feab1fe5 100644 --- a/src/camera.cpp +++ b/src/camera.cpp @@ -472,7 +472,7 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, { // Start animation m_view_bobbing_state = 1; - m_view_bobbing_speed = MYMIN(speed.getLength(), 40); + m_view_bobbing_speed = MYMIN(speed.getLength(), 70); } else if (m_view_bobbing_state == 1) { -- cgit v1.2.3 From 997fc59c7e29a4d2b3f19df9972f3a7d4ac894e3 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Thu, 6 Oct 2016 10:12:14 +0200 Subject: Use relative position for nametags --- src/camera.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/camera.cpp') diff --git a/src/camera.cpp b/src/camera.cpp index 4feab1fe5..b86f218fe 100644 --- a/src/camera.cpp +++ b/src/camera.cpp @@ -552,7 +552,7 @@ void Camera::drawNametags() // shadow can remain. continue; } - v3f pos = nametag->parent_node->getPosition() + v3f(0.0, 1.1 * BS, 0.0); + v3f pos = nametag->parent_node->getAbsolutePosition() + v3f(0.0, 1.1 * BS, 0.0); f32 transformed_pos[4] = { pos.X, pos.Y, pos.Z, 1.0f }; trans.multiplyWith1x4Matrix(transformed_pos); if (transformed_pos[3] > 0) { -- cgit v1.2.3 From 5dc61988788e44bc87e8c57c0beded97d4efdf05 Mon Sep 17 00:00:00 2001 From: lhofhansl Date: Wed, 30 Nov 2016 00:13:14 -0800 Subject: Optimize/adjust blocks/ActiveObjects sent at the server based on client settings. (#4811) Optimize/adjust blocks and active blocks sent at the server based on client settings. --- src/camera.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/camera.cpp') diff --git a/src/camera.cpp b/src/camera.cpp index b86f218fe..43980db1c 100644 --- a/src/camera.cpp +++ b/src/camera.cpp @@ -484,13 +484,12 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, void Camera::updateViewingRange() { + f32 viewing_range = g_settings->getFloat("viewing_range"); + m_draw_control.wanted_range = viewing_range; if (m_draw_control.range_all) { m_cameranode->setFarValue(100000.0); return; } - - f32 viewing_range = g_settings->getFloat("viewing_range"); - m_draw_control.wanted_range = viewing_range; m_cameranode->setFarValue((viewing_range < 2000) ? 2000 * BS : viewing_range * BS); } -- cgit v1.2.3