diff --git a/src/openrct2-ui/windows/ClearScenery.cpp b/src/openrct2-ui/windows/ClearScenery.cpp index dd54ca2a75..9d3bb975b1 100644 --- a/src/openrct2-ui/windows/ClearScenery.cpp +++ b/src/openrct2-ui/windows/ClearScenery.cpp @@ -88,7 +88,7 @@ rct_window* window_clear_scenery_open() window_push_others_below(window); gLandToolSize = 2; - gClearSceneryCost = MONEY32_UNDEFINED; + gClearSceneryCost = MONEY64_UNDEFINED; gClearSmallScenery = true; gClearLargeScenery = false; @@ -227,11 +227,12 @@ static void window_clear_scenery_paint(rct_window* w, rct_drawpixelinfo* dpi) } // Draw cost amount - if (gClearSceneryCost != MONEY32_UNDEFINED && gClearSceneryCost != 0 && !(gParkFlags & PARK_FLAGS_NO_MONEY)) + if (gClearSceneryCost != MONEY64_UNDEFINED && gClearSceneryCost != 0 && !(gParkFlags & PARK_FLAGS_NO_MONEY)) { - money64 value = gClearSceneryCost; + auto ft = Formatter(); + ft.Add(gClearSceneryCost); screenCoords.x = window_clear_scenery_widgets[WIDX_PREVIEW].midX() + w->windowPos.x; screenCoords.y = window_clear_scenery_widgets[WIDX_PREVIEW].bottom + w->windowPos.y + 5 + 27; - DrawTextBasic(dpi, screenCoords, STR_COST_AMOUNT, &value, { TextAlignment::CENTRE }); + DrawTextBasic(dpi, screenCoords, STR_COST_AMOUNT, ft, { TextAlignment::CENTRE }); } } diff --git a/src/openrct2-ui/windows/TopToolbar.cpp b/src/openrct2-ui/windows/TopToolbar.cpp index 64360e9255..c4a68fbec0 100644 --- a/src/openrct2-ui/windows/TopToolbar.cpp +++ b/src/openrct2-ui/windows/TopToolbar.cpp @@ -1997,9 +1997,9 @@ static uint8_t top_toolbar_tool_update_land_paint(const ScreenCoordsXY& screenPo if (!mapTile) { - if (gClearSceneryCost != MONEY32_UNDEFINED) + if (gClearSceneryCost != MONEY64_UNDEFINED) { - gClearSceneryCost = MONEY32_UNDEFINED; + gClearSceneryCost = MONEY64_UNDEFINED; window_invalidate_by_class(WC_CLEAR_SCENERY); } return state_changed; @@ -2067,7 +2067,7 @@ static void top_toolbar_tool_update_scenery_clear(const ScreenCoordsXY& screenPo auto action = GetClearAction(); auto result = GameActions::Query(&action); - auto cost = (result->Error == GameActions::Status::Ok ? result->Cost : MONEY32_UNDEFINED); + auto cost = (result->Error == GameActions::Status::Ok ? result->Cost : MONEY64_UNDEFINED); if (gClearSceneryCost != cost) { gClearSceneryCost = cost; diff --git a/src/openrct2/world/Scenery.cpp b/src/openrct2/world/Scenery.cpp index 242deb34b6..9e14c4c36f 100644 --- a/src/openrct2/world/Scenery.cpp +++ b/src/openrct2/world/Scenery.cpp @@ -51,7 +51,7 @@ int16_t gSceneryShiftPressZOffset; int16_t gSceneryCtrlPressed; int16_t gSceneryCtrlPressZ; -money32 gClearSceneryCost; +money64 gClearSceneryCost; static std::vector _restrictedScenery; diff --git a/src/openrct2/world/Scenery.h b/src/openrct2/world/Scenery.h index 7809f753cb..68d33120f3 100644 --- a/src/openrct2/world/Scenery.h +++ b/src/openrct2/world/Scenery.h @@ -277,7 +277,7 @@ extern int16_t gSceneryCtrlPressZ; extern const CoordsXY SceneryQuadrantOffsets[]; -extern money32 gClearSceneryCost; +extern money64 gClearSceneryCost; void init_scenery(); void scenery_update_tile(const CoordsXY& sceneryPos);