diff options
-rw-r--r-- | simon/simon.cpp | 16 | ||||
-rw-r--r-- | simon/simon.h | 1 |
2 files changed, 10 insertions, 7 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp index 3e0aa35acc..73d09231e2 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -2471,20 +2471,22 @@ void SimonState::o_wait_for_vga(uint a) _vga_wait_for = a; _timer_1 = 0; _exit_cutscene = false; + _skip_speech = false; _system->show_mouse(false); while (_vga_wait_for != 0) { - if (_exit_cutscene) { - if (vc_get_bit(9)) { - _system->show_mouse(true); - startSubroutine170(); - break; - } + if (_skip_speech) { if (_game & GAME_SIMON2) { if (_vga_wait_for == 200 && !vc_get_bit(14)) { skip_speech(); break; } } + } else if (_exit_cutscene) { + if (vc_get_bit(9)) { + _system->show_mouse(true); + startSubroutine170(); + break; + } } else { processSpecialKeys(); } @@ -4599,7 +4601,7 @@ void SimonState::delay(uint amount) break; case OSystem::EVENT_RBUTTONDOWN: - _exit_cutscene = true; + _skip_speech = true; break; } } diff --git a/simon/simon.h b/simon/simon.h index 52b158742c..58caa6ac5d 100644 --- a/simon/simon.h +++ b/simon/simon.h @@ -242,6 +242,7 @@ public: bool _video_var_3; bool _unk_pal_flag; bool _exit_cutscene; + bool _skip_speech; byte _video_var_9; uint _last_music_played; |