From 4a79e9305f8ec817b5854b783547f7357a43f5fb Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Sat, 19 Sep 2020 02:39:00 +0200 Subject: [PATCH] Replace gfx_draw_string_right() with DrawTextBasic (#12966) --- src/openrct2-ui/scripting/CustomListView.cpp | 6 ++-- src/openrct2-ui/windows/Cheats.cpp | 24 ++++++++----- .../windows/EditorObjectSelection.cpp | 9 ++--- src/openrct2-ui/windows/Finances.cpp | 34 +++++++++++++------ src/openrct2-ui/windows/GuestList.cpp | 2 +- src/openrct2-ui/windows/NewRide.cpp | 4 ++- src/openrct2-ui/windows/Park.cpp | 8 +++-- src/openrct2-ui/windows/Scenery.cpp | 8 ++--- src/openrct2-ui/windows/TileInspector.cpp | 9 +++-- src/openrct2-ui/windows/TopToolbar.cpp | 14 ++++---- src/openrct2/drawing/Drawing.h | 3 -- src/openrct2/drawing/Text.cpp | 6 ---- 12 files changed, 76 insertions(+), 51 deletions(-) diff --git a/src/openrct2-ui/scripting/CustomListView.cpp b/src/openrct2-ui/scripting/CustomListView.cpp index bf51bcea7a..6e6354d21c 100644 --- a/src/openrct2-ui/scripting/CustomListView.cpp +++ b/src/openrct2-ui/scripting/CustomListView.cpp @@ -650,15 +650,13 @@ void CustomListView::PaintHeading( { auto ft = Formatter::Common(); ft.Add(STR_UP); - gfx_draw_string_right( - dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, pos + ScreenCoordsXY{ size.width - 1, 0 }); + DrawTextBasic(dpi, pos + ScreenCoordsXY{ size.width - 1, 0 }, STR_BLACK_STRING, ft, COLOUR_BLACK, TextAlignment::RIGHT); } else if (sortOrder == ColumnSortOrder::Descending) { auto ft = Formatter::Common(); ft.Add(STR_DOWN); - gfx_draw_string_right( - dpi, STR_BLACK_STRING, gCommonFormatArgs, COLOUR_BLACK, pos + ScreenCoordsXY{ size.width - 1, 0 }); + DrawTextBasic(dpi, pos + ScreenCoordsXY{ size.width - 1, 0 }, STR_BLACK_STRING, ft, COLOUR_BLACK, TextAlignment::RIGHT); } } diff --git a/src/openrct2-ui/windows/Cheats.cpp b/src/openrct2-ui/windows/Cheats.cpp index 39e322edad..aef5ce8fdc 100644 --- a/src/openrct2-ui/windows/Cheats.cpp +++ b/src/openrct2-ui/windows/Cheats.cpp @@ -1225,19 +1225,27 @@ static void window_cheats_paint(rct_window* w, rct_drawpixelinfo* dpi) gfx_draw_string_left(dpi, STR_YEAR, nullptr, COLOUR_BLACK, w->windowPos + ScreenCoordsXY{ X_LCOL, 198 }); gfx_draw_string_left(dpi, STR_MONTH, nullptr, COLOUR_BLACK, w->windowPos + ScreenCoordsXY{ X_LCOL, 219 }); gfx_draw_string_left(dpi, STR_DAY, nullptr, COLOUR_BLACK, w->windowPos + ScreenCoordsXY{ X_LCOL, 240 }); - gfx_draw_string_right( - dpi, STR_FORMAT_INTEGER, &_yearSpinnerValue, w->colours[1], w->windowPos + ScreenCoordsXY{ X_RCOL, 198 }); - gfx_draw_string_right( - dpi, STR_FORMAT_MONTH, &actual_month, w->colours[1], w->windowPos + ScreenCoordsXY{ X_RCOL, 219 }); - gfx_draw_string_right( - dpi, STR_FORMAT_INTEGER, &_daySpinnerValue, w->colours[1], w->windowPos + ScreenCoordsXY{ X_RCOL, 240 }); + ft = Formatter(); + ft.Add(_yearSpinnerValue); + DrawTextBasic( + dpi, w->windowPos + ScreenCoordsXY{ X_RCOL, 198 }, STR_FORMAT_INTEGER, ft, w->colours[1], TextAlignment::RIGHT); + ft = Formatter(); + ft.Add(actual_month); + DrawTextBasic( + dpi, w->windowPos + ScreenCoordsXY{ X_RCOL, 219 }, STR_FORMAT_MONTH, ft, w->colours[1], TextAlignment::RIGHT); + ft = Formatter(); + ft.Add(_daySpinnerValue); + DrawTextBasic( + dpi, w->windowPos + ScreenCoordsXY{ X_RCOL, 240 }, STR_FORMAT_INTEGER, ft, w->colours[1], TextAlignment::RIGHT); } else if (w->page == WINDOW_CHEATS_PAGE_MISC) { gfx_draw_string_left(dpi, STR_CHEAT_STAFF_SPEED, nullptr, COLOUR_BLACK, w->windowPos + ScreenCoordsXY{ X_LCOL, 408 }); gfx_draw_string_left(dpi, STR_FORCE_WEATHER, nullptr, COLOUR_BLACK, w->windowPos + ScreenCoordsXY{ X_LCOL, 261 }); - gfx_draw_string_right( - dpi, STR_FORMAT_INTEGER, &_parkRatingSpinnerValue, w->colours[1], w->windowPos + ScreenCoordsXY{ X_RCOL, 156 }); + auto ft = Formatter(); + ft.Add(_parkRatingSpinnerValue); + DrawTextBasic( + dpi, w->windowPos + ScreenCoordsXY{ X_RCOL, 156 }, STR_FORMAT_INTEGER, ft, w->colours[1], TextAlignment::RIGHT); } else if (w->page == WINDOW_CHEATS_PAGE_GUESTS) { diff --git a/src/openrct2-ui/windows/EditorObjectSelection.cpp b/src/openrct2-ui/windows/EditorObjectSelection.cpp index b3d1153183..a30298aa97 100644 --- a/src/openrct2-ui/windows/EditorObjectSelection.cpp +++ b/src/openrct2-ui/windows/EditorObjectSelection.cpp @@ -1090,14 +1090,14 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf if (get_selected_object_type(w) == OBJECT_TYPE_RIDE) { auto stringId = get_ride_type_string_id(listItem->repositoryItem); - gfx_draw_string_right(dpi, stringId, nullptr, COLOUR_WHITE, screenPos); + DrawTextBasic(dpi, screenPos, stringId, {}, COLOUR_WHITE, TextAlignment::RIGHT); } screenPos.y += LIST_ROW_HEIGHT; // Draw object source auto stringId = object_manager_get_source_game_string(listItem->repositoryItem->GetFirstSourceGame()); - gfx_draw_string_right(dpi, stringId, nullptr, COLOUR_WHITE, screenPos); + DrawTextBasic(dpi, screenPos, stringId, {}, COLOUR_WHITE, TextAlignment::RIGHT); screenPos.y += LIST_ROW_HEIGHT; // Draw object dat name @@ -1106,8 +1106,9 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf auto ft = Formatter::Common(); ft.Add(STR_STRING); ft.Add(path); - gfx_draw_string_right( - dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, { w->windowPos.x + w->width - 5, screenPos.y }); + DrawTextBasic( + dpi, { w->windowPos.x + w->width - 5, screenPos.y }, STR_WINDOW_COLOUR_2_STRINGID, ft, COLOUR_BLACK, + TextAlignment::RIGHT); screenPos.y += LIST_ROW_HEIGHT; } diff --git a/src/openrct2-ui/windows/Finances.cpp b/src/openrct2-ui/windows/Finances.cpp index d214c858a5..9b15e4bb89 100644 --- a/src/openrct2-ui/windows/Finances.cpp +++ b/src/openrct2-ui/windows/Finances.cpp @@ -769,18 +769,25 @@ static void window_finances_summary_scrollpaint(rct_window* w, rct_drawpixelinfo if (expenditure != 0) { profit += expenditure; - gfx_draw_string_right( - dpi, expenditure >= 0 ? STR_FINANCES_SUMMARY_INCOME_VALUE : STR_FINANCES_SUMMARY_EXPENDITURE_VALUE, - &expenditure, COLOUR_BLACK, screenCoords + ScreenCoordsXY{ EXPENDITURE_COLUMN_WIDTH, 0 }); + const rct_string_id format = expenditure >= 0 ? STR_FINANCES_SUMMARY_INCOME_VALUE + : STR_FINANCES_SUMMARY_EXPENDITURE_VALUE; + ft = Formatter(); + ft.Add(expenditure); + DrawTextBasic( + dpi, screenCoords + ScreenCoordsXY{ EXPENDITURE_COLUMN_WIDTH, 0 }, format, ft, COLOUR_BLACK, + TextAlignment::RIGHT); } screenCoords.y += TABLE_CELL_HEIGHT; } screenCoords.y += 4; // Month profit - gfx_draw_string_right( - dpi, profit >= 0 ? STR_FINANCES_SUMMARY_INCOME_VALUE : STR_FINANCES_SUMMARY_LOSS_VALUE, &profit, COLOUR_BLACK, - screenCoords + ScreenCoordsXY{ EXPENDITURE_COLUMN_WIDTH, 0 }); + const rct_string_id format = profit >= 0 ? STR_FINANCES_SUMMARY_INCOME_VALUE : STR_FINANCES_SUMMARY_LOSS_VALUE; + ft = Formatter(); + ft.Add(profit); + DrawTextBasic( + dpi, screenCoords + ScreenCoordsXY{ EXPENDITURE_COLUMN_WIDTH, 0 }, format, ft, COLOUR_BLACK, TextAlignment::RIGHT); + gfx_fill_rect( dpi, { screenCoords + ScreenCoordsXY{ 10, -2 }, screenCoords + ScreenCoordsXY{ EXPENDITURE_COLUMN_WIDTH, -2 } }, PALETTE_INDEX_10); @@ -888,7 +895,9 @@ static void window_finances_financial_graph_paint(rct_window* w, rct_drawpixelin for (axisBase = MONEY(12, 00); axisBase >= MONEY(-12, 00); axisBase -= MONEY(6, 00)) { money32 axisValue = axisBase << yAxisScale; - gfx_draw_string_right(dpi, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, &axisValue, COLOUR_BLACK, { x + 70, y }); + auto ft = Formatter(); + ft.Add(axisValue); + DrawTextBasic(dpi, { x + 70, y }, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, ft, COLOUR_BLACK, TextAlignment::RIGHT); gfx_fill_rect_inset(dpi, x + 70, y + 5, graphLeft + 482, y + 5, w->colours[2], INSET_RECT_FLAG_BORDER_INSET); y += 39; } @@ -991,7 +1000,9 @@ static void window_finances_park_value_graph_paint(rct_window* w, rct_drawpixeli for (axisBase = MONEY(24, 00); axisBase >= MONEY(0, 00); axisBase -= MONEY(6, 00)) { money32 axisValue = axisBase << yAxisScale; - gfx_draw_string_right(dpi, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, &axisValue, COLOUR_BLACK, { x + 70, y }); + auto ft = Formatter(); + ft.Add(axisValue); + DrawTextBasic(dpi, { x + 70, y }, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, ft, COLOUR_BLACK, TextAlignment::RIGHT); gfx_fill_rect_inset(dpi, x + 70, y + 5, graphLeft + 482, y + 5, w->colours[2], INSET_RECT_FLAG_BORDER_INSET); y += 39; } @@ -1094,8 +1105,11 @@ static void window_finances_profit_graph_paint(rct_window* w, rct_drawpixelinfo* for (axisBase = MONEY(12, 00); axisBase >= MONEY(-12, 00); axisBase -= MONEY(6, 00)) { money32 axisValue = axisBase << yAxisScale; - gfx_draw_string_right( - dpi, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, &axisValue, COLOUR_BLACK, screenPos + ScreenCoordsXY{ 70, 0 }); + auto ft = Formatter(); + ft.Add(axisValue); + DrawTextBasic( + dpi, screenPos + ScreenCoordsXY{ 70, 0 }, STR_FINANCES_FINANCIAL_GRAPH_CASH_VALUE, ft, COLOUR_BLACK, + TextAlignment::RIGHT); gfx_fill_rect_inset( dpi, screenPos.x + 70, screenPos.y + 5, graphLeft + 482, screenPos.y + 5, w->colours[2], INSET_RECT_FLAG_BORDER_INSET); diff --git a/src/openrct2-ui/windows/GuestList.cpp b/src/openrct2-ui/windows/GuestList.cpp index e36d38acb9..1a3bda796b 100644 --- a/src/openrct2-ui/windows/GuestList.cpp +++ b/src/openrct2-ui/windows/GuestList.cpp @@ -866,7 +866,7 @@ static void window_guest_list_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, ft = Formatter::Common(); ft.Add(STR_GUESTS_COUNT_COMMA_SEP); ft.Add(numGuests); - gfx_draw_string_right(dpi, format, gCommonFormatArgs, COLOUR_BLACK, { 326, y }); + DrawTextBasic(dpi, { 326, y }, format, ft, COLOUR_BLACK, TextAlignment::RIGHT); } y += SUMMARISED_GUEST_ROW_HEIGHT; } diff --git a/src/openrct2-ui/windows/NewRide.cpp b/src/openrct2-ui/windows/NewRide.cpp index 389e8ecbcc..7bf0b18fd1 100644 --- a/src/openrct2-ui/windows/NewRide.cpp +++ b/src/openrct2-ui/windows/NewRide.cpp @@ -973,7 +973,9 @@ static void window_new_ride_paint_ride_information( if (!ride_type_has_flag(item.Type, RIDE_TYPE_FLAG_HAS_NO_TRACK)) stringId = STR_NEW_RIDE_COST_FROM; - gfx_draw_string_right(dpi, stringId, &price, COLOUR_BLACK, screenPos + ScreenCoordsXY{ width, 51 }); + ft = Formatter(); + ft.Add(price); + DrawTextBasic(dpi, screenPos + ScreenCoordsXY{ width, 51 }, stringId, ft, COLOUR_BLACK, TextAlignment::RIGHT); } } diff --git a/src/openrct2-ui/windows/Park.cpp b/src/openrct2-ui/windows/Park.cpp index a5db3522a8..be8674815d 100644 --- a/src/openrct2-ui/windows/Park.cpp +++ b/src/openrct2-ui/windows/Park.cpp @@ -1065,7 +1065,9 @@ static void window_park_rating_paint(rct_window* w, rct_drawpixelinfo* dpi) for (int i = 5; i >= 0; i--) { uint32_t axisValue = i * 200; - gfx_draw_string_right(dpi, STR_GRAPH_AXIS_LABEL, &axisValue, COLOUR_BLACK, screenPos + ScreenCoordsXY{ 10, 0 }); + auto ft = Formatter(); + ft.Add(axisValue); + DrawTextBasic(dpi, screenPos + ScreenCoordsXY{ 10, 0 }, STR_GRAPH_AXIS_LABEL, ft, COLOUR_BLACK, TextAlignment::RIGHT); gfx_fill_rect_inset( dpi, { screenPos + ScreenCoordsXY{ 15, 5 }, screenPos + ScreenCoordsXY{ w->width - 32, 5 } }, w->colours[2], INSET_RECT_FLAG_BORDER_INSET); @@ -1198,7 +1200,9 @@ static void window_park_guests_paint(rct_window* w, rct_drawpixelinfo* dpi) for (int i = 5; i >= 0; i--) { uint32_t axisValue = i * 1000; - gfx_draw_string_right(dpi, STR_GRAPH_AXIS_LABEL, &axisValue, COLOUR_BLACK, screenPos + ScreenCoordsXY{ 10, 0 }); + auto ft = Formatter(); + ft.Add(axisValue); + DrawTextBasic(dpi, screenPos + ScreenCoordsXY{ 10, 0 }, STR_GRAPH_AXIS_LABEL, ft, COLOUR_BLACK, TextAlignment::RIGHT); gfx_fill_rect_inset( dpi, { screenPos + ScreenCoordsXY{ 15, 5 }, screenPos + ScreenCoordsXY{ w->width - 32, 5 } }, w->colours[2], INSET_RECT_FLAG_BORDER_INSET); diff --git a/src/openrct2-ui/windows/Scenery.cpp b/src/openrct2-ui/windows/Scenery.cpp index 4615ee0c9d..f93f17634c 100644 --- a/src/openrct2-ui/windows/Scenery.cpp +++ b/src/openrct2-ui/windows/Scenery.cpp @@ -1180,13 +1180,13 @@ void window_scenery_paint(rct_window* w, rct_drawpixelinfo* dpi) if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) { - auto ft = Formatter::Common(); + auto ft = Formatter(); ft.Add(price); // -14 - gfx_draw_string_right( - dpi, STR_COST_LABEL, gCommonFormatArgs, COLOUR_BLACK, - w->windowPos + ScreenCoordsXY{ w->width - 0x1A, w->height - 13 }); + DrawTextBasic( + dpi, w->windowPos + ScreenCoordsXY{ w->width - 0x1A, w->height - 13 }, STR_COST_LABEL, ft, COLOUR_BLACK, + TextAlignment::RIGHT); } auto ft = Formatter::Common(); diff --git a/src/openrct2-ui/windows/TileInspector.cpp b/src/openrct2-ui/windows/TileInspector.cpp index 6adf5d0e51..e55fb5a9f0 100644 --- a/src/openrct2-ui/windows/TileInspector.cpp +++ b/src/openrct2-ui/windows/TileInspector.cpp @@ -1759,8 +1759,13 @@ static void window_tile_inspector_paint(rct_window* w, rct_drawpixelinfo* dpi) if (windowTileInspectorTileSelected) { auto tileCoords = TileCoordsXY{ windowTileInspectorToolMap }; - gfx_draw_string_right(dpi, STR_FORMAT_INTEGER, &tileCoords.x, COLOUR_WHITE, screenCoords + ScreenCoordsXY{ 43, 24 }); - gfx_draw_string_right(dpi, STR_FORMAT_INTEGER, &tileCoords.y, COLOUR_WHITE, screenCoords + ScreenCoordsXY{ 113, 24 }); + auto ft = Formatter(); + ft.Add(tileCoords.x); + DrawTextBasic(dpi, screenCoords + ScreenCoordsXY{ 43, 24 }, STR_FORMAT_INTEGER, ft, COLOUR_WHITE, TextAlignment::RIGHT); + ft = Formatter(); + ft.Add(tileCoords.y); + DrawTextBasic( + dpi, screenCoords + ScreenCoordsXY{ 113, 24 }, STR_FORMAT_INTEGER, ft, COLOUR_WHITE, TextAlignment::RIGHT); } else { diff --git a/src/openrct2-ui/windows/TopToolbar.cpp b/src/openrct2-ui/windows/TopToolbar.cpp index 9eaa46c63b..cc4497985d 100644 --- a/src/openrct2-ui/windows/TopToolbar.cpp +++ b/src/openrct2-ui/windows/TopToolbar.cpp @@ -903,9 +903,9 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi) // Draw an overlay if clearance checks are disabled if (gCheatsDisableClearanceChecks) { - gfx_draw_string_right( - dpi, STR_OVERLAY_CLEARANCE_CHECKS_DISABLED, nullptr, COLOUR_DARK_ORANGE | COLOUR_FLAG_OUTLINE, - screenPos + ScreenCoordsXY{ 26, 2 }); + DrawTextBasic( + dpi, screenPos + ScreenCoordsXY{ 26, 2 }, STR_OVERLAY_CLEARANCE_CHECKS_DISABLED, {}, + COLOUR_DARK_ORANGE | COLOUR_FLAG_OUTLINE, TextAlignment::RIGHT); } } @@ -980,10 +980,12 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi) gfx_draw_sprite(dpi, imgId, screenPos + ScreenCoordsXY{ 3, 11 }, 0); // Draw number of players. - int32_t player_count = network_get_num_players(); + auto ft = Formatter(); + ft.Add(network_get_num_players()); gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; - gfx_draw_string_right( - dpi, STR_COMMA16, &player_count, COLOUR_WHITE | COLOUR_FLAG_OUTLINE, screenPos + ScreenCoordsXY{ 23, 1 }); + DrawTextBasic( + dpi, screenPos + ScreenCoordsXY{ 23, 1 }, STR_COMMA16, ft, COLOUR_WHITE | COLOUR_FLAG_OUTLINE, + TextAlignment::RIGHT); } } diff --git a/src/openrct2/drawing/Drawing.h b/src/openrct2/drawing/Drawing.h index 7d4eba3474..b719652cc7 100644 --- a/src/openrct2/drawing/Drawing.h +++ b/src/openrct2/drawing/Drawing.h @@ -740,9 +740,6 @@ void gfx_draw_string_left( /** @deprecated */ void gfx_draw_string_centred( rct_drawpixelinfo* dpi, rct_string_id format, const ScreenCoordsXY& coords, uint8_t colour, const void* args); -/** @deprecated */ -void gfx_draw_string_right( - rct_drawpixelinfo* dpi, rct_string_id format, void* args, uint8_t colour, const ScreenCoordsXY& coords); int32_t gfx_draw_string_left_wrapped( rct_drawpixelinfo* dpi, void* args, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, uint8_t colour); diff --git a/src/openrct2/drawing/Text.cpp b/src/openrct2/drawing/Text.cpp index d2a2f72420..5b7adfb1a5 100644 --- a/src/openrct2/drawing/Text.cpp +++ b/src/openrct2/drawing/Text.cpp @@ -164,12 +164,6 @@ void gfx_draw_string_centred( DrawTextBasic(dpi, coords, format, args, colour, TextAlignment::CENTRE); } -void gfx_draw_string_right( - rct_drawpixelinfo* dpi, rct_string_id format, void* args, uint8_t colour, const ScreenCoordsXY& coords) -{ - DrawTextBasic(dpi, coords, format, args, colour, TextAlignment::RIGHT); -} - // Wrapping int32_t gfx_draw_string_left_wrapped( rct_drawpixelinfo* dpi, void* args, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, uint8_t colour)