diff options
author | Martin Kiewitz | 2010-01-16 19:44:33 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-01-16 19:44:33 +0000 |
commit | 76dfdac6d49aa6a9c230f08e4fa676ac750d8010 (patch) | |
tree | b9f6b58422be19246135fed0e706381686246a6f | |
parent | bc3405cc9e4e29cbe1cbc9e5a8b77d8834a2ea10 (diff) | |
download | scummvm-rg350-76dfdac6d49aa6a9c230f08e4fa676ac750d8010.tar.gz scummvm-rg350-76dfdac6d49aa6a9c230f08e4fa676ac750d8010.tar.bz2 scummvm-rg350-76dfdac6d49aa6a9c230f08e4fa676ac750d8010.zip |
SCI: added TODO inside kAnimate for scalesignal bit 1, added comment about scaling into view class
svn-id: r47330
-rw-r--r-- | engines/sci/graphics/animate.cpp | 6 | ||||
-rw-r--r-- | engines/sci/graphics/view.cpp | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/graphics/animate.cpp b/engines/sci/graphics/animate.cpp index 80e09800a3..6c1e350e36 100644 --- a/engines/sci/graphics/animate.cpp +++ b/engines/sci/graphics/animate.cpp @@ -168,6 +168,12 @@ void SciGuiAnimate::makeSortedList(List *list) { listEntry->scaleX = 128; listEntry->scaleY = 128; } + // TODO + // On scaleSignal bit 1 sierra sci does some stuff with global var 2, current Port + // and some other stuff and sets scaleX/Y accordingly. It seems this functionality is needed in at + // least sq5 right when starting the game before wilco exists the room. Currently we dont get scaling + // but sierra sci does scaling there. I dont fully understand the code yet, that's why i didnt implement + // anything. } else { listEntry->scaleSignal = 0; listEntry->scaleX = 128; diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp index f5f1d539da..7552b11e96 100644 --- a/engines/sci/graphics/view.cpp +++ b/engines/sci/graphics/view.cpp @@ -526,6 +526,8 @@ void View::draw(Common::Rect rect, Common::Rect clipRect, Common::Rect clipRectT } } +// We don't fully follow sierra sci here, I did the scaling algo myself and it's definitely not pixel-perfect +// with the one sierra is using. It shouldn't matter because the scaled cel rect is definitely the same as in sierra sci void View::drawScaled(Common::Rect rect, Common::Rect clipRect, Common::Rect clipRectTranslated, int16 loopNo, int16 celNo, byte priority, int16 scaleX, int16 scaleY) { Palette *palette = _embeddedPal ? &_viewPalette : &_palette->_sysPalette; CelInfo *celInfo = getCelInfo(loopNo, celNo); |