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
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 22 additions and 8 deletions

View File

@ -1737,12 +1737,12 @@ STR_2382 :Land
STR_2383 :Water
STR_2384 :{WINDOW_COLOUR_2}Your objective:
STR_2385 :{BLACK}None
STR_2386 :{BLACK}To have at least {COMMA16} guests in your park at the end of {MONTHYEAR}, with a park rating of at least 600
STR_2386 :{BLACK}To have at least {COMMA32} guests in your park at the end of {MONTHYEAR}, with a park rating of at least 600
STR_2387 :{BLACK}To achieve a park value of at least {POP16}{POP16}{CURRENCY} at the end of {PUSH16}{PUSH16}{PUSH16}{PUSH16}{PUSH16}{MONTHYEAR}
STR_2388 :{BLACK}Have Fun!
STR_2389 :{BLACK}Build the best {STRINGID} you can!
STR_2390 :{BLACK}To have 10 different types of roller coasters operating in your park, each with an excitement value of at least 6.00
STR_2391 :{BLACK}To have at least {COMMA16} guests in your park. You must not let the park rating drop below 700 at any time!
STR_2391 :{BLACK}To have at least {COMMA32} guests in your park. You must not let the park rating drop below 700 at any time!
STR_2392 :{BLACK}To achieve a monthly income from ride tickets of at least {POP16}{POP16}{CURRENCY}
STR_2393 :{BLACK}To have 10 different types of roller coasters operating in your park, each with a minimum length of {LENGTH}, and an excitement rating of at least 7.00
STR_2394 :{BLACK}To finish building all 5 of the partially built roller coasters in this park, designing them to achieve excitement ratings of at least {POP16}{POP16}{COMMA2DP32} each
@ -2323,7 +2323,7 @@ STR_3305 :{WINDOW_COLOUR_2}Monthly income:
STR_3306 :{WINDOW_COLOUR_2}Monthly profit:
STR_3307 :{WINDOW_COLOUR_2}Minimum length:
STR_3308 :{WINDOW_COLOUR_2}Excitement rating:
STR_3309 :{WINDOW_COLOUR_2}{COMMA16}
STR_3309 :{WINDOW_COLOUR_2}{COMMA32}
STR_3310 :{WINDOW_COLOUR_2}{LENGTH}
STR_3311 :{WINDOW_COLOUR_2}{COMMA2DP32}
STR_3312 :{WINDOW_COLOUR_2}Rides/attractions under a preservation order:

View File

@ -3,6 +3,7 @@
- Improved: [#21424] Extra viewports can now rotate independently from the main viewport.
- Change: [#21529] Classify “Southern Sands”, “Tiny Towers”, “Nevermore Park”, “Pacifica” as expert scenarios.
- Fix: [#910] Extra viewport does not preserve the location when rotating.
- Fix: [#21434] Number of guests overflows in objective text.
- Fix: [#21543] Crash with creating a TrackIterator with invalid arguments.
0.4.9 (2024-03-02)

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,