diff options
author | Travis Howell | 2006-04-04 07:50:04 +0000 |
---|---|---|
committer | Travis Howell | 2006-04-04 07:50:04 +0000 |
commit | f5943d7e7f6b82297530a0a7794f06b1ec2531ec (patch) | |
tree | 0cd3f147385c3f8a0cbd6eedda6b4ea6228eaea0 | |
parent | c21b81f5e5d7f5c75e0d4d70e85ab7920f5ff39c (diff) | |
download | scummvm-rg350-f5943d7e7f6b82297530a0a7794f06b1ec2531ec.tar.gz scummvm-rg350-f5943d7e7f6b82297530a0a7794f06b1ec2531ec.tar.bz2 scummvm-rg350-f5943d7e7f6b82297530a0a7794f06b1ec2531ec.zip |
Adjust clear/restore window for FF
svn-id: r21587
-rw-r--r-- | engines/simon/simon.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/engines/simon/simon.cpp b/engines/simon/simon.cpp index c170caa9f8..7a00af0fbd 100644 --- a/engines/simon/simon.cpp +++ b/engines/simon/simon.cpp @@ -3115,7 +3115,10 @@ void SimonEngine::restoreWindow(FillOrCopyStruct *fcs) { _restoreWindow6 = 0; } - restoreBlock(fcs->y + fcs->height * 8, (fcs->x + fcs->width) * 8, fcs->y, fcs->x * 8); + if (getGameType() == GType_FF) + restoreBlock(fcs->y + fcs->height, fcs->x + fcs->width, fcs->y, fcs->x); + else + restoreBlock(fcs->y + fcs->height * 8, (fcs->x + fcs->width) * 8, fcs->y, fcs->x * 8); } _lockWord &= ~0x8000; @@ -3123,16 +3126,24 @@ void SimonEngine::restoreWindow(FillOrCopyStruct *fcs) { void SimonEngine::colorWindow(FillOrCopyStruct *fcs) { byte *dst; - uint h; + uint h, w; _lockWord |= 0x8000; dst = getFrontBuf(); - dst += _dxSurfacePitch * fcs->y + fcs->x * 8; - h = fcs->height * 8; + if (getGameType() == GType_FF) { + dst += _dxSurfacePitch * fcs->y + fcs->x; + h = fcs->height; + w = fcs->width; + } else { + dst += _dxSurfacePitch * fcs->y + fcs->x * 8; + h = fcs->height * 8; + w = fcs->width * 8; + } + do { - memset(dst, fcs->fill_color, fcs->width * 8); + memset(dst, fcs->fill_color, w); dst += _dxSurfacePitch; } while (--h); |