diff --git a/data/language/en-GB.txt b/data/language/en-GB.txt index e608ca919d..dd92f8606a 100644 --- a/data/language/en-GB.txt +++ b/data/language/en-GB.txt @@ -3602,6 +3602,7 @@ STR_6493 :This park was saved in a later version of OpenRCT2, some data may b STR_6494 :Group by ride type STR_6495 :Group rides by ride types instead of showing each vehicle separately. STR_6496 :{WINDOW_COLOUR_2}{STRINGID} +STR_6497 :Click on a tile to show its tile elements.{NEWLINE}Ctrl + click a tile element to select it directly. ############# # Scenarios # diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 0f4f124024..fd54d281aa 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -12,6 +12,7 @@ - Improved: [#16992] The checkbox in the visibility column of the Tile Inspector has been replaced with an eye symbol. - Improved: [#16999] The maximum price for the park entry has been raised to £999. - Improved: [#17050] Transparency can be enabled directly without needing see-through enabled first. +- Improved: [#17059] Show Tile Inspector usage hint when nothing is selected. - Removed: [#16864] Title sequence editor (replaced by plug-in). 0.4.0 (2022-04-25) diff --git a/src/openrct2-ui/windows/TileInspector.cpp b/src/openrct2-ui/windows/TileInspector.cpp index 78e57fb992..2c9079e839 100644 --- a/src/openrct2-ui/windows/TileInspector.cpp +++ b/src/openrct2-ui/windows/TileInspector.cpp @@ -1301,7 +1301,8 @@ static void WindowTileInspectorToolDrag(rct_window* w, rct_widgetindex widgetInd static void WindowTileInspectorScrollgetsize(rct_window* w, int32_t scrollIndex, int32_t* width, int32_t* height) { *width = WW - 30; - *height = windowTileInspectorElementCount * SCROLLABLE_ROW_HEIGHT; + *height = w->widgets[WIDX_LIST].height() - 2; + *height = std::max(windowTileInspectorElementCount * SCROLLABLE_ROW_HEIGHT, *height); } static void WindowTileInspectorSetPage(rct_window* w, const TileInspectorPage page) @@ -2258,14 +2259,23 @@ static void WindowTileInspectorScrollpaint(rct_window* w, rct_drawpixelinfo* dpi dpi, { { dpi->x, dpi->y }, { dpi->x + dpi->width - 1, dpi->y + dpi->height - 1 } }, ColourMapA[w->colours[1]].mid_light); + // Show usage hint when nothing is selected + if (!windowTileInspectorTileSelected) + { + auto& listWidget = w->widgets[WIDX_LIST]; + auto centrePos = ScreenCoordsXY{ listWidget.width() / 2, + (listWidget.height() - font_get_line_height(FontSpriteBase::MEDIUM)) / 2 }; + auto ft = Formatter{}; + auto textPaint = TextPaint{ w->colours[1], TextAlignment::CENTRE }; + DrawTextWrapped(dpi, centrePos, listWidth, STR_TILE_INSPECTOR_SELECT_TILE_HINT, ft, textPaint); + return; + } + ScreenCoordsXY screenCoords{}; screenCoords.y = SCROLLABLE_ROW_HEIGHT * (windowTileInspectorElementCount - 1); int32_t i = 0; char buffer[256]; - if (!windowTileInspectorTileSelected) - return; - const TileElement* tileElement = map_get_first_element_at(windowTileInspectorToolMap); do diff --git a/src/openrct2/localisation/StringIds.h b/src/openrct2/localisation/StringIds.h index 40817d65a3..12d06b8638 100644 --- a/src/openrct2/localisation/StringIds.h +++ b/src/openrct2/localisation/StringIds.h @@ -3874,6 +3874,8 @@ enum : uint16_t STR_GROUP_BY_TRACK_TYPE_TIP = 6495, STR_NEW_RIDE_VEHICLE_NAME = 6496, + STR_TILE_INSPECTOR_SELECT_TILE_HINT = 6497, + // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working /* MAX_STR_COUNT = 32768 */ // MAX_STR_COUNT - upper limit for number of strings, not the current count strings };