diff options
author | Travis Howell | 2006-10-14 03:14:47 +0000 |
---|---|---|
committer | Travis Howell | 2006-10-14 03:14:47 +0000 |
commit | 05baf18ad619128777c81398e56cd83e70a9790d (patch) | |
tree | fa5f8f1fa70cc4f3f528fa2cfa13fbe7efe29848 /engines/agos/vga.cpp | |
parent | 49de64b3ccb7e6370218a206a1bfbb0ce669710f (diff) | |
download | scummvm-rg350-05baf18ad619128777c81398e56cd83e70a9790d.tar.gz scummvm-rg350-05baf18ad619128777c81398e56cd83e70a9790d.tar.bz2 scummvm-rg350-05baf18ad619128777c81398e56cd83e70a9790d.zip |
Fix introduction of WW
svn-id: r24302
Diffstat (limited to 'engines/agos/vga.cpp')
-rw-r--r-- | engines/agos/vga.cpp | 33 |
1 files changed, 21 insertions, 12 deletions
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() { |