diff options
author | md5 | 2011-03-04 17:16:54 +0200 |
---|---|---|
committer | md5 | 2011-03-04 17:16:54 +0200 |
commit | ef939772b39d3988ad31a77ea0bdc1bc149aa54a (patch) | |
tree | c5f8d13137e2a4a71d79f1540030445ba16a0b64 /engines/sci/graphics | |
parent | fe7d2026b1aae2915fea7de0426eca7f1e1d5af8 (diff) | |
download | scummvm-rg350-ef939772b39d3988ad31a77ea0bdc1bc149aa54a.tar.gz scummvm-rg350-ef939772b39d3988ad31a77ea0bdc1bc149aa54a.tar.bz2 scummvm-rg350-ef939772b39d3988ad31a77ea0bdc1bc149aa54a.zip |
SCI: Added support for 16/32 color view and picture patches
16 color patches (*.p16 and *.v16) are used in 16 color EGA SCI1 games
32 color patches (*.p32 and *.v32) are used in 32 color Amiga SCI1 games
Removed a workaround for SCI1 EGA (bug #3044500), as that bug has been
fixed already in the view patch. Thanks to waltervn for observing this.
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r-- | engines/sci/graphics/view.cpp | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp index 8eacecd1f9..f9bbee4ec6 100644 --- a/engines/sci/graphics/view.cpp +++ b/engines/sci/graphics/view.cpp @@ -313,25 +313,6 @@ int16 GfxView::getHeight(int16 loopNo, int16 celNo) const { const CelInfo *GfxView::getCelInfo(int16 loopNo, int16 celNo) const { assert(_loopCount); - - // WORKAROUND for the EGA version of SQ1: View 506 is the portrait of the - // skimmer buyer in room 41 in SQ1. Loop 0 is his face looking left (shown - // the first time Roger arrives in Ulence Flats) and loop 1 is his face - // looking right (shown the second time he appears, when he makes the - // second offer for the skimmer). In the VGA version, the first two loops - // have 2 cels, a valid one (cel 0) and an invalid one (cel 1). In the EGA - // version, the cels in these two loops have been swapped. The game scripts, - // however seem to get confused by this situation, and when they check loop - // 1, cel 0 via kCelHigh and kCelWide regard it as invalid and never show - // it. We just swap the two cels here in the EGA version, making it behave - // like the VGA version, thus the game scripts show the correct loop. Fixes - // bug #3044500. Note that the same workaround is in getBitmap(). - // TODO: Check if this issue happens in the original version. - if (g_sci->getGameId() == GID_SQ1 && !_resMan->isVGA() && _resourceId == 506) { - if ((loopNo == 0 || loopNo == 1) && celNo == 0) - celNo = 1; - } - loopNo = CLIP<int16>(loopNo, 0, _loopCount - 1); celNo = CLIP<int16>(celNo, 0, _loop[loopNo].celCount - 1); return &_loop[loopNo].cel[celNo]; @@ -535,13 +516,6 @@ void GfxView::unpackCel(int16 loopNo, int16 celNo, byte *outPtr, uint32 pixelCou } const byte *GfxView::getBitmap(int16 loopNo, int16 celNo) { - // WORKAROUND for the EGA version of SQ1, same as the one in getCelInfo(). - // Check getCelInfo() above for more information. - if (g_sci->getGameId() == GID_SQ1 && !_resMan->isVGA() && _resourceId == 506) { - if ((loopNo == 0 || loopNo == 1) && celNo == 0) - celNo = 1; - } - loopNo = CLIP<int16>(loopNo, 0, _loopCount -1); celNo = CLIP<int16>(celNo, 0, _loop[loopNo].celCount - 1); if (_loop[loopNo].cel[celNo].rawBitmap) |