diff options
author | Paul Gilbert | 2014-11-29 12:19:41 -0500 |
---|---|---|
committer | Paul Gilbert | 2014-12-12 22:53:09 -0500 |
commit | d37593d5c1008995b292a62f473a2a8dfa322cc1 (patch) | |
tree | c4d2eaaa3cfde50377d7f3533da994942c0e6870 /engines/access/amazon | |
parent | a8e111fae4b492c8478dd4eab239a7fa622b8833 (diff) | |
download | scummvm-rg350-d37593d5c1008995b292a62f473a2a8dfa322cc1.tar.gz scummvm-rg350-d37593d5c1008995b292a62f473a2a8dfa322cc1.tar.bz2 scummvm-rg350-d37593d5c1008995b292a62f473a2a8dfa322cc1.zip |
ACCESS: Replaced delayMilli calls to use pollEventsAndWait
Diffstat (limited to 'engines/access/amazon')
-rw-r--r-- | engines/access/amazon/amazon_logic.cpp | 61 |
1 files changed, 26 insertions, 35 deletions
diff --git a/engines/access/amazon/amazon_logic.cpp b/engines/access/amazon/amazon_logic.cpp index 8db7e9f785..c62ca5786e 100644 --- a/engines/access/amazon/amazon_logic.cpp +++ b/engines/access/amazon/amazon_logic.cpp @@ -284,14 +284,14 @@ void Opening::doTitle() { _vm->_screen->forceFadeIn(); _vm->_sound->playSound(1); - // HACK: This delay has been added so that the very first screen is visible. - // The original was using disk loading time to display it, and it's too fast + // WORKAROUND: This delay has been added to replace original game delay that + // came from loading resources, since nowadays it would be too fast to be visible // nowadays to be visible. _vm->_events->_vbCount = 70; - while (!_vm->shouldQuit() && _vm->_events->_vbCount > 0) { - _vm->_events->pollEvents(); - g_system->delayMillis(10); - } + while (!_vm->shouldQuit() && _vm->_events->_vbCount > 0) + _vm->_events->pollEventsAndWait(); + if (_vm->shouldQuit()) + return; Resource *spriteData = _vm->_files->loadFile(0, 2); _vm->_objectsTable[0] = new SpriteResource(_vm, spriteData); @@ -308,7 +308,7 @@ void Opening::doTitle() { _vm->_sound->playSound(1); const int COUNTDOWN[6] = { 2, 0x80, 1, 0x7d, 0, 0x87 }; - for (_pCount = 0; _pCount < 3; ++_pCount) { + for (_pCount = 0; _pCount < 3 && !_vm->shouldQuit(); ++_pCount) { _vm->_buffer2.copyFrom(_vm->_buffer1); int id = COUNTDOWN[_pCount * 2]; int xp = COUNTDOWN[_pCount * 2 + 1]; @@ -316,19 +316,19 @@ void Opening::doTitle() { _vm->_screen->copyFrom(_vm->_buffer2); _vm->_events->_vbCount = 70; - while (!_vm->shouldQuit() && _vm->_events->_vbCount > 0) { - _vm->_events->pollEvents(); - g_system->delayMillis(10); - } + while (!_vm->shouldQuit() && _vm->_events->_vbCount > 0) + _vm->_events->pollEventsAndWait(); } + if (_vm->shouldQuit()) + return; _vm->_sound->playSound(0); _vm->_screen->forceFadeOut(); _vm->_events->_vbCount = 100; - while (!_vm->shouldQuit() && _vm->_events->_vbCount > 0) { - _vm->_events->pollEvents(); - g_system->delayMillis(10); - } + while (!_vm->shouldQuit() && _vm->_events->_vbCount > 0) + _vm->_events->pollEventsAndWait(); + if (_vm->shouldQuit()) + return; _vm->_sound->freeSounds(); delete _vm->_objectsTable[0]; @@ -342,8 +342,7 @@ void Opening::doTitle() { _vm->_sound->newMusic(1, 0); _vm->_events->_vbCount = 700; while (!_vm->shouldQuit() && (_vm->_events->_vbCount > 0) && !_vm->_events->isKeyMousePressed()) { - _vm->_events->pollEvents(); - g_system->delayMillis(10); + _vm->_events->pollEventsAndWait(); } if (_vm->_events->_rightButton) { @@ -397,17 +396,14 @@ void Opening::doTitle() { ++_pCount; while (!_vm->shouldQuit() && (_vm->_events->_vbCount > 0)) { - _vm->_events->pollEvents(); - g_system->delayMillis(10); + _vm->_events->pollEventsAndWait(); } continue; } _vm->_events->_vbCount = 120; - while (!_vm->shouldQuit() && (_vm->_events->_vbCount > 0)) { - _vm->_events->pollEvents(); - g_system->delayMillis(10); - } + while (!_vm->shouldQuit() && (_vm->_events->_vbCount > 0)) + _vm->_events->pollEventsAndWait(); while (!_vm->shouldQuit()) { _pCount = 0; @@ -435,10 +431,8 @@ void Opening::doTitle() { } } scrollTitle(); - while (!_vm->shouldQuit() && (_vm->_events->_vbCount > 0)) { - _vm->_events->pollEvents(); - g_system->delayMillis(10); - } + while (!_vm->shouldQuit() && (_vm->_events->_vbCount > 0)) + _vm->_events->pollEventsAndWait(); } } } @@ -481,8 +475,7 @@ void Opening::doTent() { } } - g_system->delayMillis(10); - _vm->_events->pollEvents(); + _vm->_events->pollEventsAndWait(); } _vm->_sound->playSound(5); @@ -498,15 +491,13 @@ void Opening::doTent() { } } - g_system->delayMillis(10); - _vm->_events->pollEvents(); + _vm->_events->pollEventsAndWait(); } _vm->_events->_vbCount = 200; - while (!_vm->shouldQuit() && _vm->_events->_vbCount > 0) { - _vm->_events->pollEvents(); - g_system->delayMillis(10); - } + while (!_vm->shouldQuit() && _vm->_events->_vbCount > 0) + _vm->_events->pollEventsAndWait(); + _vm->_events->showCursor(); _vm->_sound->newMusic(11, 1); _vm->_sound->_soundTable.clear(); |