diff options
author | Paul Gilbert | 2014-11-08 22:35:58 -0500 |
---|---|---|
committer | Paul Gilbert | 2014-12-12 22:25:34 -0500 |
commit | d23d95b9129c0f0b90718630d9d136042821d026 (patch) | |
tree | f2bcc9e692c6ae33dd198ae9d6821252b614f6f6 /engines/access | |
parent | aea906f7d3c8959337c24ee4507bb245d9f5f744 (diff) | |
download | scummvm-rg350-d23d95b9129c0f0b90718630d9d136042821d026.tar.gz scummvm-rg350-d23d95b9129c0f0b90718630d9d136042821d026.tar.bz2 scummvm-rg350-d23d95b9129c0f0b90718630d9d136042821d026.zip |
ACCESS: Fix display of cutscene at the end of chapter 3
Diffstat (limited to 'engines/access')
-rw-r--r-- | engines/access/amazon/amazon_game.cpp | 4 | ||||
-rw-r--r-- | engines/access/amazon/amazon_scripts.cpp | 7 | ||||
-rw-r--r-- | engines/access/files.cpp | 8 | ||||
-rw-r--r-- | engines/access/files.h | 2 | ||||
-rw-r--r-- | engines/access/martian/martian_game.cpp | 4 | ||||
-rw-r--r-- | engines/access/screen.cpp | 5 | ||||
-rw-r--r-- | engines/access/scripts.cpp | 9 |
7 files changed, 19 insertions, 20 deletions
diff --git a/engines/access/amazon/amazon_game.cpp b/engines/access/amazon/amazon_game.cpp index 9801df7f3c..87aa9358cd 100644 --- a/engines/access/amazon/amazon_game.cpp +++ b/engines/access/amazon/amazon_game.cpp @@ -134,7 +134,7 @@ void AmazonEngine::doTitle() { _sound->queueSound(0, 98, 30); _sound->queueSound(1, 98, 8); - _files->_loadPalFlag = false; + _files->_setPaletteFlag = false; _files->loadScreen(0, 3); _buffer2.copyFrom(*_screen); @@ -148,7 +148,7 @@ void AmazonEngine::doTitle() { _sound->playSound(1); - _files->_loadPalFlag = false; + _files->_setPaletteFlag = false; _files->loadScreen(0, 4); _sound->playSound(1); diff --git a/engines/access/amazon/amazon_scripts.cpp b/engines/access/amazon/amazon_scripts.cpp index 12902081b7..bb17f86f49 100644 --- a/engines/access/amazon/amazon_scripts.cpp +++ b/engines/access/amazon/amazon_scripts.cpp @@ -531,7 +531,7 @@ void AmazonScripts::mWhileDoOpen() { delete data; _vm->_objectsTable[1] = spr; - _vm->_files->_loadPalFlag = false; + _vm->_files->_setPaletteFlag = false; _vm->_files->loadScreen(1, 2); _vm->_buffer2.copyFrom(*_vm->_screen); _vm->_buffer1.copyFrom(*_vm->_screen); @@ -714,14 +714,13 @@ void AmazonScripts::guard() { } void AmazonScripts::loadBackground(int param1, int param2) { - _vm->_files->_loadPalFlag = false; + _vm->_files->_setPaletteFlag = false; _vm->_files->loadScreen(param1, param2); _vm->_buffer2.copyFrom(*_vm->_screen); _vm->_buffer1.copyFrom(*_vm->_screen); - _vm->_screen->forceFadeOut(); - + _vm->_screen->forceFadeIn(); } void AmazonScripts::setInactive() { diff --git a/engines/access/files.cpp b/engines/access/files.cpp index bb8dc57c2c..0705b5d227 100644 --- a/engines/access/files.cpp +++ b/engines/access/files.cpp @@ -92,7 +92,7 @@ FileManager::FileManager(AccessEngine *vm): _vm(vm) { } _fileNumber = -1; - _loadPalFlag = true; + _setPaletteFlag = true; } FileManager::~FileManager() { @@ -144,11 +144,7 @@ void FileManager::loadScreen(Graphics::Surface *dest, int fileNum, int subfile) } void FileManager::handleScreen(Graphics::Surface *dest, Resource *res) { - if (_loadPalFlag) { - _vm->_screen->loadPalette(res->_stream); - } else { - res->_stream->skip(PALETTE_SIZE); - } + _vm->_screen->loadPalette(res->_stream); // The remainder of the file after the palette may be separately compressed, // so call handleFile to handle it if it is diff --git a/engines/access/files.h b/engines/access/files.h index 24e2d88456..f65f2ba8da 100644 --- a/engines/access/files.h +++ b/engines/access/files.h @@ -96,7 +96,7 @@ private: public: int _fileNumber; Common::Array<uint32> _fileIndex; - bool _loadPalFlag; + bool _setPaletteFlag; public: FileManager(AccessEngine *vm); ~FileManager(); diff --git a/engines/access/martian/martian_game.cpp b/engines/access/martian/martian_game.cpp index 1c135930f3..81a8ffdf4d 100644 --- a/engines/access/martian/martian_game.cpp +++ b/engines/access/martian/martian_game.cpp @@ -97,7 +97,7 @@ void MartianEngine::doTitle() { _sound->queueSound(0, 98, 30); - _files->_loadPalFlag = false; + _files->_setPaletteFlag = false; _files->loadScreen(0, 3); _buffer2.copyFrom(*_screen); @@ -111,7 +111,7 @@ void MartianEngine::doTitle() { _sound->playSound(1); - _files->_loadPalFlag = false; + _files->_setPaletteFlag = false; _files->loadScreen(0, 4); _sound->playSound(1); diff --git a/engines/access/screen.cpp b/engines/access/screen.cpp index 17f36fc072..3e0863cc31 100644 --- a/engines/access/screen.cpp +++ b/engines/access/screen.cpp @@ -101,8 +101,9 @@ void Screen::setInitialPalettte() { void Screen::loadPalette(Common::SeekableReadStream *stream) { loadRawPalette(stream); - setPalette(); - _vm->_files->_loadPalFlag = true; + if (_vm->_files->_setPaletteFlag) + setPalette(); + _vm->_files->_setPaletteFlag = true; } void Screen::loadPalette(int fileNum, int subfile) { diff --git a/engines/access/scripts.cpp b/engines/access/scripts.cpp index 72fc35dc3f..081fc65f0c 100644 --- a/engines/access/scripts.cpp +++ b/engines/access/scripts.cpp @@ -748,6 +748,9 @@ void Scripts::cmdPlayVideoSound() { _vm->_sound->playSound(0); _vm->_video->_soundFlag = true; } + + _vm->_events->pollEvents(); + g_system->delayMillis(10); } void Scripts::CMDPUSHLOCATION() { error("TODO CMDPUSHLOCATION"); } @@ -773,9 +776,9 @@ void Scripts::cmdDead() { if (deathId != 10) { _vm->_sound->newMusic(62, 0); - _vm->_files->_loadPalFlag = false; + _vm->_files->_setPaletteFlag = false; _vm->_files->loadScreen(94, 0); - _vm->_files->_loadPalFlag = true; + _vm->_files->_setPaletteFlag = true; _vm->_buffer2.copyFrom(*_vm->_screen); for (int i = 0; i < 3; ++i) { @@ -793,7 +796,7 @@ void Scripts::cmdDead() { _vm->loadCells(cells); _vm->_screen->setDisplayScan(); - _vm->_files->_loadPalFlag = false; + _vm->_files->_setPaletteFlag = false; _vm->_files->loadScreen(&_vm->_buffer2, 94, 1); _vm->_screen->setIconPalette(); |