Codechange: make WarningLevel a scoped enum (#15622)

This commit is contained in:
Peter Nelson
2026-05-26 17:12:21 +01:00
committed by GitHub
parent 957184ae90
commit fce33c5015
42 changed files with 135 additions and 135 deletions
+1 -1
View File
@@ -293,7 +293,7 @@ struct AIConfigWindow : public Window {
case WID_AIC_CONTENT_DOWNLOAD:
if (!_network_available) {
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WarningLevel::Error);
} else {
ShowNetworkContentListWindow(nullptr, ContentType::Ai);
}
+1 -1
View File
@@ -72,7 +72,7 @@ void AIInstance::Died()
const AIInfo *info = AIConfig::GetConfig(_current_company)->GetInfo();
if (info != nullptr) {
ShowErrorMessage(GetEncodedString(STR_ERROR_AI_PLEASE_REPORT_CRASH), {}, WL_WARNING);
ShowErrorMessage(GetEncodedString(STR_ERROR_AI_PLEASE_REPORT_CRASH), {}, WarningLevel::Warning);
if (!info->GetURL().empty()) {
ScriptLog::Info("Please report the error to the following URL:");
+1 -1
View File
@@ -152,7 +152,7 @@ static int32_t ClickChangeMaxHlCheat(int32_t new_value, int32_t)
* If yes, disallow the change. */
for (const auto t : Map::Iterate()) {
if ((int32_t)TileHeight(t) > new_value) {
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN), {}, WarningLevel::Error);
/* Return old, unchanged value */
return _settings_game.construction.map_height_limit;
}
+1 -1
View File
@@ -212,7 +212,7 @@ std::tuple<bool, bool, bool> CommandHelperBase::InternalPostBefore(Commands cmd,
if (_pause_mode.Any() && !IsCommandAllowedWhilePaused(cmd) && !estimate_only) {
ShowErrorMessage(GetEncodedString(err_message), GetEncodedString(STR_ERROR_NOT_ALLOWED_WHILE_PAUSED),
WL_INFO, TileX(tile) * TILE_SIZE, TileY(tile) * TILE_SIZE);
WarningLevel::Info, TileX(tile) * TILE_SIZE, TileY(tile) * TILE_SIZE);
return { true, estimate_only, only_sending };
} else {
return { false, estimate_only, only_sending };
+4 -4
View File
@@ -1408,7 +1408,7 @@ public:
case WID_SCMF_LOAD: {
auto cmf = ParseCompanyManagerFaceCode(_company_manager_face);
if (cmf.has_value()) this->face = *cmf;
ShowErrorMessage(GetEncodedString(STR_FACE_LOAD_DONE), {}, WL_INFO);
ShowErrorMessage(GetEncodedString(STR_FACE_LOAD_DONE), {}, WarningLevel::Info);
this->UpdateData();
this->SetDirty();
break;
@@ -1422,7 +1422,7 @@ public:
/* Save button */
case WID_SCMF_SAVE:
_company_manager_face = FormatCompanyManagerFaceCode(this->face);
ShowErrorMessage(GetEncodedString(STR_FACE_SAVE_DONE), {}, WL_INFO);
ShowErrorMessage(GetEncodedString(STR_FACE_SAVE_DONE), {}, WarningLevel::Info);
break;
/* Randomize face button */
@@ -1518,11 +1518,11 @@ public:
auto cmf = ParseCompanyManagerFaceCode(*str);
if (cmf.has_value()) {
this->face = *cmf;
ShowErrorMessage(GetEncodedString(STR_FACE_FACECODE_SET), {}, WL_INFO);
ShowErrorMessage(GetEncodedString(STR_FACE_FACECODE_SET), {}, WarningLevel::Info);
this->UpdateData();
this->SetDirty();
} else {
ShowErrorMessage(GetEncodedString(STR_FACE_FACECODE_ERR), {}, WL_INFO);
ShowErrorMessage(GetEncodedString(STR_FACE_FACECODE_ERR), {}, WarningLevel::Info);
}
}
};
+4 -4
View File
@@ -966,11 +966,11 @@ struct DepotWindow : Window {
OnVehicleSelect(*begin);
} else {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_BUY_TRAIN + to_underlying((*begin)->type)),
GetEncodedString(STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST), WL_INFO);
GetEncodedString(STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST), WarningLevel::Info);
}
} else {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_BUY_TRAIN + to_underlying((*begin)->type)),
GetEncodedString(STR_ERROR_CAN_T_CLONE_VEHICLE_LIST), WL_INFO);
GetEncodedString(STR_ERROR_CAN_T_CLONE_VEHICLE_LIST), WarningLevel::Info);
}
} else {
/* If CTRL is pressed: If all the vehicles in this list share orders, then copy orders */
@@ -983,11 +983,11 @@ struct DepotWindow : Window {
OnVehicleSelect(*begin);
} else {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_BUY_TRAIN + to_underlying((*begin)->type)),
GetEncodedString(STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST), WL_INFO);
GetEncodedString(STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST), WarningLevel::Info);
}
} else {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_BUY_TRAIN + to_underlying((*begin)->type)),
GetEncodedString(STR_ERROR_CAN_T_CLONE_VEHICLE_LIST), WL_INFO);
GetEncodedString(STR_ERROR_CAN_T_CLONE_VEHICLE_LIST), WarningLevel::Info);
}
}
+2 -2
View File
@@ -1355,9 +1355,9 @@ void CheckEngines()
if (min_date < INT32_MAX) {
ShowErrorMessage(GetEncodedString(STR_ERROR_NO_VEHICLES_AVAILABLE_YET),
GetEncodedString(STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION, min_date), WL_WARNING);
GetEncodedString(STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION, min_date), WarningLevel::Warning);
} else {
ShowErrorMessage(GetEncodedString(STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL),
GetEncodedString(STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION), WL_WARNING);
GetEncodedString(STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION), WarningLevel::Warning);
}
}
+5 -5
View File
@@ -20,11 +20,11 @@
struct GRFFile;
/** Message severity/type */
enum WarningLevel : uint8_t {
WL_INFO, ///< Used for DoCommand-like (and some non-fatal AI GUI) errors/information
WL_WARNING, ///< Other information
WL_ERROR, ///< Errors (eg. saving/loading failed)
WL_CRITICAL, ///< Critical errors, the MessageBox is shown in all cases
enum class WarningLevel : uint8_t {
Info, ///< Used for DoCommand-like (and some non-fatal AI GUI) errors/information
Warning, ///< Other information
Error, ///< Errors (eg. saving/loading failed)
Critical, ///< Critical errors, the MessageBox is shown in all cases
};
/** The data of the error message. */
+6 -6
View File
@@ -290,7 +290,7 @@ void UnshowCriticalError()
/**
* Display an error message in a window.
* Note: CommandCost errors are always severity level WL_INFO.
* Note: CommandCost errors are always severity level WarningLevel::Info.
* @param summary_msg General error message showed in first line. Must be valid.
* @param x World X position (TileVirtX) of the error location. Set both x and y to 0 to just center the message when there is no related error tile.
* @param y World Y position (TileVirtY) of the error location. Set both x and y to 0 to just center the message when there is no related error tile.
@@ -301,7 +301,7 @@ void ShowErrorMessage(EncodedString &&summary_msg, int x, int y, CommandCost &cc
EncodedString error = std::move(cc.GetEncodedMessage());
if (error.empty()) error = GetEncodedStringIfValid(cc.GetErrorMessage());
ShowErrorMessage(std::move(summary_msg), std::move(error), WL_INFO, x, y,
ShowErrorMessage(std::move(summary_msg), std::move(error), WarningLevel::Info, x, y,
GetEncodedStringIfValid(cc.GetExtraErrorMessage()), cc.GetErrorOwner());
}
@@ -317,7 +317,7 @@ void ShowErrorMessage(EncodedString &&summary_msg, int x, int y, CommandCost &cc
*/
void ShowErrorMessage(EncodedString &&summary_msg, EncodedString &&detailed_msg, WarningLevel wl, int x, int y, EncodedString &&extra_msg, CompanyID company)
{
if (wl != WL_INFO) {
if (wl != WarningLevel::Info) {
/* Print message to console */
std::string message = summary_msg.GetDecodedString();
@@ -330,10 +330,10 @@ void ShowErrorMessage(EncodedString &&summary_msg, EncodedString &&detailed_msg,
message += extra_msg.GetDecodedString();
}
IConsolePrint(wl == WL_WARNING ? CC_WARNING : CC_ERROR, message);
IConsolePrint(wl == WarningLevel::Warning ? CC_WARNING : CC_ERROR, message);
}
bool is_critical = wl == WL_CRITICAL;
bool is_critical = wl == WarningLevel::Critical;
if (_game_mode == GM_BOOTSTRAP) return;
if (_settings_client.gui.errmsg_duration == 0 && !is_critical) return;
@@ -344,7 +344,7 @@ void ShowErrorMessage(EncodedString &&summary_msg, EncodedString &&detailed_msg,
if (w != nullptr) {
if (w->IsCritical()) {
/* A critical error is currently shown. */
if (wl == WL_CRITICAL) {
if (wl == WarningLevel::Critical) {
/* Push another critical error in the queue of errors,
* but do not put other errors in the queue. */
_error_list.push_back(std::move(data));
+3 -3
View File
@@ -377,7 +377,7 @@ private:
if (confirmed) {
if (!FioRemove(save_load_window->selected->name)) {
ShowErrorMessage(GetEncodedString(STR_ERROR_UNABLE_TO_DELETE_FILE), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_UNABLE_TO_DELETE_FILE), {}, WarningLevel::Error);
} else {
save_load_window->InvalidateData(SLIWD_RESCAN_FILES);
/* Reset file name to current date on successful delete */
@@ -733,7 +733,7 @@ public:
case WID_SL_MISSING_NEWGRFS:
if (!_network_available) {
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WarningLevel::Error);
} else if (_load_check_data.HasNewGrfs()) {
ShowMissingContentWindow(_load_check_data.grfconfig);
}
@@ -788,7 +788,7 @@ public:
case WID_SL_CONTENT_DOWNLOAD:
if (!_network_available) {
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WarningLevel::Error);
} else {
assert(this->fop == SaveLoadOperation::Load);
switch (this->abstract_filetype) {
+1 -1
View File
@@ -245,7 +245,7 @@ struct GSConfigWindow : public Window {
case WID_GSC_CONTENT_DOWNLOAD:
if (!_network_available) {
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WarningLevel::Error);
} else {
ShowNetworkContentListWindow(nullptr, ContentType::Gs);
}
+1 -1
View File
@@ -76,7 +76,7 @@ void GameInstance::Died()
const GameInfo *info = Game::GetInfo();
if (info != nullptr) {
ShowErrorMessage(GetEncodedString(STR_ERROR_AI_PLEASE_REPORT_CRASH), {}, WL_WARNING);
ShowErrorMessage(GetEncodedString(STR_ERROR_AI_PLEASE_REPORT_CRASH), {}, WarningLevel::Warning);
if (!info->GetURL().empty()) {
ScriptLog::Info("Please report the error to the following URL:");
+9 -9
View File
@@ -364,7 +364,7 @@ void LoadTownData()
if (!f.has_value()) {
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED),
GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WL_ERROR);
GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WarningLevel::Error);
return;
}
@@ -373,7 +373,7 @@ void LoadTownData()
f.reset();
if (len != 1) {
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED),
GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WL_ERROR);
GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WarningLevel::Error);
return;
}
@@ -382,13 +382,13 @@ void LoadTownData()
try {
town_data = nlohmann::json::parse(text);
} catch (nlohmann::json::exception &) {
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED), GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED), GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WarningLevel::Error);
return;
}
/* Check for JSON formatting errors with the array of towns. */
if (!town_data.is_array()) {
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED), GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED), GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WarningLevel::Error);
return;
}
@@ -405,14 +405,14 @@ void LoadTownData()
/* Ensure JSON is formatted properly. */
if (!feature.is_object()) {
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED), GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED), GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WarningLevel::Error);
return;
}
/* Check to ensure all fields exist and are of the correct type.
* If the town name is formatted wrong, all we can do is give a general warning. */
if (!feature.contains("name") || !feature.at("name").is_string()) {
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED), GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED), GetEncodedString(STR_TOWN_DATA_ERROR_JSON_FORMATTED_INCORRECTLY), WarningLevel::Error);
return;
}
@@ -423,7 +423,7 @@ void LoadTownData()
!feature.contains("y") || !feature.at("y").is_number()) {
feature.at("name").get_to(name);
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED),
GetEncodedString(STR_TOWN_DATA_ERROR_TOWN_FORMATTED_INCORRECTLY, name), WL_ERROR);
GetEncodedString(STR_TOWN_DATA_ERROR_TOWN_FORMATTED_INCORRECTLY, name), WarningLevel::Error);
return;
}
@@ -439,7 +439,7 @@ void LoadTownData()
/* Check for improper coordinates and warn the player. */
if (x_proportion <= 0.0f || y_proportion <= 0.0f || x_proportion >= 1.0f || y_proportion >= 1.0f) {
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_LOAD_FAILED),
GetEncodedString(STR_TOWN_DATA_ERROR_BAD_COORDINATE, name), WL_ERROR);
GetEncodedString(STR_TOWN_DATA_ERROR_BAD_COORDINATE, name), WarningLevel::Error);
return;
}
@@ -482,7 +482,7 @@ void LoadTownData()
/* If we couldn't found a town (or multiple), display a message to the player with the number of failed towns. */
if (failed_towns > 0) {
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_FAILED_TO_FOUND_TOWN, failed_towns), {}, WL_WARNING);
ShowErrorMessage(GetEncodedString(STR_TOWN_DATA_ERROR_FAILED_TO_FOUND_TOWN, failed_towns), {}, WarningLevel::Warning);
}
/* Now that we've created the towns, let's grow them to their target populations. */
+9 -9
View File
@@ -157,19 +157,19 @@ static bool ReadHeightmapPNG(std::string_view filename, uint *x, uint *y, std::v
auto fp = FioFOpenFile(filename, "rb", Subdirectory::Heightmap);
if (!fp.has_value()) {
ShowErrorMessage(GetEncodedString(STR_ERROR_PNGMAP), GetEncodedString(STR_ERROR_PNGMAP_FILE_NOT_FOUND), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_PNGMAP), GetEncodedString(STR_ERROR_PNGMAP_FILE_NOT_FOUND), WarningLevel::Error);
return false;
}
png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, nullptr, nullptr, nullptr);
if (png_ptr == nullptr) {
ShowErrorMessage(GetEncodedString(STR_ERROR_PNGMAP), GetEncodedString(STR_ERROR_PNGMAP_MISC), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_PNGMAP), GetEncodedString(STR_ERROR_PNGMAP_MISC), WarningLevel::Error);
return false;
}
info_ptr = png_create_info_struct(png_ptr);
if (info_ptr == nullptr || setjmp(png_jmpbuf(png_ptr))) {
ShowErrorMessage(GetEncodedString(STR_ERROR_PNGMAP), GetEncodedString(STR_ERROR_PNGMAP_MISC), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_PNGMAP), GetEncodedString(STR_ERROR_PNGMAP_MISC), WarningLevel::Error);
png_destroy_read_struct(&png_ptr, &info_ptr, nullptr);
return false;
}
@@ -184,7 +184,7 @@ static bool ReadHeightmapPNG(std::string_view filename, uint *x, uint *y, std::v
/* Maps of wrong colour-depth are not used.
* (this should have been taken care of by stripping alpha and 16-bit samples on load) */
if ((png_get_channels(png_ptr, info_ptr) != 1) && (png_get_channels(png_ptr, info_ptr) != 3) && (png_get_bit_depth(png_ptr, info_ptr) != 8)) {
ShowErrorMessage(GetEncodedString(STR_ERROR_PNGMAP), GetEncodedString(STR_ERROR_PNGMAP_IMAGE_TYPE), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_PNGMAP), GetEncodedString(STR_ERROR_PNGMAP_IMAGE_TYPE), WarningLevel::Error);
png_destroy_read_struct(&png_ptr, &info_ptr, nullptr);
return false;
}
@@ -193,7 +193,7 @@ static bool ReadHeightmapPNG(std::string_view filename, uint *x, uint *y, std::v
uint height = png_get_image_height(png_ptr, info_ptr);
if (!IsValidHeightmapDimension(width, height)) {
ShowErrorMessage(GetEncodedString(STR_ERROR_PNGMAP), GetEncodedString(STR_ERROR_HEIGHTMAP_TOO_LARGE), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_PNGMAP), GetEncodedString(STR_ERROR_HEIGHTMAP_TOO_LARGE), WarningLevel::Error);
png_destroy_read_struct(&png_ptr, &info_ptr, nullptr);
return false;
}
@@ -283,7 +283,7 @@ static bool ReadHeightmapBMP(std::string_view filename, uint *x, uint *y, std::v
{
auto f = FioFOpenFile(filename, "rb", Subdirectory::Heightmap);
if (!f.has_value()) {
ShowErrorMessage(GetEncodedString(STR_ERROR_BMPMAP), GetEncodedString(STR_ERROR_PNGMAP_FILE_NOT_FOUND), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_BMPMAP), GetEncodedString(STR_ERROR_PNGMAP_FILE_NOT_FOUND), WarningLevel::Error);
return false;
}
@@ -292,18 +292,18 @@ static bool ReadHeightmapBMP(std::string_view filename, uint *x, uint *y, std::v
BmpData data{};
if (!BmpReadHeader(file, info, data)) {
ShowErrorMessage(GetEncodedString(STR_ERROR_BMPMAP), GetEncodedString(STR_ERROR_BMPMAP_IMAGE_TYPE), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_BMPMAP), GetEncodedString(STR_ERROR_BMPMAP_IMAGE_TYPE), WarningLevel::Error);
return false;
}
if (!IsValidHeightmapDimension(info.width, info.height)) {
ShowErrorMessage(GetEncodedString(STR_ERROR_BMPMAP), GetEncodedString(STR_ERROR_HEIGHTMAP_TOO_LARGE), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_BMPMAP), GetEncodedString(STR_ERROR_HEIGHTMAP_TOO_LARGE), WarningLevel::Error);
return false;
}
if (map != nullptr) {
if (!BmpReadBitmap(file, info, data)) {
ShowErrorMessage(GetEncodedString(STR_ERROR_BMPMAP), GetEncodedString(STR_ERROR_BMPMAP_IMAGE_TYPE), WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_BMPMAP), GetEncodedString(STR_ERROR_BMPMAP_IMAGE_TYPE), WarningLevel::Error);
return false;
}
+3 -3
View File
@@ -2117,9 +2117,9 @@ CommandCost CmdBuildIndustry(DoCommandFlags flags, TileIndex tile, IndustryType
}
if (ret.Failed() && IsLocalCompany()) {
if (prospect_success) {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_PROSPECT_INDUSTRY), GetEncodedString(STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING), WL_INFO);
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_PROSPECT_INDUSTRY), GetEncodedString(STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING), WarningLevel::Info);
} else {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_PROSPECT_INDUSTRY), GetEncodedString(STR_ERROR_PROSPECTING_WAS_UNLUCKY), WL_INFO);
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_PROSPECT_INDUSTRY), GetEncodedString(STR_ERROR_PROSPECTING_WAS_UNLUCKY), WarningLevel::Info);
}
}
}
@@ -3161,7 +3161,7 @@ void CheckIndustries()
const IndustrySpec *is = GetIndustrySpec(it);
ShowErrorMessage(GetEncodedString(STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES, is->name),
GetEncodedString(STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION), WL_WARNING);
GetEncodedString(STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION), WarningLevel::Warning);
count++;
if (count >= 3) break; // Don't swamp the user with errors.
+2 -2
View File
@@ -602,7 +602,7 @@ public:
if (!confirmed) return;
if (Town::GetNumItems() == 0) {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_GENERATE_INDUSTRIES), GetEncodedString(STR_ERROR_MUST_FOUND_TOWN_FIRST), WL_INFO);
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_GENERATE_INDUSTRIES), GetEncodedString(STR_ERROR_MUST_FOUND_TOWN_FIRST), WarningLevel::Info);
} else {
AutoRestoreBackup old_generating_world(_generating_world, true);
BasePersistentStorageArray::SwitchMode(PSM_ENTER_GAMELOOP);
@@ -709,7 +709,7 @@ public:
/* Show error if no town exists at all */
if (Town::GetNumItems() == 0) {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_BUILD_HERE, indsp->name),
GetEncodedString(STR_ERROR_MUST_FOUND_TOWN_FIRST), WL_INFO, pt.x, pt.y);
GetEncodedString(STR_ERROR_MUST_FOUND_TOWN_FIRST), WarningLevel::Info, pt.x, pt.y);
return;
}
+2 -2
View File
@@ -321,7 +321,7 @@ struct SelectGameWindow : public Window {
case WID_SGI_PLAY_NETWORK:
if (!_network_available) {
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WarningLevel::Error);
} else {
ShowNetworkGameWindow();
}
@@ -332,7 +332,7 @@ struct SelectGameWindow : public Window {
case WID_SGI_HELP: ShowHelpWindow(); break;
case WID_SGI_CONTENT_DOWNLOAD:
if (!_network_available) {
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WarningLevel::Error);
} else {
ShowNetworkContentListWindow();
}
+1 -1
View File
@@ -495,7 +495,7 @@ void ShowEstimatedCostOrIncome(Money cost, int x, int y)
cost = -cost;
msg = STR_MESSAGE_ESTIMATED_INCOME;
}
ShowErrorMessage(GetEncodedString(msg, cost), {}, WL_INFO, x, y);
ShowErrorMessage(GetEncodedString(msg, cost), {}, WarningLevel::Info, x, y);
}
/**
+1 -1
View File
@@ -42,7 +42,7 @@ NetworkRecvStatus NetworkGameSocketHandler::CloseConnection([[maybe_unused]] boo
ClientNetworkEmergencySave();
_switch_mode = SM_MENU;
_networking = false;
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_LOSTCONNECTION), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_LOSTCONNECTION), {}, WarningLevel::Critical);
return this->CloseConnection(NETWORK_RECV_STATUS_CLIENT_QUIT);
}
+2 -2
View File
@@ -316,7 +316,7 @@ uint NetworkCalculateLag(const NetworkClientSocket *cs)
void ShowNetworkError(StringID error_string)
{
_switch_mode = SM_MENU;
ShowErrorMessage(GetEncodedString(error_string), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(error_string), {}, WarningLevel::Critical);
}
/**
@@ -889,7 +889,7 @@ bool NetworkValidateServerName(std::string &server_name)
StrTrimInPlace(server_name);
if (!server_name.empty()) return true;
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_BAD_SERVER_NAME), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_BAD_SERVER_NAME), {}, WarningLevel::Error);
return false;
}
+10 -10
View File
@@ -534,7 +534,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::ReceiveServerFull(Packet &)
Debug(net, 9, "Client::ReceiveServerFull()");
/* We try to join a server which is full */
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_SERVER_FULL), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_SERVER_FULL), {}, WarningLevel::Critical);
return NETWORK_RECV_STATUS_SERVER_FULL;
}
@@ -544,7 +544,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::ReceiveServerBanned(Packet &)
Debug(net, 9, "Client::ReceiveServerBanned()");
/* We try to join a server where we are banned */
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_SERVER_BANNED), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_SERVER_BANNED), {}, WarningLevel::Critical);
return NETWORK_RECV_STATUS_SERVER_BANNED;
}
@@ -663,9 +663,9 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::ReceiveServerError(Packet &p)
if (error == NetworkErrorCode::Kicked && p.CanReadFromPacket(1)) {
ShowErrorMessage(GetEncodedString(err),
GetEncodedString(STR_NETWORK_ERROR_KICK_MESSAGE, p.Recv_string(NETWORK_CHAT_LENGTH)),
WL_CRITICAL);
WarningLevel::Critical);
} else {
ShowErrorMessage(GetEncodedString(err), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(err), {}, WarningLevel::Critical);
}
/* Perform an emergency save if we had already entered the game */
@@ -703,7 +703,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::ReceiveServerCheckNewGRFs(Pack
}
/* NewGRF mismatch, bail out */
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NEWGRF_MISMATCH), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NEWGRF_MISMATCH), {}, WarningLevel::Critical);
return ret;
}
@@ -870,7 +870,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::ReceiveServerMapDone(Packet &)
this->last_packet = std::chrono::steady_clock::now();
if (!load_success) {
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_SAVEGAMEERROR), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_SAVEGAMEERROR), {}, WarningLevel::Critical);
return NETWORK_RECV_STATUS_SAVEGAME;
}
/* If the savegame has successfully loaded, ALL windows have been removed,
@@ -1113,7 +1113,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::ReceiveServerShutdown(Packet &
/* Only when we're trying to join we really
* care about the server shutting down. */
if (this->status >= ServerStatus::Join) {
ShowErrorMessage(GetEncodedString(STR_NETWORK_MESSAGE_SERVER_SHUTDOWN), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_NETWORK_MESSAGE_SERVER_SHUTDOWN), {}, WarningLevel::Critical);
}
if (this->status == ServerStatus::Active) ClientNetworkEmergencySave();
@@ -1132,7 +1132,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::ReceiveServerNewGame(Packet &)
* Client ID modulo 16 + 1 (value 0 means no reconnect).
* This way reconnects should be spread out a bit. */
_network_reconnect = _network_own_client_id % 16 + 1;
ShowErrorMessage(GetEncodedString(STR_NETWORK_MESSAGE_SERVER_REBOOT), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_NETWORK_MESSAGE_SERVER_REBOOT), {}, WarningLevel::Critical);
}
if (this->status == ServerStatus::Active) ClientNetworkEmergencySave();
@@ -1227,7 +1227,7 @@ void ClientNetworkGameSocketHandler::CheckConnection()
ShowErrorMessage(
GetEncodedString(STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION),
GetEncodedString(STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION, std::chrono::duration_cast<std::chrono::seconds>(lag).count()),
WL_INFO);
WarningLevel::Info);
}
@@ -1315,7 +1315,7 @@ bool NetworkValidateClientName(std::string &client_name)
StrTrimInPlace(client_name);
if (NetworkIsValidClientName(client_name)) return true;
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_BAD_PLAYER_NAME), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_BAD_PLAYER_NAME), {}, WarningLevel::Error);
return false;
}
+3 -3
View File
@@ -471,7 +471,7 @@ bool ClientNetworkContentSocketHandler::ReceiveServerContent(Packet &p)
ShowErrorMessage(
GetEncodedString(STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD),
GetEncodedString(STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE),
WL_ERROR);
WarningLevel::Error);
this->CloseConnection();
this->cur_file.reset();
@@ -506,7 +506,7 @@ bool ClientNetworkContentSocketHandler::BeforeDownload()
ShowErrorMessage(
GetEncodedString(STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD),
GetEncodedString(STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE),
WL_ERROR);
WarningLevel::Error);
return false;
}
}
@@ -545,7 +545,7 @@ void ClientNetworkContentSocketHandler::AfterDownload()
this->OnDownloadComplete(this->cur_info->id);
} else {
ShowErrorMessage(GetEncodedString(STR_CONTENT_ERROR_COULD_NOT_EXTRACT), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONTENT_ERROR_COULD_NOT_EXTRACT), {}, WarningLevel::Error);
}
}
+2 -2
View File
@@ -965,7 +965,7 @@ public:
void OnConnect(bool success) override
{
if (!success) {
ShowErrorMessage(GetEncodedString(STR_CONTENT_ERROR_COULD_NOT_CONNECT), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONTENT_ERROR_COULD_NOT_CONNECT), {}, WarningLevel::Error);
this->Close();
return;
}
@@ -1155,6 +1155,6 @@ void ShowNetworkContentListWindow(ContentVector *cv, ContentType type1, ContentT
ShowErrorMessage(
GetEncodedString(STR_CONTENT_NO_ZLIB),
GetEncodedString(STR_CONTENT_NO_ZLIB_SUB),
WL_ERROR);
WarningLevel::Error);
#endif /* WITH_ZLIB */
}
+3 -3
View File
@@ -136,7 +136,7 @@ bool ClientNetworkCoordinatorSocketHandler::ReceiveGameCoordinatorError(Packet &
return false;
case NETWORK_COORDINATOR_ERROR_REGISTRATION_FAILED:
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_COORDINATOR_REGISTRATION_FAILED), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_COORDINATOR_REGISTRATION_FAILED), {}, WarningLevel::Error);
/* To prevent that we constantly try to reconnect, switch to local game. */
_settings_client.network.server_game_type = ServerGameType::Local;
@@ -160,7 +160,7 @@ bool ClientNetworkCoordinatorSocketHandler::ReceiveGameCoordinatorError(Packet &
}
case NETWORK_COORDINATOR_ERROR_REUSE_OF_INVITE_CODE:
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_COORDINATOR_REUSE_OF_INVITE_CODE), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_COORDINATOR_REUSE_OF_INVITE_CODE), {}, WarningLevel::Error);
/* To prevent that we constantly battle for the same invite-code, switch to local game. */
_settings_client.network.server_game_type = ServerGameType::Local;
@@ -189,7 +189,7 @@ bool ClientNetworkCoordinatorSocketHandler::ReceiveGameCoordinatorRegisterAck(Pa
ShowErrorMessage(
GetEncodedString(STR_NETWORK_ERROR_COORDINATOR_ISOLATED),
GetEncodedString(STR_NETWORK_ERROR_COORDINATOR_ISOLATED_DETAIL),
WL_ERROR);
WarningLevel::Error);
}
/* Users can change the invite code in the settings, but this has no effect
+1 -1
View File
@@ -519,7 +519,7 @@ void ErrorUnknownCallbackResult(uint32_t grfid, uint16_t cbid, uint16_t cb_res)
grfconfig->grf_bugs.Set(GRFBug::UnknownCbResult);
ShowErrorMessage(GetEncodedString(STR_NEWGRF_BUGGY, grfconfig->GetName()),
GetEncodedString(STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT, std::monostate{}, cbid, cb_res),
WL_CRITICAL);
WarningLevel::Critical);
}
/* debug output */
+5 -5
View File
@@ -65,9 +65,9 @@ void ShowNewGRFError()
for (const uint32_t &value : error.param_value) params.emplace_back(value);
if (error.severity == STR_NEWGRF_ERROR_MSG_FATAL) {
ShowErrorMessage(GetEncodedStringWithArgs(STR_NEWGRF_ERROR_FATAL_POPUP, params), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedStringWithArgs(STR_NEWGRF_ERROR_FATAL_POPUP, params), {}, WarningLevel::Critical);
} else {
ShowErrorMessage(GetEncodedStringWithArgs(STR_NEWGRF_ERROR_POPUP, params), {}, WL_ERROR);
ShowErrorMessage(GetEncodedStringWithArgs(STR_NEWGRF_ERROR_POPUP, params), {}, WarningLevel::Error);
}
break;
}
@@ -1115,7 +1115,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
case WID_NS_CONTENT_DOWNLOAD:
case WID_NS_CONTENT_DOWNLOAD2:
if (!_network_available) {
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NETWORK_ERROR_NOTAVAILABLE), {}, WarningLevel::Error);
} else {
this->CloseChildWindows(WindowClass::QueryString); // Remove the parameter query window
@@ -1468,13 +1468,13 @@ private:
/* Get number of non-static NewGRFs. */
size_t count = std::ranges::count_if(this->actives, [](const auto &gc) { return !gc->flags.Test(GRFConfigFlag::Static); });
if (count >= NETWORK_MAX_GRF_COUNT) {
ShowErrorMessage(GetEncodedString(STR_NEWGRF_TOO_MANY_NEWGRFS), {}, WL_INFO);
ShowErrorMessage(GetEncodedString(STR_NEWGRF_TOO_MANY_NEWGRFS), {}, WarningLevel::Info);
return false;
}
/* Check for duplicate GRF ID. */
if (std::ranges::any_of(this->actives, [&grfid = this->avail_sel->ident.grfid](const auto &gc) { return gc->ident.grfid == grfid; })) {
ShowErrorMessage(GetEncodedString(STR_NEWGRF_DUPLICATE_GRFID), {}, WL_INFO);
ShowErrorMessage(GetEncodedString(STR_NEWGRF_DUPLICATE_GRFID), {}, WarningLevel::Info);
return false;
}
+2 -2
View File
@@ -622,7 +622,7 @@ void IndustryProductionCallback(Industry *ind, int reason)
/* display error message */
ShowErrorMessage(GetEncodedString(STR_NEWGRF_BUGGY, spec->grf_prop.grffile->filename),
GetEncodedString(STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK, std::monostate{}, spec->name),
WL_WARNING);
WarningLevel::Warning);
/* abort the function early, this error isn't critical and will allow the game to continue to run */
break;
@@ -636,7 +636,7 @@ void IndustryProductionCallback(Industry *ind, int reason)
/* Result was marked invalid on load, display error message */
ShowErrorMessage(GetEncodedString(STR_NEWGRF_BUGGY, spec->grf_prop.grffile->filename),
GetEncodedString(STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK, std::monostate{}, spec->name, ind->location.tile),
WL_WARNING);
WarningLevel::Warning);
/* abort the function early, this error isn't critical and will allow the game to continue to run */
break;
+4 -4
View File
@@ -1099,7 +1099,7 @@ void SwitchToMode(SwitchMode new_mode)
ResetWindowSystem();
if (!SafeLoad(_file_to_saveload.name, _file_to_saveload.file_op, _file_to_saveload.ftype.detailed, GM_NORMAL, Subdirectory::None)) {
ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WL_CRITICAL);
ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WarningLevel::Critical);
} else {
if (_file_to_saveload.ftype.abstract == AbstractFileType::Scenario) {
OnStartScenario();
@@ -1141,7 +1141,7 @@ void SwitchToMode(SwitchMode new_mode)
/* Cancel the saveload pausing */
Command<Commands::Pause>::Post(PauseMode::SaveLoad, false);
} else {
ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WL_CRITICAL);
ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WarningLevel::Critical);
}
UpdateSocialIntegration(GM_EDITOR);
@@ -1158,7 +1158,7 @@ void SwitchToMode(SwitchMode new_mode)
case SM_MENU: // Switch to game intro menu
LoadIntroGame();
if (BaseSounds::ini_set.empty() && BaseSounds::GetUsedSet()->fallback && SoundDriver::GetInstance()->HasOutput()) {
ShowErrorMessage(GetEncodedString(STR_WARNING_FALLBACK_SOUNDSET), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_WARNING_FALLBACK_SOUNDSET), {}, WarningLevel::Critical);
BaseSounds::ini_set = BaseSounds::GetUsedSet()->name;
}
if (_settings_client.network.participate_survey == ParticipateSurvey::Ask) {
@@ -1176,7 +1176,7 @@ void SwitchToMode(SwitchMode new_mode)
case SM_SAVE_GAME: // Save game.
/* Make network saved games on pause compatible to singleplayer mode */
if (SaveOrLoad(_file_to_saveload.name, SaveLoadOperation::Save, DetailedFileType::GameFile, Subdirectory::None) != SaveLoadResult::Ok) {
ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WL_ERROR);
ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WarningLevel::Error);
} else {
CloseWindowById(WindowClass::SaveLoad, 0);
}
+2 -2
View File
@@ -1504,7 +1504,7 @@ public:
})) {
OnVehicleSelect(*begin);
} else {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_COPY_ORDER_LIST), GetEncodedString(STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST), WL_INFO);
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_COPY_ORDER_LIST), GetEncodedString(STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST), WarningLevel::Info);
}
} else {
/* If CTRL is pressed: If all the vehicles in this list share orders, then copy orders */
@@ -1513,7 +1513,7 @@ public:
})) {
OnVehicleSelect(*begin);
} else {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_SHARE_ORDER_LIST), GetEncodedString(STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST), WL_INFO);
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_SHARE_ORDER_LIST), GetEncodedString(STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST), WarningLevel::Info);
}
}
+3 -3
View File
@@ -721,8 +721,8 @@ bool AfterLoadGame()
}
switch (gcf_res) {
case GRFListCompatibility::Compatible: ShowErrorMessage(GetEncodedString(STR_NEWGRF_COMPATIBLE_LOAD_WARNING), {}, WL_CRITICAL); break;
case GRFListCompatibility::NotFound: ShowErrorMessage(GetEncodedString(STR_NEWGRF_DISABLED_WARNING), {}, WL_CRITICAL); _pause_mode = PauseMode::Error; break;
case GRFListCompatibility::Compatible: ShowErrorMessage(GetEncodedString(STR_NEWGRF_COMPATIBLE_LOAD_WARNING), {}, WarningLevel::Critical); break;
case GRFListCompatibility::NotFound: ShowErrorMessage(GetEncodedString(STR_NEWGRF_DISABLED_WARNING), {}, WarningLevel::Critical); _pause_mode = PauseMode::Error; break;
default: break;
}
@@ -1990,7 +1990,7 @@ bool AfterLoadGame()
* There would be trams without tram track under causing crashes sooner or later. */
for (RoadVehicle *v : RoadVehicle::Iterate()) {
if (v->First() == v && EngInfo(v->engine_type)->misc_flags.Test(EngineMiscFlag::RoadIsTram)) {
ShowErrorMessage(GetEncodedString(STR_WARNING_LOADGAME_REMOVED_TRAMS), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_WARNING_LOADGAME_REMOVED_TRAMS), {}, WarningLevel::Critical);
delete v;
}
}
+5 -5
View File
@@ -2853,7 +2853,7 @@ static std::pair<const SaveLoadFormat &, uint8_t> GetSavegameFormat(std::string_
ShowErrorMessage(
GetEncodedString(STR_CONFIG_ERROR),
GetEncodedString(STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL, complevel),
WL_CRITICAL);
WarningLevel::Critical);
} else {
return {slf, *level};
}
@@ -2865,7 +2865,7 @@ static std::pair<const SaveLoadFormat &, uint8_t> GetSavegameFormat(std::string_
ShowErrorMessage(
GetEncodedString(STR_CONFIG_ERROR),
GetEncodedString(STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM, name, def.name),
WL_CRITICAL);
WarningLevel::Critical);
}
return {def, def.default_compression};
}
@@ -2969,7 +2969,7 @@ EncodedString GetSaveLoadErrorMessage()
/** Show a gui message when saving has failed */
static void SaveFileError()
{
ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WL_ERROR);
ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WarningLevel::Error);
SaveFileDone();
}
@@ -3253,7 +3253,7 @@ SaveLoadResult SaveOrLoad(std::string_view filename, SaveLoadOperation fop, Deta
/* An instance of saving is already active, so don't go saving again */
if (_sl.saveinprogress && fop == SaveLoadOperation::Save && dft == DetailedFileType::GameFile && threaded) {
/* if not an autosave, but a user action, show error message */
if (!_do_autosave) ShowErrorMessage(GetEncodedString(STR_ERROR_SAVE_STILL_IN_PROGRESS), {}, WL_ERROR);
if (!_do_autosave) ShowErrorMessage(GetEncodedString(STR_ERROR_SAVE_STILL_IN_PROGRESS), {}, WarningLevel::Error);
return SaveLoadResult::Ok;
}
WaitTillSaved();
@@ -3349,7 +3349,7 @@ void DoAutoOrNetsave(FiosNumberedSaveName &counter)
Debug(sl, 2, "Autosaving to '{}'", filename);
if (SaveOrLoad(filename, SaveLoadOperation::Save, DetailedFileType::GameFile, Subdirectory::Autosave) != SaveLoadResult::Ok) {
ShowErrorMessage(GetEncodedString(STR_ERROR_AUTOSAVE_FAILED), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_AUTOSAVE_FAILED), {}, WarningLevel::Error);
}
}
+3 -3
View File
@@ -444,12 +444,12 @@ static bool RealMakeScreenshot(ScreenshotType t, const std::string &name, uint32
if (ret) {
if (t == SC_HEIGHTMAP) {
ShowErrorMessage(GetEncodedString(STR_MESSAGE_HEIGHTMAP_SUCCESSFULLY, _screenshot_name, _heightmap_highest_peak), {}, WL_WARNING);
ShowErrorMessage(GetEncodedString(STR_MESSAGE_HEIGHTMAP_SUCCESSFULLY, _screenshot_name, _heightmap_highest_peak), {}, WarningLevel::Warning);
} else {
ShowErrorMessage(GetEncodedString(STR_MESSAGE_SCREENSHOT_SUCCESSFULLY, _screenshot_name), {}, WL_WARNING);
ShowErrorMessage(GetEncodedString(STR_MESSAGE_SCREENSHOT_SUCCESSFULLY, _screenshot_name), {}, WarningLevel::Warning);
}
} else {
ShowErrorMessage(GetEncodedString(STR_ERROR_SCREENSHOT_FAILED), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_SCREENSHOT_FAILED), {}, WarningLevel::Error);
}
return ret;
+1 -1
View File
@@ -1290,7 +1290,7 @@ Window *ShowScriptDebugWindow(CompanyID show_company, bool new_window)
}
return new ScriptDebugWindow(_script_debug_desc, i, show_company);
} else {
ShowErrorMessage(GetEncodedString(STR_ERROR_AI_DEBUG_SERVER_ONLY), {}, WL_INFO);
ShowErrorMessage(GetEncodedString(STR_ERROR_AI_DEBUG_SERVER_ONLY), {}, WarningLevel::Info);
}
return nullptr;
+7 -7
View File
@@ -1024,7 +1024,7 @@ static void GraphicsSetLoadConfig(IniFile &ini)
} else {
ShowErrorMessage(GetEncodedString(STR_CONFIG_ERROR),
GetEncodedString(STR_CONFIG_ERROR_INVALID_VALUE, *item->value, BaseGraphics::ini_data.name),
WL_CRITICAL);
WarningLevel::Critical);
}
}
@@ -1035,7 +1035,7 @@ static void GraphicsSetLoadConfig(IniFile &ini)
} else {
ShowErrorMessage(GetEncodedString(STR_CONFIG_ERROR),
GetEncodedString(STR_CONFIG_ERROR_INVALID_VALUE, *item->value, BaseGraphics::ini_data.name),
WL_CRITICAL);
WarningLevel::Critical);
}
}
@@ -1046,7 +1046,7 @@ static void GraphicsSetLoadConfig(IniFile &ini)
} else {
ShowErrorMessage(GetEncodedString(STR_CONFIG_ERROR),
GetEncodedString(STR_CONFIG_ERROR_ARRAY, BaseGraphics::ini_data.name),
WL_CRITICAL);
WarningLevel::Critical);
}
}
}
@@ -1114,7 +1114,7 @@ static GRFConfigList GRFLoadConfig(const IniFile &ini, std::string_view grpname,
} else {
ShowErrorMessage(GetEncodedString(STR_CONFIG_ERROR),
GetEncodedString(STR_CONFIG_ERROR_ARRAY, filename),
WL_CRITICAL);
WarningLevel::Critical);
}
}
@@ -1135,7 +1135,7 @@ static GRFConfigList GRFLoadConfig(const IniFile &ini, std::string_view grpname,
ShowErrorMessage(GetEncodedString(STR_CONFIG_ERROR),
GetEncodedString(STR_CONFIG_ERROR_INVALID_GRF, filename.empty() ? item.name : filename, reason),
WL_CRITICAL);
WarningLevel::Critical);
continue;
}
@@ -1144,7 +1144,7 @@ static GRFConfigList GRFLoadConfig(const IniFile &ini, std::string_view grpname,
if (found != std::end(list)) {
ShowErrorMessage(GetEncodedString(STR_CONFIG_ERROR),
GetEncodedString(STR_CONFIG_ERROR_DUPLICATE_GRFID, c->filename, (*found)->filename),
WL_CRITICAL);
WarningLevel::Critical);
continue;
}
@@ -1154,7 +1154,7 @@ static GRFConfigList GRFLoadConfig(const IniFile &ini, std::string_view grpname,
} else if (++num_grfs > NETWORK_MAX_GRF_COUNT) {
/* Check we will not load more non-static NewGRFs than allowed. This could trigger issues for game servers. */
ShowErrorMessage(GetEncodedString(STR_CONFIG_ERROR),
GetEncodedString(STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED), WL_CRITICAL);
GetEncodedString(STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED), WarningLevel::Critical);
break;
}
+5 -5
View File
@@ -988,7 +988,7 @@ struct GameOptionsWindow : Window {
case WID_GO_FULLSCREEN_BUTTON: // Click fullscreen on/off
/* try to toggle full-screen on/off */
if (!ToggleFullScreen(!_fullscreen)) {
ShowErrorMessage(GetEncodedString(STR_ERROR_FULLSCREEN_FAILED), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_ERROR_FULLSCREEN_FAILED), {}, WarningLevel::Error);
}
this->SetWidgetLoweredState(WID_GO_FULLSCREEN_BUTTON, _fullscreen);
this->SetWidgetDirty(WID_GO_FULLSCREEN_BUTTON);
@@ -997,7 +997,7 @@ struct GameOptionsWindow : Window {
case WID_GO_VIDEO_ACCEL_BUTTON:
_video_hw_accel = !_video_hw_accel;
ShowErrorMessage(GetEncodedString(STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART), {}, WL_INFO);
ShowErrorMessage(GetEncodedString(STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART), {}, WarningLevel::Info);
this->SetWidgetLoweredState(WID_GO_VIDEO_ACCEL_BUTTON, _video_hw_accel);
this->SetWidgetDirty(WID_GO_VIDEO_ACCEL_BUTTON);
this->SetWidgetDirty(WID_GO_VIDEO_ACCEL_TEXT);
@@ -1162,7 +1162,7 @@ struct GameOptionsWindow : Window {
if (!list.empty()) {
ShowDropDownList(this, std::move(list), selected, widget);
} else {
if (widget == WID_GO_RESOLUTION_DROPDOWN) ShowErrorMessage(GetEncodedString(STR_ERROR_RESOLUTION_LIST_FAILED), {}, WL_ERROR);
if (widget == WID_GO_RESOLUTION_DROPDOWN) ShowErrorMessage(GetEncodedString(STR_ERROR_RESOLUTION_LIST_FAILED), {}, WarningLevel::Error);
}
break;
}
@@ -1177,7 +1177,7 @@ struct GameOptionsWindow : Window {
if (!list.empty()) {
ShowDropDownList(this, std::move(list), selected, widget, 0, DropDownOption::Filterable);
} else {
if (widget == WID_GO_RESOLUTION_DROPDOWN) ShowErrorMessage(GetEncodedString(STR_ERROR_RESOLUTION_LIST_FAILED), {}, WL_ERROR);
if (widget == WID_GO_RESOLUTION_DROPDOWN) ShowErrorMessage(GetEncodedString(STR_ERROR_RESOLUTION_LIST_FAILED), {}, WarningLevel::Error);
}
break;
}
@@ -1456,7 +1456,7 @@ struct GameOptionsWindow : Window {
if (_settings_client.gui.refresh_rate > 60) {
/* Show warning to the user that this refresh rate might not be suitable on
* larger maps with many NewGRFs and vehicles. */
ShowErrorMessage(GetEncodedString(STR_GAME_OPTIONS_REFRESH_RATE_WARNING), {}, WL_INFO);
ShowErrorMessage(GetEncodedString(STR_GAME_OPTIONS_REFRESH_RATE_WARNING), {}, WarningLevel::Info);
}
break;
}
+9 -9
View File
@@ -443,7 +443,7 @@ static void MaxNoAIsChange(int32_t)
if (GetGameSettings().difficulty.max_no_competitors != 0 &&
AI::GetInfoList()->empty() &&
(!_networking || _network_server)) {
ShowErrorMessage(GetEncodedString(STR_WARNING_NO_SUITABLE_AI), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_WARNING_NO_SUITABLE_AI), {}, WarningLevel::Critical);
}
InvalidateWindowClassesData(WindowClass::GameOptions, 0);
@@ -479,39 +479,39 @@ static bool CheckFreeformEdges(int32_t &new_value)
for (Ship *s : Ship::Iterate()) {
/* Check if there is a ship on the northern border. */
if (TileX(s->tile) == 0 || TileY(s->tile) == 0) {
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_EMPTY), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_EMPTY), {}, WarningLevel::Error);
return false;
}
}
for (const BaseStation *st : BaseStation::Iterate()) {
/* Check if there is a non-deleted buoy on the northern border. */
if (st->IsInUse() && (TileX(st->xy) == 0 || TileY(st->xy) == 0)) {
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_EMPTY), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_EMPTY), {}, WarningLevel::Error);
return false;
}
}
} else {
for (uint i = 0; i < Map::MaxX(); i++) {
if (TileHeight(TileXY(i, 1)) != 0) {
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_WATER), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_WATER), {}, WarningLevel::Error);
return false;
}
}
for (uint i = 1; i < Map::MaxX(); i++) {
if (!IsTileType(TileXY(i, Map::MaxY() - 1), TileType::Water) || TileHeight(TileXY(1, Map::MaxY())) != 0) {
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_WATER), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_WATER), {}, WarningLevel::Error);
return false;
}
}
for (uint i = 0; i < Map::MaxY(); i++) {
if (TileHeight(TileXY(1, i)) != 0) {
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_WATER), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_WATER), {}, WarningLevel::Error);
return false;
}
}
for (uint i = 1; i < Map::MaxY(); i++) {
if (!IsTileType(TileXY(Map::MaxX() - 1, i), TileType::Water) || TileHeight(TileXY(Map::MaxX(), i)) != 0) {
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_WATER), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_EDGES_NOT_WATER), {}, WarningLevel::Error);
return false;
}
}
@@ -550,7 +550,7 @@ static bool CheckDynamicEngines([[maybe_unused]] int32_t &value)
if (_game_mode == GM_MENU) return true;
if (!EngineOverrideManager::ResetToCurrentNewGRFConfig()) {
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES), {}, WarningLevel::Error);
return false;
}
@@ -566,7 +566,7 @@ static bool CheckMaxHeightLevel(int32_t &new_value)
* If yes, disallow the change. */
for (const auto t : Map::Iterate()) {
if ((int32_t)TileHeight(t) > new_value) {
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN), {}, WarningLevel::Error);
/* Return old, unchanged value */
return false;
}
+1 -1
View File
@@ -34,7 +34,7 @@ static bool WarnCorruptSprite(const SpriteFile &file, size_t file_pos, int line)
{
static uint8_t warning_level = 0;
if (warning_level == 0) {
ShowErrorMessage(GetEncodedString(STR_NEWGRF_ERROR_CORRUPT_SPRITE, file.GetSimplifiedFilename()), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_NEWGRF_ERROR_CORRUPT_SPRITE, file.GetSimplifiedFilename()), {}, WarningLevel::Error);
}
Debug(sprite, warning_level, "[{}] Loading corrupted sprite from {} at position {}", line, file.GetSimplifiedFilename(), file_pos);
warning_level = 6;
+3 -3
View File
@@ -2416,7 +2416,7 @@ void CheckForMissingGlyphs(MissingGlyphSearcher *searcher)
StringBuilder builder(err_str);
builder.PutUtf8(SCC_YELLOW);
builder.Put("The current font is missing some of the characters used in the texts for this language. Using system fallback font instead.");
ShowErrorMessage(GetEncodedString(STR_JUST_RAW_STRING, std::move(err_str)), {}, WL_WARNING);
ShowErrorMessage(GetEncodedString(STR_JUST_RAW_STRING, std::move(err_str)), {}, WarningLevel::Warning);
}
}
#endif
@@ -2433,7 +2433,7 @@ void CheckForMissingGlyphs(MissingGlyphSearcher *searcher)
StringBuilder builder(err_str);
builder.PutUtf8(SCC_YELLOW);
builder.Put("The current font is missing some of the characters used in the texts for this language. Go to Help & Manuals > Fonts, or read the file docs/fonts.md in your OpenTTD directory, to see how to solve this.");
ShowErrorMessage(GetEncodedString(STR_JUST_RAW_STRING, std::move(err_str)), {}, WL_WARNING);
ShowErrorMessage(GetEncodedString(STR_JUST_RAW_STRING, std::move(err_str)), {}, WarningLevel::Warning);
return;
}
@@ -2452,7 +2452,7 @@ void CheckForMissingGlyphs(MissingGlyphSearcher *searcher)
StringBuilder builder(err_str);
builder.PutUtf8(SCC_YELLOW);
builder.Put("This version of OpenTTD does not support right-to-left languages. Recompile with ICU + Harfbuzz enabled.");
ShowErrorMessage(GetEncodedString(STR_JUST_RAW_STRING, std::move(err_str)), {}, WL_ERROR);
ShowErrorMessage(GetEncodedString(STR_JUST_RAW_STRING, std::move(err_str)), {}, WarningLevel::Error);
}
#endif /* !(WITH_ICU_I18N && WITH_HARFBUZZ) && !WITH_UNISCRIBE && !WITH_COCOA */
}
+4 -4
View File
@@ -991,11 +991,11 @@ bool CheckTownRoadTypes()
ShowErrorMessage(
GetEncodedString(STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET),
GetEncodedString(STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION, min_date),
WL_CRITICAL);
WarningLevel::Critical);
} else {
ShowErrorMessage(
GetEncodedString(STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL),
GetEncodedString(STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION), WL_CRITICAL);
GetEncodedString(STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION), WarningLevel::Critical);
}
return false;
}
@@ -2472,7 +2472,7 @@ bool GenerateTowns(TownLayout layout, std::optional<uint> number)
/* If there are no towns at all and we are generating new game, bail out */
if (Town::GetNumItems() == 0 && _game_mode != GM_EDITOR) {
ShowErrorMessage(GetEncodedString(STR_ERROR_COULD_NOT_CREATE_TOWN), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_ERROR_COULD_NOT_CREATE_TOWN), {}, WarningLevel::Critical);
}
return false; // we are still without a town? we failed, simply
@@ -3660,7 +3660,7 @@ static CommandCost TownActionBribe(Town *t, DoCommandFlags flags)
/* only show error message to the executing player. All errors are handled command.c
* but this is special, because it can only 'fail' on a DoCommandFlag::Execute */
if (IsLocalCompany()) ShowErrorMessage(GetEncodedString(STR_ERROR_BRIBE_FAILED), {}, WL_INFO);
if (IsLocalCompany()) ShowErrorMessage(GetEncodedString(STR_ERROR_BRIBE_FAILED), {}, WarningLevel::Info);
/* decrease by a lot!
* ChangeTownRating is only for stuff in demolishing. Bribe failure should
+1 -1
View File
@@ -1319,7 +1319,7 @@ public:
AutoRestoreBackup old_generating_world(_generating_world, true);
UpdateNearestTownForRoadTiles(true);
if (!GenerateTowns(this->town_layout, value)) {
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_GENERATE_TOWN), GetEncodedString(STR_ERROR_NO_SPACE_FOR_TOWN), WL_INFO);
ShowErrorMessage(GetEncodedString(STR_ERROR_CAN_T_GENERATE_TOWN), GetEncodedString(STR_ERROR_NO_SPACE_FOR_TOWN), WarningLevel::Info);
}
UpdateNearestTownForRoadTiles(false);
}
+1 -1
View File
@@ -84,7 +84,7 @@ void CheckTrainsLengths()
if ((w->track != TRACK_BIT_DEPOT &&
std::max(abs(u->x_pos - w->x_pos), abs(u->y_pos - w->y_pos)) != u->CalcNextVehicleOffset()) ||
(w->track == TRACK_BIT_DEPOT && TicksToLeaveDepot(u) <= 0)) {
ShowErrorMessage(GetEncodedString(STR_BROKEN_VEHICLE_LENGTH, v->index, v->owner), {}, WL_CRITICAL);
ShowErrorMessage(GetEncodedString(STR_BROKEN_VEHICLE_LENGTH, v->index, v->owner), {}, WarningLevel::Critical);
if (!_networking && first) {
first = false;
+1 -1
View File
@@ -345,7 +345,7 @@ void ShowNewGrfVehicleError(EngineID engine, StringID part1, StringID part2, GRF
if (!grfconfig->grf_bugs.Test(bug_type)) {
grfconfig->grf_bugs.Set(bug_type);
ShowErrorMessage(GetEncodedString(part1, grfconfig->GetName()),
GetEncodedString(part2, std::monostate{}, engine), WL_CRITICAL);
GetEncodedString(part2, std::monostate{}, engine), WarningLevel::Critical);
if (!_networking) Command<Commands::Pause>::Do(DoCommandFlag::Execute, critical ? PauseMode::Error : PauseMode::Normal, true);
}