1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-19 13:03:11 +01:00

Fix #21434: Number of guests overflows in objective text

This commit is contained in:
Jan Kelemen
2024-03-14 19:49:57 +01:00
committed by GitHub
parent b69db13de3
commit 9bb678688e
6 changed files with 22 additions and 8 deletions

View File

@@ -927,8 +927,8 @@ static uint64_t window_editor_objective_options_page_hold_down_widgets[] = {
{
case OBJECTIVE_GUESTS_BY:
case OBJECTIVE_GUESTS_AND_RATING:
stringId = STR_WINDOW_COLOUR_2_COMMA16;
ft.Add<uint16_t>(gameState.ScenarioObjective.NumGuests);
stringId = STR_WINDOW_COLOUR_2_COMMA32;
ft.Add<int32_t>(gameState.ScenarioObjective.NumGuests);
break;
case OBJECTIVE_PARK_VALUE_BY:
case OBJECTIVE_REPAY_LOAN_AND_PARK_VALUE:

View File

@@ -2015,7 +2015,7 @@ static Widget *window_options_page_widgets[] = {
DrawTextBasic(
dpi,
windowPos + ScreenCoordsXY{ widgets[WIDX_AUTOSAVE_AMOUNT].left + 1, widgets[WIDX_AUTOSAVE_AMOUNT].top + 1 },
STR_WINDOW_COLOUR_2_COMMA16, ft, { colours[1] });
STR_WINDOW_COLOUR_2_COMMA32, ft, { colours[1] });
const auto normalisedPath = Platform::StrDecompToPrecomp(gConfigGeneral.RCT1Path);
ft = Formatter();

View File

@@ -1102,9 +1102,22 @@ static constexpr WindowParkAward _parkAwards[] = {
}
ft.Add<StringId>(rideTypeString);
}
else if (gameState.ScenarioObjective.Type == OBJECTIVE_GUESTS_BY)
{
ft.Add<int32_t>(gameState.ScenarioObjective.NumGuests);
ft.Add<int16_t>(DateGetTotalMonths(MONTH_OCTOBER, gameState.ScenarioObjective.Year));
}
else if (gameState.ScenarioObjective.Type == OBJECTIVE_GUESTS_AND_RATING)
{
ft.Add<int32_t>(gameState.ScenarioObjective.NumGuests);
}
else if (gameState.ScenarioObjective.Type == OBJECTIVE_10_ROLLERCOASTERS_LENGTH)
{
ft.Add<int16_t>(gameState.ScenarioObjective.MinimumLength);
}
else
{
ft.Add<uint16_t>(gameState.ScenarioObjective.NumGuests);
ft.Add<int16_t>(0); // Unused value by other objective messages
ft.Add<int16_t>(DateGetTotalMonths(MONTH_OCTOBER, gameState.ScenarioObjective.Year));
if (gameState.ScenarioObjective.Type == OBJECTIVE_FINISH_5_ROLLERCOASTERS)
ft.Add<uint16_t>(gameState.ScenarioObjective.MinimumExcitement);

View File

@@ -2478,7 +2478,7 @@ enum : uint16_t
STR_WINDOW_OBJECTIVE_MONTHLY_PROFIT = 3306,
STR_WINDOW_OBJECTIVE_MINIMUM_LENGTH = 3307,
STR_WINDOW_OBJECTIVE_EXCITEMENT_RATING = 3308,
STR_WINDOW_COLOUR_2_COMMA16 = 3309,
STR_WINDOW_COLOUR_2_COMMA32 = 3309,
STR_WINDOW_COLOUR_2_LENGTH = 3310,
STR_WINDOW_COLOUR_2_COMMA2DP32 = 3311,
STR_WINDOW_PRESERVATION_ORDER = 3312,