Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve messages when changing viewing range and exceeding server-set limit #13647

Merged
merged 2 commits into from
Jul 14, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
36 changes: 20 additions & 16 deletions src/client/game.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2344,7 +2344,7 @@ void Game::toggleBlockBounds()
{
LocalPlayer *player = client->getEnv().getLocalPlayer();
if (!(client->checkPrivilege("debug") || (player->hud_flags & HUD_FLAG_BASIC_DEBUG))) {
m_game_ui->showTranslatedStatusText("Can't show block bounds (disabled by mod or game)");
m_game_ui->showTranslatedStatusText("Can't show block bounds (disabled by game or mod)");
return;
}
enum Hud::BlockBoundsMode newmode = hud->toggleBlockBounds();
Expand Down Expand Up @@ -2489,16 +2489,18 @@ void Game::increaseViewRange()
{
s16 range = g_settings->getS16("viewing_range");
s16 range_new = range + 10;
s16 server_limit = sky->getFogDistance();

if (range_new > 4000) {
if (range_new >= 4000) {
range_new = 4000;
std::wstring msg = fwgettext("Viewing range is at maximum: %d", range_new);
m_game_ui->showStatusText(msg);
} else if (sky->getFogDistance() >= 0 && range_new > sky->getFogDistance()) {
std::wstring msg = fwgettext("Viewing range changed to %d, but limited to %d set by server", range_new, sky->getFogDistance());
std::wstring msg = server_limit >= 0 && range_new > server_limit ?
fwgettext("Viewing range changed to %d (the maximum), but limited to %d by game or mod", range_new, server_limit) :
fwgettext("Viewing range changed to %d (the maximum)", range_new);
m_game_ui->showStatusText(msg);
} else {
std::wstring msg = fwgettext("Viewing range changed to %d", range_new);
std::wstring msg = server_limit >= 0 && range_new > server_limit ?
fwgettext("Viewing range changed to %d, but limited to %d by game or mod", range_new, server_limit) :
fwgettext("Viewing range changed to %d", range_new);
m_game_ui->showStatusText(msg);
}
g_settings->set("viewing_range", itos(range_new));
Expand All @@ -2509,16 +2511,18 @@ void Game::decreaseViewRange()
{
s16 range = g_settings->getS16("viewing_range");
s16 range_new = range - 10;
s16 server_limit = sky->getFogDistance();

if (range_new < 20) {
if (range_new <= 20) {
range_new = 20;
std::wstring msg = fwgettext("Viewing range is at minimum: %d", range_new);
m_game_ui->showStatusText(msg);
} else if (sky->getFogDistance() >= 0 && range_new > sky->getFogDistance()) {
std::wstring msg = fwgettext("Viewing range changed to %d, but limited to %d set by server", range_new, sky->getFogDistance());
std::wstring msg = server_limit >= 0 && range_new > server_limit ?
fwgettext("Viewing changed to %d (the minimum), but limited to %d by game or mod", range_new, server_limit) :
fwgettext("Viewing changed to %d (the minimum)", range_new);
m_game_ui->showStatusText(msg);
} else {
std::wstring msg = fwgettext("Viewing range changed to %d", range_new);
std::wstring msg = server_limit >= 0 && range_new > server_limit ?
fwgettext("Viewing range changed to %d, but limited to %d by game or mod", range_new, server_limit) :
fwgettext("Viewing range changed to %d", range_new);
m_game_ui->showStatusText(msg);
}
g_settings->set("viewing_range", itos(range_new));
Expand All @@ -2530,12 +2534,12 @@ void Game::toggleFullViewRange()
draw_control->range_all = !draw_control->range_all;
if (draw_control->range_all) {
if (sky->getFogDistance() >= 0) {
m_game_ui->showTranslatedStatusText("The server has disabled unlimited viewing range");
m_game_ui->showTranslatedStatusText("Unlimited viewing range enabled, but forbidden by game or mod");
} else {
m_game_ui->showTranslatedStatusText("Enabled unlimited viewing range");
m_game_ui->showTranslatedStatusText("Unlimited viewing range enabled");
}
} else {
m_game_ui->showTranslatedStatusText("Disabled unlimited viewing range");
m_game_ui->showTranslatedStatusText("Unlimited viewing range disabled");
}
}

Expand Down