diff options
author | Travis Howell | 2007-05-10 00:43:27 +0000 |
---|---|---|
committer | Travis Howell | 2007-05-10 00:43:27 +0000 |
commit | 6452a701be5442736e72cfe77ab1c300a43cc88b (patch) | |
tree | 9f418fdae328b6efa9e01b868dfa3a1988c0f827 /engines | |
parent | f0cd01b5764f702ca5696e4728b102035fb9f0b1 (diff) | |
download | scummvm-rg350-6452a701be5442736e72cfe77ab1c300a43cc88b.tar.gz scummvm-rg350-6452a701be5442736e72cfe77ab1c300a43cc88b.tar.bz2 scummvm-rg350-6452a701be5442736e72cfe77ab1c300a43cc88b.zip |
Fix glitches in pause options of Elvira 1.
svn-id: r26796
Diffstat (limited to 'engines')
-rw-r--r-- | engines/agos/event.cpp | 4 | ||||
-rw-r--r-- | engines/agos/gfx.cpp | 6 | ||||
-rw-r--r-- | engines/agos/script_e1.cpp | 5 | ||||
-rw-r--r-- | engines/agos/script_e2.cpp | 2 | ||||
-rw-r--r-- | engines/agos/subroutine.cpp | 8 |
5 files changed, 16 insertions, 9 deletions
diff --git a/engines/agos/event.cpp b/engines/agos/event.cpp index 579837833d..43468d35f8 100644 --- a/engines/agos/event.cpp +++ b/engines/agos/event.cpp @@ -180,7 +180,11 @@ void AGOSEngine::restartAnimation() { if (!(_lockWord & 0x10)) return; + _window4Flag = 2; + + setMoveRect(0, 0, 224, 127); updateScreen(); + _lockWord &= ~0x10; // Check picture queue diff --git a/engines/agos/gfx.cpp b/engines/agos/gfx.cpp index 2acf2555d8..b1bf3d12e4 100644 --- a/engines/agos/gfx.cpp +++ b/engines/agos/gfx.cpp @@ -1364,9 +1364,9 @@ void AGOSEngine::setWindowImage(uint16 mode, uint16 vga_res_id) { src += srcWidth; } - if (getGameType() == GType_ELVIRA1 && updateWindow == 3 && _bottomPalette != 0) { - dst = getFrontBuf() + 42560; - int size = 21440; + if (getGameType() == GType_ELVIRA1 && updateWindow == 3 && _bottomPalette) { + dst = getFrontBuf() + 133 * _screenWidth; + int size = 67 * _screenWidth; while (size--) { *dst += 0x10; diff --git a/engines/agos/script_e1.cpp b/engines/agos/script_e1.cpp index 3becdc37bf..53479b2c24 100644 --- a/engines/agos/script_e1.cpp +++ b/engines/agos/script_e1.cpp @@ -960,6 +960,7 @@ restart: window->textColumn = 0; window->textRow = 0; window->textColumnOffset = 0; + window->textLength = 0; // Difference switch (_language) { case Common::FR_FRA: @@ -986,6 +987,7 @@ restart: window->textColumn = 0; window->textRow = 0; window->textColumnOffset = 0; + window->textLength = 0; // Difference switch (_language) { case Common::FR_FRA: @@ -1199,11 +1201,12 @@ void AGOSEngine::printScroll() { state.srcPtr = vpe->vgaFile2 + READ_BE_UINT32(vpe->vgaFile2 + 9 * 8); state.palette = 0; + state.paletteMod = 0; state.x = 10; state.y = 32; state.width = state.draw_width = 10; state.height = state.draw_height = 72; - state.flags = kDFCompressed | kDFUseFrontBuf; + state.flags = kDFCompressed; _windowNum = 3; state.depack_cont = -0x80; diff --git a/engines/agos/script_e2.cpp b/engines/agos/script_e2.cpp index 203b95cd5e..d64caef752 100644 --- a/engines/agos/script_e2.cpp +++ b/engines/agos/script_e2.cpp @@ -316,7 +316,7 @@ void AGOSEngine_Elvira2::oe2_pObj() { void AGOSEngine_Elvira2::oe2_loadGame() { // 89: load game uint16 stringId = getNextStringID(); - debug(0, "oe1_loadGame: stub (%s)", (const char *)getStringPtrByID(stringId)); + debug(0, "oe2_loadGame: stub (%s)", (const char *)getStringPtrByID(stringId)); if (!scumm_stricmp(getFileName(GAME_RESTFILE), (const char *)getStringPtrByID(stringId))) { loadGame(getFileName(GAME_RESTFILE), true); diff --git a/engines/agos/subroutine.cpp b/engines/agos/subroutine.cpp index 347aca997a..8bff4e43f8 100644 --- a/engines/agos/subroutine.cpp +++ b/engines/agos/subroutine.cpp @@ -321,7 +321,7 @@ bool AGOSEngine::loadTablesIntoMem(uint subr_id) { _tablesHeapCurPosNew = _tablesHeapCurPos; if (_tablesHeapCurPos > _tablesHeapSize) - error("loadTablesOldIntoMem: Out of table memory"); + error("loadTablesIntoMem: Out of table memory"); return 1; } @@ -331,7 +331,7 @@ bool AGOSEngine::loadTablesIntoMem(uint subr_id) { p += 6; } - debug(1,"loadTablesOldIntoMem: didn't find %d", subr_id); + debug(1,"loadTablesIntoMem: didn't find %d", subr_id); return 0; } @@ -387,13 +387,13 @@ bool AGOSEngine_Waxworks::loadTablesIntoMem(uint subr_id) { _tablesHeapCurPosNew = _tablesHeapCurPos; if (_tablesHeapCurPos > _tablesHeapSize) - error("loadTablesNewIntoMem: Out of table memory"); + error("loadTablesIntoMem: Out of table memory"); return 1; } } } - debug(1,"loadTablesNewIntoMem: didn't find %d", subr_id); + debug(1,"loadTablesIntoMem: didn't find %d", subr_id); return 0; } |