aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2014-11-08 22:35:58 -0500
committerPaul Gilbert2014-12-12 22:25:34 -0500
commitd23d95b9129c0f0b90718630d9d136042821d026 (patch)
treef2bcc9e692c6ae33dd198ae9d6821252b614f6f6 /engines
parentaea906f7d3c8959337c24ee4507bb245d9f5f744 (diff)
downloadscummvm-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')
-rw-r--r--engines/access/amazon/amazon_game.cpp4
-rw-r--r--engines/access/amazon/amazon_scripts.cpp7
-rw-r--r--engines/access/files.cpp8
-rw-r--r--engines/access/files.h2
-rw-r--r--engines/access/martian/martian_game.cpp4
-rw-r--r--engines/access/screen.cpp5
-rw-r--r--engines/access/scripts.cpp9
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();