From ba1101e012e9337dae92d55e45ebfeaf0cc4df74 Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Thu, 3 Sep 2015 11:08:23 +0200 Subject: [PATCH 1/2] Check if the game is in title sequence mode before loading it, fixes #1870 --- src/title.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/title.c b/src/title.c index f91f5a53ea..a0cfce34fa 100644 --- a/src/title.c +++ b/src/title.c @@ -646,6 +646,9 @@ static uint8 *title_script_load() bool title_refresh_sequence() { + if(RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) != SCREEN_FLAGS_TITLE_DEMO) + return; + _scriptCurrentPreset = gCurrentPreviewTitleSequence; title_sequence *title = &gConfigTitleSequences.presets[_scriptCurrentPreset]; From 2729531e0e765e707d70682391fee1baa8974e1e Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Thu, 3 Sep 2015 13:13:50 +0200 Subject: [PATCH 2/2] Cleaner fix --- src/title.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/title.c b/src/title.c index a0cfce34fa..bd35c33840 100644 --- a/src/title.c +++ b/src/title.c @@ -646,9 +646,6 @@ static uint8 *title_script_load() bool title_refresh_sequence() { - if(RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) != SCREEN_FLAGS_TITLE_DEMO) - return; - _scriptCurrentPreset = gCurrentPreviewTitleSequence; title_sequence *title = &gConfigTitleSequences.presets[_scriptCurrentPreset]; @@ -719,8 +716,11 @@ bool title_refresh_sequence() _scriptWaitCounter = 0; gTitleScriptCommand = -1; gTitleScriptSave = 0xFF; - title_update_showcase(); - gfx_invalidate_screen(); + + if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) == SCREEN_FLAGS_TITLE_DEMO) { + title_update_showcase(); + gfx_invalidate_screen(); + } return true; } @@ -738,8 +738,12 @@ bool title_refresh_sequence() gCurrentPreviewTitleSequence = 0; window_invalidate_by_class(WC_OPTIONS); window_invalidate_by_class(WC_TITLE_EDITOR); - title_update_showcase(); - gfx_invalidate_screen(); + + if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) == SCREEN_FLAGS_TITLE_DEMO) { + title_update_showcase(); + gfx_invalidate_screen(); + } + return false; }