Mobile: use extended view range instead full (#230)

master
Vitaliy 2022-01-30 12:04:03 +03:00 committed by GitHub
parent 91b4202e56
commit 986eb94494
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 9 deletions

View File

@ -489,13 +489,11 @@ void Camera::updateViewingRange()
{
f32 viewing_range = g_settings->getFloat("viewing_range");
f32 near_plane = g_settings->getFloat("near_plane");
if (m_draw_control.extended_range)
viewing_range *= 3;
m_draw_control.wanted_range = viewing_range;
m_cameranode->setNearValue(rangelim(near_plane, 0.0f, 0.5f) * BS);
if (m_draw_control.range_all) {
m_cameranode->setFarValue(100000.0);
return;
}
m_cameranode->setFarValue((viewing_range < 2000) ? 2000 * BS : viewing_range * BS);
m_cameranode->setFarValue(m_draw_control.range_all ? 100000.0 : std::max(2000.0f, viewing_range) * BS);
}
void Camera::setDigging(s32 button)

View File

@ -40,6 +40,7 @@ struct MapDrawControl
}
// Overrides limits by drawing everything
bool range_all;
bool extended_range = false;
// Wanted drawing range
float wanted_range;
// Maximum number of blocks to draw

View File

@ -1291,6 +1291,7 @@ protected:
void increaseViewRange();
void decreaseViewRange();
void toggleExtendedViewRange();
void toggleFullViewRange();
void updateCameraDirection(CameraOrientation *cam, float dtime);
@ -2624,7 +2625,11 @@ void Game::processKeyInput()
} else if (wasKeyDown(KeyType::DECREASE_VIEWING_RANGE)) {
decreaseViewRange();
} else if (wasKeyDown(KeyType::RANGESELECT)) {
#if defined(__ANDROID__) || defined(__IOS__)
toggleExtendedViewRange();
#else
toggleFullViewRange();
#endif
} else if (wasKeyDown(KeyType::QUICKTUNE_NEXT)) {
quicktune->next();
} else if (wasKeyDown(KeyType::QUICKTUNE_PREV)) {
@ -3028,19 +3033,26 @@ void Game::decreaseViewRange()
}
void Game::toggleFullViewRange()
void Game::toggleExtendedViewRange()
{
#if defined(__ANDROID__) || defined(__IOS__)
static const wchar_t *msg[] = {
L"Disabled far viewing range",
L"Enabled far viewing range"
};
#else
draw_control->extended_range = !draw_control->extended_range;
infostream << msg[draw_control->extended_range] << std::endl;
m_statustext = msg[draw_control->extended_range];
runData.statustext_time = 0;
}
void Game::toggleFullViewRange()
{
static const wchar_t *msg[] = {
L"Normal view range",
L"Infinite view range"
};
#endif
draw_control->range_all = !draw_control->range_all;
infostream << msg[draw_control->range_all] << std::endl;