diff --git a/src/localisation/localisation.c b/src/localisation/localisation.c index 898915d4c8..96135fb0c7 100644 --- a/src/localisation/localisation.c +++ b/src/localisation/localisation.c @@ -1106,7 +1106,7 @@ void format_string_part(utf8 **dest, rct_string_id format, char **args) *args += (format & 0xC00) >> 9; format &= ~0xC00; - strcpy(*dest, RCT2_ADDRESS(0x135A8F4 + (format * 32), char)); + safe_strcpy(*dest, &gUserStrings[format * 32], 32); *dest = strchr(*dest, 0) + 1; } else if (format < 0xE000) { // Real name diff --git a/src/localisation/localisation.h b/src/localisation/localisation.h index 216ffd357b..cf4ac6ad06 100644 --- a/src/localisation/localisation.h +++ b/src/localisation/localisation.h @@ -61,7 +61,7 @@ wchar_t encoding_convert_big5_to_unicode(wchar_t big5); extern const char real_name_initials[16]; extern const char *real_names[1024]; -extern utf8 *gUserStrings; +extern utf8 gUserStrings[MAX_USER_STRINGS * USER_STRING_MAX_LENGTH]; extern char gCommonStringFormatBuffer[256]; extern uint8 gCommonFormatArgs[80]; extern uint8 gMapTooltipFormatArgs[40]; diff --git a/src/localisation/user.c b/src/localisation/user.c index 2fa1f47dd4..b33b425b70 100644 --- a/src/localisation/user.c +++ b/src/localisation/user.c @@ -14,14 +14,13 @@ *****************************************************************************/ #pragma endregion -#include "../addresses.h" #include "../game.h" #include "../ride/ride.h" #include "../util/util.h" #include "localisation.h" #include "user.h" -utf8 *gUserStrings = RCT2_ADDRESS(0x0135A8F4, char); +utf8 gUserStrings[MAX_USER_STRINGS * USER_STRING_MAX_LENGTH]; static bool user_string_exists(const utf8 *text);