mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-30 10:15:36 +01:00
Remove some usages of gGameCommandErrorMessage in Editor
This commit is contained in:
@@ -176,14 +176,14 @@ static bool window_editor_bottom_toolbar_check_object_selection()
|
||||
{
|
||||
rct_window* w;
|
||||
|
||||
ObjectType missingObjectType = Editor::CheckObjectSelection();
|
||||
auto [missingObjectType, errorString] = Editor::CheckObjectSelection();
|
||||
if (missingObjectType == ObjectType::None)
|
||||
{
|
||||
window_close_by_class(WC_EDITOR_OBJECT_SELECTION);
|
||||
return true;
|
||||
}
|
||||
|
||||
context_show_error(STR_INVALID_SELECTION_OF_OBJECTS, gGameCommandErrorText, {});
|
||||
context_show_error(STR_INVALID_SELECTION_OF_OBJECTS, errorString, {});
|
||||
w = window_find_by_class(WC_EDITOR_OBJECT_SELECTION);
|
||||
if (w != nullptr)
|
||||
{
|
||||
@@ -219,7 +219,8 @@ void window_editor_bottom_toolbar_jump_forward_from_object_selection()
|
||||
*/
|
||||
void window_editor_bottom_toolbar_jump_forward_to_invention_list_set_up()
|
||||
{
|
||||
if (Editor::CheckPark())
|
||||
auto [checksPassed, errorString] = Editor::CheckPark();
|
||||
if (checksPassed)
|
||||
{
|
||||
window_close_all();
|
||||
context_open_window(WC_EDITOR_INVENTION_LIST);
|
||||
@@ -227,7 +228,7 @@ void window_editor_bottom_toolbar_jump_forward_to_invention_list_set_up()
|
||||
}
|
||||
else
|
||||
{
|
||||
context_show_error(STR_CANT_ADVANCE_TO_NEXT_EDITOR_STAGE, gGameCommandErrorText, {});
|
||||
context_show_error(STR_CANT_ADVANCE_TO_NEXT_EDITOR_STAGE, errorString, {});
|
||||
}
|
||||
|
||||
gfx_invalidate_screen();
|
||||
|
||||
@@ -453,7 +453,7 @@ namespace Editor
|
||||
*
|
||||
* rct2: 0x006AB9B8
|
||||
*/
|
||||
ObjectType CheckObjectSelection()
|
||||
std::pair<ObjectType, rct_string_id> CheckObjectSelection()
|
||||
{
|
||||
bool isTrackDesignerManager = gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER);
|
||||
|
||||
@@ -461,52 +461,46 @@ namespace Editor
|
||||
{
|
||||
if (!editor_check_object_group_at_least_one_selected(ObjectType::Paths))
|
||||
{
|
||||
gGameCommandErrorText = STR_AT_LEAST_ONE_PATH_OBJECT_MUST_BE_SELECTED;
|
||||
return ObjectType::Paths;
|
||||
return { ObjectType::Paths, STR_AT_LEAST_ONE_PATH_OBJECT_MUST_BE_SELECTED };
|
||||
}
|
||||
}
|
||||
|
||||
if (!editor_check_object_group_at_least_one_selected(ObjectType::Ride))
|
||||
{
|
||||
gGameCommandErrorText = STR_AT_LEAST_ONE_RIDE_OBJECT_MUST_BE_SELECTED;
|
||||
return ObjectType::Ride;
|
||||
return { ObjectType::Ride, STR_AT_LEAST_ONE_RIDE_OBJECT_MUST_BE_SELECTED };
|
||||
}
|
||||
|
||||
if (!isTrackDesignerManager)
|
||||
{
|
||||
if (!editor_check_object_group_at_least_one_selected(ObjectType::ParkEntrance))
|
||||
{
|
||||
gGameCommandErrorText = STR_PARK_ENTRANCE_TYPE_MUST_BE_SELECTED;
|
||||
return ObjectType::ParkEntrance;
|
||||
return { ObjectType::ParkEntrance, STR_PARK_ENTRANCE_TYPE_MUST_BE_SELECTED };
|
||||
}
|
||||
|
||||
if (!editor_check_object_group_at_least_one_selected(ObjectType::Water))
|
||||
{
|
||||
gGameCommandErrorText = STR_WATER_TYPE_MUST_BE_SELECTED;
|
||||
return ObjectType::Water;
|
||||
return { ObjectType::Water, STR_WATER_TYPE_MUST_BE_SELECTED };
|
||||
}
|
||||
}
|
||||
|
||||
return ObjectType::None;
|
||||
return { ObjectType::None, STR_NONE };
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0066FEAC
|
||||
*/
|
||||
bool CheckPark()
|
||||
std::pair<bool, rct_string_id> CheckPark()
|
||||
{
|
||||
int32_t parkSize = park_calculate_size();
|
||||
if (parkSize == 0)
|
||||
{
|
||||
gGameCommandErrorText = STR_PARK_MUST_OWN_SOME_LAND;
|
||||
return false;
|
||||
return { false, STR_PARK_MUST_OWN_SOME_LAND };
|
||||
}
|
||||
|
||||
if (gParkEntrances.empty())
|
||||
{
|
||||
gGameCommandErrorText = STR_NO_PARK_ENTRANCES;
|
||||
return false;
|
||||
return { false, STR_NO_PARK_ENTRANCES };
|
||||
}
|
||||
|
||||
for (const auto& parkEntrance : gParkEntrances)
|
||||
@@ -516,12 +510,10 @@ namespace Editor
|
||||
switch (footpath_is_connected_to_map_edge(parkEntrance, direction, 0))
|
||||
{
|
||||
case FOOTPATH_SEARCH_NOT_FOUND:
|
||||
gGameCommandErrorText = STR_PARK_ENTRANCE_WRONG_DIRECTION_OR_NO_PATH;
|
||||
return false;
|
||||
return { false, STR_PARK_ENTRANCE_WRONG_DIRECTION_OR_NO_PATH };
|
||||
case FOOTPATH_SEARCH_INCOMPLETE:
|
||||
case FOOTPATH_SEARCH_TOO_COMPLEX:
|
||||
gGameCommandErrorText = STR_PARK_ENTRANCE_PATH_INCOMPLETE_OR_COMPLEX;
|
||||
return false;
|
||||
return { false, STR_PARK_ENTRANCE_PATH_INCOMPLETE_OR_COMPLEX };
|
||||
case FOOTPATH_SEARCH_SUCCESS:
|
||||
// Run the search again and unown the path
|
||||
footpath_is_connected_to_map_edge(parkEntrance, direction, (1 << 5));
|
||||
@@ -531,11 +523,10 @@ namespace Editor
|
||||
|
||||
if (gPeepSpawns.empty())
|
||||
{
|
||||
gGameCommandErrorText = STR_PEEP_SPAWNS_NOT_SET;
|
||||
return false;
|
||||
return { false, STR_PEEP_SPAWNS_NOT_SET };
|
||||
}
|
||||
|
||||
return true;
|
||||
return { true, STR_NONE };
|
||||
}
|
||||
|
||||
uint8_t GetSelectedObjectFlags(ObjectType objectType, size_t index)
|
||||
|
||||
@@ -21,8 +21,8 @@ namespace Editor
|
||||
void LoadTrackManager();
|
||||
bool LoadLandscape(const utf8* path);
|
||||
|
||||
bool CheckPark();
|
||||
ObjectType CheckObjectSelection();
|
||||
std::pair<bool, rct_string_id> CheckPark();
|
||||
std::pair<ObjectType, rct_string_id> CheckObjectSelection();
|
||||
|
||||
void OpenWindowsForCurrentStep();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user