diff --git a/src/openrct2.c b/src/openrct2.c index 0579ccf3bc..58aaeb948d 100644 --- a/src/openrct2.c +++ b/src/openrct2.c @@ -283,13 +283,16 @@ void openrct2_launch() switch (gOpenRCT2StartupAction) { case STARTUP_ACTION_INTRO: gIntroState = INTRO_STATE_PUBLISHER_BEGIN; + title_load(); break; case STARTUP_ACTION_TITLE: - gScreenFlags = SCREEN_FLAGS_TITLE_DEMO; + title_load(); break; case STARTUP_ACTION_OPEN: assert(gOpenRCT2StartupActionPath != NULL); if (!rct2_open_file(gOpenRCT2StartupActionPath)) { + fprintf(stderr, "Failed to load '%s'", gOpenRCT2StartupActionPath); + title_load(); break; } @@ -315,7 +318,9 @@ void openrct2_launch() if (strlen(gOpenRCT2StartupActionPath) == 0) { editor_load(); } else { - editor_load_landscape(gOpenRCT2StartupActionPath); + if (!editor_load_landscape(gOpenRCT2StartupActionPath)) { + title_load(); + } } break; } diff --git a/src/rct2.c b/src/rct2.c index 0effa52fe1..87b8ef3e61 100644 --- a/src/rct2.c +++ b/src/rct2.c @@ -192,10 +192,6 @@ bool rct2_init() window_guest_list_init_vars_b(); window_staff_list_init_vars(); - if (!gOpenRCT2Headless) { - title_load(); - } - log_verbose("initialising game finished"); return true; }