diff --git a/src/interface/viewport.c b/src/interface/viewport.c index 2de979fd05..e300d9487d 100644 --- a/src/interface/viewport.c +++ b/src/interface/viewport.c @@ -1489,7 +1489,7 @@ void viewport_park_entrance_paint_setup(uint8 direction, int height, rct_map_ele if (gParkFlags & PARK_FLAGS_PARK_OPEN){ RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, rct_string_id) = gParkName; - RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, rct_string_id) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, rct_string_id); + RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = gParkNameArgs; park_text_id = 1731; } diff --git a/src/interface/viewport_interaction.c b/src/interface/viewport_interaction.c index 7a7bf51724..42c0544c65 100644 --- a/src/interface/viewport_interaction.c +++ b/src/interface/viewport_interaction.c @@ -87,7 +87,7 @@ int viewport_interaction_get_item_left(int x, int y, viewport_interaction_info * break; case VIEWPORT_INTERACTION_ITEM_PARK: RCT2_GLOBAL(RCT2_ADDRESS_MAP_TOOLTIP_ARGS + 0, uint16) = gParkName; - RCT2_GLOBAL(RCT2_ADDRESS_MAP_TOOLTIP_ARGS + 2, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(RCT2_ADDRESS_MAP_TOOLTIP_ARGS + 2, uint32) = gParkNameArgs; break; default: info->type = VIEWPORT_INTERACTION_ITEM_NONE; diff --git a/src/rct1/S4Importer.cpp b/src/rct1/S4Importer.cpp index 7981fb502f..4c0f5a2e52 100644 --- a/src/rct1/S4Importer.cpp +++ b/src/rct1/S4Importer.cpp @@ -918,7 +918,7 @@ void S4Importer::ImportParkName() if (stringId != 0) { gParkName = stringId; - RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32) = 0; + gParkNameArgs = 0; } } diff --git a/src/scenario.c b/src/scenario.c index 2ab8ad8633..5416ac19d6 100644 --- a/src/scenario.c +++ b/src/scenario.c @@ -328,7 +328,7 @@ void scenario_begin() // Set the last saved game path char parkName[128]; - format_string(parkName, gParkName, (void*)RCT2_ADDRESS_PARK_NAME_ARGS); + format_string(parkName, gParkName, &gParkNameArgs); platform_get_user_directory(gScenarioSavePath, "save"); strncat(gScenarioSavePath, parkName, sizeof(gScenarioSavePath) - strlen(gScenarioSavePath) - 1); @@ -766,7 +766,7 @@ int scenario_prepare_for_save() } if (s6Info->name[0] == 0) - format_string(s6Info->name, gParkName, (void*)RCT2_ADDRESS_PARK_NAME_ARGS); + format_string(s6Info->name, gParkName, &gParkNameArgs); s6Info->objective_type = gScenarioObjectiveType; s6Info->objective_arg_1 = gScenarioObjectiveYear; diff --git a/src/windows/editor_objective_options.c b/src/windows/editor_objective_options.c index 038fec15b6..8740c82da4 100644 --- a/src/windows/editor_objective_options.c +++ b/src/windows/editor_objective_options.c @@ -402,7 +402,7 @@ static void window_editor_objective_options_main_mouseup(rct_window *w, int widg window_editor_objective_options_set_page(w, widgetIndex - WIDX_TAB_1); break; case WIDX_PARK_NAME: - RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 16, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 16, uint32) = gParkNameArgs; window_text_input_open(w, WIDX_PARK_NAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, gParkName, 0, 32); break; case WIDX_SCENARIO_NAME: @@ -782,7 +782,7 @@ static void window_editor_objective_options_main_textinput(rct_window *w, int wi park_set_name(text); if (s6Info->name[0] == 0) - format_string(s6Info->name, gParkName, (void*)RCT2_ADDRESS_PARK_NAME_ARGS); + format_string(s6Info->name, gParkName, &gParkNameArgs); break; case WIDX_SCENARIO_NAME: strncpy(s6Info->name, text, 64); @@ -992,7 +992,7 @@ static void window_editor_objective_options_main_paint(rct_window *w, rct_drawpi } else { RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 0, uint16) = gParkName; } - RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = gParkNameArgs; gfx_draw_string_left_clipped(dpi, 3298, (void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS, 0, x, y, width); // Scenario name @@ -1006,7 +1006,7 @@ static void window_editor_objective_options_main_paint(rct_window *w, rct_drawpi safe_strcpy((char*)0x009BC677, s6Info->name, 64); RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 0, uint16) = 3165; } - RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = gParkNameArgs; gfx_draw_string_left_clipped(dpi, 3300, (void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS, 0, x, y, width); // Scenario details label @@ -1025,7 +1025,7 @@ static void window_editor_objective_options_main_paint(rct_window *w, rct_drawpi safe_strcpy((char*)0x009BC677, s6Info->details, 256); RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 0, uint16) = 3165; } - RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = gParkNameArgs; gfx_draw_string_left_wrapped(dpi, (void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS, x, y, width, 1191, 0); // Scenario category label diff --git a/src/windows/finances.c b/src/windows/finances.c index 501448b50d..85bbf0c753 100644 --- a/src/windows/finances.c +++ b/src/windows/finances.c @@ -1184,7 +1184,7 @@ static void window_finances_marketing_paint(rct_window *w, rct_drawpixelinfo *dp noCampaignsActive = 0; RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, uint16) = gParkName; - RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = gParkNameArgs; // Set special parameters switch (i) { diff --git a/src/windows/guest.c b/src/windows/guest.c index a834de2047..6bfbcc5eab 100644 --- a/src/windows/guest.c +++ b/src/windows/guest.c @@ -2097,7 +2097,7 @@ static rct_string_id window_guest_inventory_format_item(rct_peep *peep, int item RCT2_GLOBAL(args + 0, uint32) = ShopItemImage[item]; RCT2_GLOBAL(args + 4, uint16) = ShopItemStringIds[item].display; RCT2_GLOBAL(args + 6, uint16) = gParkName; - RCT2_GLOBAL(args + 8, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(args + 8, uint32) = gParkNameArgs; // Special overrides switch (item) { @@ -2117,7 +2117,7 @@ static rct_string_id window_guest_inventory_format_item(rct_peep *peep, int item case VOUCHER_TYPE_PARK_ENTRY_FREE: RCT2_GLOBAL(args + 6, uint16) = 2418; RCT2_GLOBAL(args + 8, uint16) = gParkName; - RCT2_GLOBAL(args + 10, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(args + 10, uint32) = gParkNameArgs; break; case VOUCHER_TYPE_RIDE_FREE: ride = get_ride(peep->voucher_arguments); @@ -2128,7 +2128,7 @@ static rct_string_id window_guest_inventory_format_item(rct_peep *peep, int item case VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE: RCT2_GLOBAL(args + 6, uint16) = 2420; RCT2_GLOBAL(args + 8, uint16) = gParkName; - RCT2_GLOBAL(args + 10, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(args + 10, uint32) = gParkNameArgs; break; case VOUCHER_TYPE_FOOD_OR_DRINK_FREE: RCT2_GLOBAL(args + 6, uint16) = 2421; diff --git a/src/windows/park.c b/src/windows/park.c index 413c7f0ce6..191dafa801 100644 --- a/src/windows/park.c +++ b/src/windows/park.c @@ -577,7 +577,7 @@ static void window_park_set_disabled_tabs(rct_window *w) static void window_park_prepare_window_title_text() { RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, uint16) = gParkName; - RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = gParkNameArgs; } #pragma region Entrance page @@ -646,7 +646,7 @@ static void window_park_entrance_mouseup(rct_window *w, int widgetIndex) window_scroll_to_viewport(w); break; case WIDX_RENAME: - RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 16, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 16, uint32) = gParkNameArgs; window_text_input_open(w, WIDX_RENAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, gParkName, 0, 32); break; case WIDX_CLOSE_LIGHT: @@ -950,7 +950,7 @@ static void window_park_entrance_invalidate(rct_window *w) // Set open / close park button state RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, uint16) = gParkName; - RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32); + RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 2, uint32) = gParkNameArgs; window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].image = park_is_open() ? SPR_OPEN : SPR_CLOSED; window_park_entrance_widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + !park_is_open() * 2 + widget_is_pressed(w, WIDX_CLOSE_LIGHT); window_park_entrance_widgets[WIDX_OPEN_LIGHT].image = SPR_G2_RCT1_OPEN_BUTTON_0 + park_is_open() * 2 + widget_is_pressed(w, WIDX_OPEN_LIGHT); diff --git a/src/world/park.c b/src/world/park.c index 0a5743173a..248524130c 100644 --- a/src/world/park.c +++ b/src/world/park.c @@ -899,7 +899,7 @@ void game_command_set_park_name(int *eax, int *ebx, int *ecx, int *edx, int *esi return; } - format_string(oldName, gParkName, &RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32)); + format_string(oldName, gParkName, &gParkNameArgs); if (strcmp(oldName, newName) == 0) { *ebx = 0; return; diff --git a/src/world/park.h b/src/world/park.h index c383f964ab..31a01e616a 100644 --- a/src/world/park.h +++ b/src/world/park.h @@ -49,6 +49,7 @@ enum { }; #define gParkName RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME, rct_string_id) +#define gParkNameArgs RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32) #define gParkFlags RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) #define gParkSize RCT2_GLOBAL(RCT2_ADDRESS_PARK_SIZE, uint16) #define gParkRating RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PARK_RATING, uint16)