mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-13 08:35:20 +02:00
Ignore near_plane setting on non-Android platforms (#8749)
Camera's near-plane will be hard-coded to 0.1 on all non-Android platforms. The upper-bound of this setting has been reduced to 0.25, as 0.5 is just way too high.
This commit is contained in:
@@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "camera.h"
|
||||
#include "debug.h"
|
||||
#include "client.h"
|
||||
#include "config.h"
|
||||
#include "map.h"
|
||||
#include "clientmap.h" // MapDrawControl
|
||||
#include "player.h"
|
||||
@@ -569,10 +570,16 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, f32 tool_r
|
||||
void Camera::updateViewingRange()
|
||||
{
|
||||
f32 viewing_range = g_settings->getFloat("viewing_range");
|
||||
f32 near_plane = g_settings->getFloat("near_plane");
|
||||
|
||||
// Ignore near_plane setting on all other platforms to prevent abuse
|
||||
#if ENABLE_GLES
|
||||
m_cameranode->setNearValue(rangelim(
|
||||
g_settings->getFloat("near_plane"), 0.0f, 0.25f) * BS);
|
||||
#else
|
||||
m_cameranode->setNearValue(0.1f * BS);
|
||||
#endif
|
||||
|
||||
m_draw_control.wanted_range = std::fmin(adjustDist(viewing_range, getFovMax()), 4000);
|
||||
m_cameranode->setNearValue(rangelim(near_plane, 0.0f, 0.5f) * BS);
|
||||
if (m_draw_control.range_all) {
|
||||
m_cameranode->setFarValue(100000.0);
|
||||
return;
|
||||
@@ -600,7 +607,7 @@ void Camera::wield(const ItemStack &item)
|
||||
|
||||
void Camera::drawWieldedTool(irr::core::matrix4* translation)
|
||||
{
|
||||
// Clear Z buffer so that the wielded tool stay in front of world geometry
|
||||
// Clear Z buffer so that the wielded tool stays in front of world geometry
|
||||
m_wieldmgr->getVideoDriver()->clearZBuffer();
|
||||
|
||||
// Draw the wielded node (in a separate scene manager)
|
||||
|
Reference in New Issue
Block a user