aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kiewitz2010-01-16 19:44:33 +0000
committerMartin Kiewitz2010-01-16 19:44:33 +0000
commit76dfdac6d49aa6a9c230f08e4fa676ac750d8010 (patch)
treeb9f6b58422be19246135fed0e706381686246a6f
parentbc3405cc9e4e29cbe1cbc9e5a8b77d8834a2ea10 (diff)
downloadscummvm-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.cpp6
-rw-r--r--engines/sci/graphics/view.cpp2
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);