aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agos/event.cpp4
-rw-r--r--engines/agos/gfx.cpp6
-rw-r--r--engines/agos/script_e1.cpp5
-rw-r--r--engines/agos/script_e2.cpp2
-rw-r--r--engines/agos/subroutine.cpp8
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;
}