ACCESS: Fix display of cutscene at the end of chapter 3

This commit is contained in:
Paul Gilbert 2014-11-08 22:35:58 -05:00
parent aea906f7d3
commit d23d95b912
7 changed files with 19 additions and 20 deletions

View File

@ -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);

View File

@ -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() {

View File

@ -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

View File

@ -96,7 +96,7 @@ private:
public:
int _fileNumber;
Common::Array<uint32> _fileIndex;
bool _loadPalFlag;
bool _setPaletteFlag;
public:
FileManager(AccessEngine *vm);
~FileManager();

View File

@ -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);

View File

@ -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) {

View File

@ -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();