From 8a70b29f64744d41129f60c953c2511594b36636 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Fri, 4 Jan 2019 21:29:44 +0100 Subject: [PATCH] Fix GCC's warning regarding enum vs non-enum values being compared (#8551) --- src/openrct2-ui/windows/EditorObjectSelection.cpp | 6 ++++-- src/openrct2-ui/windows/Scenery.cpp | 2 +- src/openrct2-ui/windows/TileInspector.cpp | 3 ++- src/openrct2-ui/windows/TitleScenarioSelect.cpp | 3 ++- src/openrct2/object/ObjectFactory.cpp | 2 +- src/openrct2/object/RideObject.cpp | 6 +++--- src/openrct2/object/StringTable.cpp | 2 +- 7 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/openrct2-ui/windows/EditorObjectSelection.cpp b/src/openrct2-ui/windows/EditorObjectSelection.cpp index b49959e4cd..1c3dae22f2 100644 --- a/src/openrct2-ui/windows/EditorObjectSelection.cpp +++ b/src/openrct2-ui/windows/EditorObjectSelection.cpp @@ -1027,7 +1027,8 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf widget = &w->widgets[WIDX_LIST_SORT_TYPE]; if (widget->type != WWT_EMPTY) { - stringId = _listSortType == RIDE_SORT_TYPE ? (_listSortDescending ? STR_DOWN : STR_UP) : STR_NONE; + stringId = _listSortType == RIDE_SORT_TYPE ? (rct_string_id)(_listSortDescending ? STR_DOWN : STR_UP) + : (rct_string_id)STR_NONE; gfx_draw_string_left_clipped( dpi, STR_OBJECTS_SORT_TYPE, &stringId, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); @@ -1035,7 +1036,8 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf widget = &w->widgets[WIDX_LIST_SORT_RIDE]; if (widget->type != WWT_EMPTY) { - stringId = _listSortType == RIDE_SORT_RIDE ? (_listSortDescending ? STR_DOWN : STR_UP) : STR_NONE; + stringId = _listSortType == RIDE_SORT_RIDE ? (rct_string_id)(_listSortDescending ? STR_DOWN : STR_UP) + : (rct_string_id)STR_NONE; gfx_draw_string_left_clipped( dpi, STR_OBJECTS_SORT_RIDE, &stringId, w->colours[1], w->x + widget->left + 1, w->y + widget->top + 1, widget->right - widget->left); diff --git a/src/openrct2-ui/windows/Scenery.cpp b/src/openrct2-ui/windows/Scenery.cpp index bad030f8ab..1ad384a2d4 100644 --- a/src/openrct2-ui/windows/Scenery.cpp +++ b/src/openrct2-ui/windows/Scenery.cpp @@ -1174,7 +1174,7 @@ void window_scenery_paint(rct_window* w, rct_drawpixelinfo* dpi) dpi, STR_COST_LABEL, gCommonFormatArgs, COLOUR_BLACK, w->x + w->width - 0x1A, w->y + w->height - 13); } - set_format_arg(0, rct_string_id, sceneryEntry != nullptr ? sceneryEntry->name : STR_UNKNOWN_OBJECT_TYPE); + set_format_arg(0, rct_string_id, sceneryEntry != nullptr ? sceneryEntry->name : (rct_string_id)STR_UNKNOWN_OBJECT_TYPE); gfx_draw_string_left_clipped( dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, w->x + 3, w->y + w->height - 13, w->width - 19); } diff --git a/src/openrct2-ui/windows/TileInspector.cpp b/src/openrct2-ui/windows/TileInspector.cpp index cd38411ba0..99fbdc72ec 100644 --- a/src/openrct2-ui/windows/TileInspector.cpp +++ b/src/openrct2-ui/windows/TileInspector.cpp @@ -1812,7 +1812,8 @@ static void window_tile_inspector_paint(rct_window* w, rct_drawpixelinfo* dpi) { const uint8_t pathAdditionType = tileElement->AsPath()->GetAdditionEntryIndex(); const auto* sceneryElement = get_footpath_item_entry(pathAdditionType); - rct_string_id additionNameId = sceneryElement != nullptr ? sceneryElement->name : STR_UNKNOWN_OBJECT_TYPE; + rct_string_id additionNameId = sceneryElement != nullptr ? sceneryElement->name + : (rct_string_id)STR_UNKNOWN_OBJECT_TYPE; gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_PATH_ADDITIONS, &additionNameId, COLOUR_DARK_GREEN, x, y + 11); } else diff --git a/src/openrct2-ui/windows/TitleScenarioSelect.cpp b/src/openrct2-ui/windows/TitleScenarioSelect.cpp index 3f46b148fc..6be6a7113d 100644 --- a/src/openrct2-ui/windows/TitleScenarioSelect.cpp +++ b/src/openrct2-ui/windows/TitleScenarioSelect.cpp @@ -575,7 +575,8 @@ static void window_scenarioselect_scrollpaint(rct_window* w, rct_drawpixelinfo* // Draw scenario name char buffer[64]; safe_strcpy(buffer, scenario->name, sizeof(buffer)); - rct_string_id format = isDisabled ? STR_STRINGID : (isHighlighted ? highlighted_format : unhighlighted_format); + rct_string_id format = isDisabled ? (rct_string_id)STR_STRINGID + : (isHighlighted ? highlighted_format : unhighlighted_format); set_format_arg(0, rct_string_id, STR_STRING); set_format_arg(2, char*, buffer); colour = isDisabled ? w->colours[1] | COLOUR_FLAG_INSET : COLOUR_BLACK; diff --git a/src/openrct2/object/ObjectFactory.cpp b/src/openrct2/object/ObjectFactory.cpp index 62df95e766..196ec92f3e 100644 --- a/src/openrct2/object/ObjectFactory.cpp +++ b/src/openrct2/object/ObjectFactory.cpp @@ -160,7 +160,7 @@ namespace ObjectFactory static uint8_t ParseSourceGame(const std::string& s) { - static const std::unordered_map LookupTable{ + static const std::unordered_map LookupTable{ { "rct1", OBJECT_SOURCE_RCT1 }, { "rct1aa", OBJECT_SOURCE_ADDED_ATTRACTIONS }, { "rct1ll", OBJECT_SOURCE_LOOPY_LANDSCAPES }, diff --git a/src/openrct2/object/RideObject.cpp b/src/openrct2/object/RideObject.cpp index 322e9f6664..034a4b9cca 100644 --- a/src/openrct2/object/RideObject.cpp +++ b/src/openrct2/object/RideObject.cpp @@ -1036,7 +1036,7 @@ uint8_t RideObject::ParseRideType(const std::string& s) { "lim_launched_rc", RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }, }; auto result = LookupTable.find(s); - return (result != LookupTable.end()) ? result->second : RIDE_TYPE_NULL; + return (result != LookupTable.end()) ? result->second : (uint8_t)RIDE_TYPE_NULL; } uint8_t RideObject::ParseRideCategory(const std::string& s) @@ -1050,7 +1050,7 @@ uint8_t RideObject::ParseRideCategory(const std::string& s) { "stall", RIDE_CATEGORY_SHOP }, }; auto result = LookupTable.find(s); - return (result != LookupTable.end()) ? result->second : RIDE_CATEGORY_TRANSPORT; + return (result != LookupTable.end()) ? result->second : (uint8_t)RIDE_CATEGORY_TRANSPORT; } uint8_t RideObject::ParseShopItem(const std::string& s) @@ -1095,5 +1095,5 @@ uint8_t RideObject::ParseShopItem(const std::string& s) { "sunglasses", SHOP_ITEM_SUNGLASSES }, }; auto result = LookupTable.find(s); - return (result != LookupTable.end()) ? result->second : SHOP_ITEM_NONE; + return (result != LookupTable.end()) ? result->second : (uint8_t)SHOP_ITEM_NONE; } diff --git a/src/openrct2/object/StringTable.cpp b/src/openrct2/object/StringTable.cpp index bcc3aa056f..fa1fa84ff8 100644 --- a/src/openrct2/object/StringTable.cpp +++ b/src/openrct2/object/StringTable.cpp @@ -55,7 +55,7 @@ void StringTable::Read(IReadObjectContext* context, IStream* stream, uint8_t id) while ((rct2LanguageId = (RCT2LanguageId)stream->ReadValue()) != RCT2_LANGUAGE_ID_END) { uint8_t languageId = (rct2LanguageId <= RCT2_LANGUAGE_ID_PORTUGUESE) ? RCT2ToOpenRCT2LanguageId[rct2LanguageId] - : LANGUAGE_UNDEFINED; + : (uint8_t)LANGUAGE_UNDEFINED; StringTableEntry entry{}; entry.Id = id; entry.LanguageId = languageId;