aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/file.cpp2
-rw-r--r--engines/agos/vga.cpp33
2 files changed, 22 insertions, 13 deletions
diff --git a/common/file.cpp b/common/file.cpp
index 68360ce1d8..379654bd14 100644
--- a/common/file.cpp
+++ b/common/file.cpp
@@ -217,7 +217,7 @@ bool File::open(const String &filename, AccessMode mode) {
_handle = fopenNoCase(filename, "", modeStr);
} else if (_filesMap && _filesMap->contains(fname)) {
fname = (*_filesMap)[fname];
- debug(3, "Opening hashed: %s", fname.c_str());
+ debug(0, "Opening hashed: %s", fname.c_str());
_handle = fopen(fname.c_str(), modeStr);
} else if (_filesMap && _filesMap->contains(fname + ".")) {
// WORKAROUND: Bug #1458388: "SIMON1: Game Detection fails"
diff --git a/engines/agos/vga.cpp b/engines/agos/vga.cpp
index 9ceebc5364..162bcb1011 100644
--- a/engines/agos/vga.cpp
+++ b/engines/agos/vga.cpp
@@ -2619,22 +2619,22 @@ void AGOSEngine::vc61() {
if (a == 6) {
src = _curVgaFile2 + 800;
- dst = getBackBuf();
+ dst = getFrontBuf();
memcpy(dst, src, 64000);
- tmp = 4;
+ tmp = 4 - 1;
} else {
- tmp = a;
+ tmp = a - 1;
}
- src = _curVgaFile2 + 3360;
- while (tmp--) {
- src += 1712;
- }
+ src = _curVgaFile2 + 3840 * 16 + 3360;
+ while (tmp--)
+ src += 1536 * 16 + 1712;
+
src += 800;
if (a != 5) {
- dst = getBackBuf() + 7448;
+ dst = getFrontBuf() + 7448;
for (h = 0; h < 177; h++) {
memcpy(dst, src, 144);
src += 144;
@@ -2644,10 +2644,10 @@ void AGOSEngine::vc61() {
if (a != 6)
return;
- src += 15344;
+ src = _curVgaFile2 + 9984 * 16 + 15344;
}
- dst = getBackBuf() + 50296;
+ dst = getFrontBuf() + 50296;
for (h = 0; h < 17; h++) {
memcpy(dst, src, 208);
src += 208;
@@ -2656,9 +2656,18 @@ void AGOSEngine::vc61() {
if (a == 6) {
//fullFade();
- }
+ src = _curVgaFile2 + 32;
- debug(0, "vc61: stub (%d)", a);
+ uint8 palette[1024];
+ for (int i = 0; i < 256; i++) {
+ palette[i * 4 + 0] = *src++ * 4;
+ palette[i * 4 + 1] = *src++ * 4;
+ palette[i * 4 + 2] = *src++ * 4;
+ palette[i * 4 + 3] = 0;
+ }
+
+ _system->setPalette(palette, 0, 256);
+ }
}
void AGOSEngine::vc61_setMaskImage() {