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 viewing_range = g_settings->getFloat("viewing_range");
f32 near_plane = g_settings->getFloat("near_plane"); 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_draw_control.wanted_range = viewing_range;
m_cameranode->setNearValue(rangelim(near_plane, 0.0f, 0.5f) * BS); m_cameranode->setNearValue(rangelim(near_plane, 0.0f, 0.5f) * BS);
if (m_draw_control.range_all) { m_cameranode->setFarValue(m_draw_control.range_all ? 100000.0 : std::max(2000.0f, viewing_range) * BS);
m_cameranode->setFarValue(100000.0);
return;
}
m_cameranode->setFarValue((viewing_range < 2000) ? 2000 * BS : viewing_range * BS);
} }
void Camera::setDigging(s32 button) void Camera::setDigging(s32 button)

View File

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

View File

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