mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-04 13:42:55 +01:00
add pointer variables for scenario name and details
This commit is contained in:
@@ -92,7 +92,7 @@ void editor_load()
|
||||
gfx_invalidate_screen();
|
||||
gScreenAge = 0;
|
||||
|
||||
safe_strcpy((char*)RCT2_ADDRESS_SCENARIO_NAME, language_get_string(2749), 0x40);
|
||||
safe_strcpy(gScenarioName, language_get_string(2749), 64);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -120,8 +120,8 @@ void editor_convert_save_to_scenario_callback(int result)
|
||||
gParkFlags &= ~PARK_FLAGS_NO_MONEY_SCENARIO;
|
||||
gParkFlags |= PARK_FLAGS_NO_MONEY;
|
||||
|
||||
safe_strcpy(s6Info->name, (const char*)RCT2_ADDRESS_SCENARIO_NAME, 64);
|
||||
safe_strcpy(s6Info->details, (const char*)RCT2_ADDRESS_SCENARIO_DETAILS, 256);
|
||||
safe_strcpy(s6Info->name, gScenarioName, 64);
|
||||
safe_strcpy(s6Info->details, gScenarioDetails, 256);
|
||||
s6Info->objective_type = gScenarioObjectiveType;
|
||||
s6Info->objective_arg_1 = gScenarioObjectiveYear;
|
||||
s6Info->objective_arg_2 = gScenarioObjectiveCurrency;
|
||||
|
||||
@@ -680,8 +680,8 @@ void game_convert_strings_to_utf8()
|
||||
{
|
||||
// Scenario details
|
||||
rct2_to_utf8_self(RCT2_ADDRESS(RCT2_ADDRESS_SCENARIO_COMPLETED_BY, char), 32);
|
||||
rct2_to_utf8_self(RCT2_ADDRESS(RCT2_ADDRESS_SCENARIO_NAME, char), 64);
|
||||
rct2_to_utf8_self(RCT2_ADDRESS(RCT2_ADDRESS_SCENARIO_DETAILS, char), 256);
|
||||
rct2_to_utf8_self(gScenarioName, 64);
|
||||
rct2_to_utf8_self(gScenarioDetails, 256);
|
||||
|
||||
// User strings
|
||||
for (int i = 0; i < MAX_USER_STRINGS; i++) {
|
||||
|
||||
@@ -61,6 +61,8 @@ const rct_string_id ScenarioCategoryStringIds[SCENARIO_CATEGORY_COUNT] = {
|
||||
static char _scenarioPath[MAX_PATH];
|
||||
static const char *_scenarioFileName = "";
|
||||
|
||||
char *gScenarioName = RCT2_ADDRESS(RCT2_ADDRESS_SCENARIO_NAME, char);
|
||||
char *gScenarioDetails = RCT2_ADDRESS(RCT2_ADDRESS_SCENARIO_DETAILS, char);
|
||||
char gScenarioSavePath[MAX_PATH];
|
||||
int gFirstTimeSave = 1;
|
||||
uint32 gLastAutoSaveTick = 0;
|
||||
@@ -285,8 +287,8 @@ void scenario_begin()
|
||||
|
||||
finance_update_loan_hash();
|
||||
|
||||
safe_strcpy((char*)RCT2_ADDRESS_SCENARIO_DETAILS, s6Info->details, 256);
|
||||
safe_strcpy((char*)RCT2_ADDRESS_SCENARIO_NAME, s6Info->name, 64);
|
||||
safe_strcpy(gScenarioDetails, s6Info->details, 256);
|
||||
safe_strcpy(gScenarioName, s6Info->name, 64);
|
||||
|
||||
{
|
||||
utf8 normalisedName[64];
|
||||
@@ -296,13 +298,13 @@ void scenario_begin()
|
||||
rct_string_id localisedStringIds[3];
|
||||
if (language_get_localised_scenario_strings(normalisedName, localisedStringIds)) {
|
||||
if (localisedStringIds[0] != STR_NONE) {
|
||||
safe_strcpy((char*)RCT2_ADDRESS_SCENARIO_NAME, language_get_string(localisedStringIds[0]), 32);
|
||||
safe_strcpy(gScenarioName, language_get_string(localisedStringIds[0]), 32);
|
||||
}
|
||||
if (localisedStringIds[1] != STR_NONE) {
|
||||
park_set_name(language_get_string(localisedStringIds[1]));
|
||||
}
|
||||
if (localisedStringIds[2] != STR_NONE) {
|
||||
safe_strcpy((char*)RCT2_ADDRESS_SCENARIO_DETAILS, language_get_string(localisedStringIds[2]), 256);
|
||||
safe_strcpy(gScenarioDetails, language_get_string(localisedStringIds[2]), 256);
|
||||
}
|
||||
} else {
|
||||
rct_stex_entry* stex = g_stexEntries[0];
|
||||
@@ -315,13 +317,11 @@ void scenario_begin()
|
||||
|
||||
// Set localised scenario name
|
||||
format_string(buffer, stex->scenario_name, 0);
|
||||
safe_strcpy((char*)RCT2_ADDRESS_SCENARIO_NAME, buffer, 31);
|
||||
((char*)RCT2_ADDRESS_SCENARIO_NAME)[31] = '\0';
|
||||
safe_strcpy(gScenarioName, buffer, 64);
|
||||
|
||||
// Set localised scenario details
|
||||
format_string(buffer, stex->details, 0);
|
||||
safe_strcpy((char*)RCT2_ADDRESS_SCENARIO_DETAILS, buffer, 255);
|
||||
((char*)RCT2_ADDRESS_SCENARIO_DETAILS)[255] = '\0';
|
||||
safe_strcpy(gScenarioDetails, buffer, 256);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -471,6 +471,8 @@ extern int gScenarioListCount;
|
||||
extern int gScenarioListCapacity;
|
||||
extern scenario_index_entry *gScenarioList;
|
||||
|
||||
extern char *gScenarioName;
|
||||
extern char *gScenarioDetails;
|
||||
extern char gScenarioSavePath[MAX_PATH];
|
||||
extern int gFirstTimeSave;
|
||||
extern uint32 gLastAutoSaveTick;
|
||||
|
||||
@@ -1747,7 +1747,7 @@ static void window_park_objective_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
// Scenario description
|
||||
x = w->x + window_park_objective_widgets[WIDX_PAGE_BACKGROUND].left + 4;
|
||||
y = w->y + window_park_objective_widgets[WIDX_PAGE_BACKGROUND].top + 7;
|
||||
safe_strcpy((char*)0x009BC677, RCT2_ADDRESS(RCT2_ADDRESS_SCENARIO_DETAILS, char), 256);
|
||||
safe_strcpy((char*)0x009BC677, gScenarioDetails, 256);
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, short) = 3165;
|
||||
y += gfx_draw_string_left_wrapped(dpi, (void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS, x, y, 222, 1191, 0);
|
||||
y += 5;
|
||||
|
||||
Reference in New Issue
Block a user