From d23d95b9129c0f0b90718630d9d136042821d026 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 8 Nov 2014 22:35:58 -0500 Subject: ACCESS: Fix display of cutscene at the end of chapter 3 --- engines/access/amazon/amazon_game.cpp | 4 ++-- engines/access/amazon/amazon_scripts.cpp | 7 +++---- engines/access/files.cpp | 8 ++------ engines/access/files.h | 2 +- engines/access/martian/martian_game.cpp | 4 ++-- engines/access/screen.cpp | 5 +++-- engines/access/scripts.cpp | 9 ++++++--- 7 files changed, 19 insertions(+), 20 deletions(-) (limited to 'engines') 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 _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(); -- cgit v1.2.3