From 9606e7fca72645a05ecdce97cc484351e23c7ead Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 5 Jan 2010 14:19:53 +0000 Subject: Some initial work on SCI1.1 view scaling (not working yet) svn-id: r47027 --- engines/sci/graphics/animate.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'engines/sci/graphics/animate.cpp') diff --git a/engines/sci/graphics/animate.cpp b/engines/sci/graphics/animate.cpp index c82fcbf10e..ea70212975 100644 --- a/engines/sci/graphics/animate.cpp +++ b/engines/sci/graphics/animate.cpp @@ -347,7 +347,7 @@ void SciGuiAnimate::drawCels() { reg_t bitsHandle; AnimateList::iterator listIterator; AnimateList::iterator listEnd = _list.end(); - + uint16 scaleX = 128, scaleY = 128; // no scaling _lastCastCount = 0; listIterator = _list.begin(); @@ -361,8 +361,14 @@ void SciGuiAnimate::drawCels() { bitsHandle = _gfx->BitsSave(listEntry->celRect, SCI_SCREEN_MASK_ALL); PUT_SEL32(_s->_segMan, curObject, underBits, bitsHandle); + if (getSciVersion() >= SCI_VERSION_1_1) { + // View scaling + scaleX = GET_SEL32V(_s->_segMan, curObject, scaleX); + scaleY = GET_SEL32V(_s->_segMan, curObject, scaleY); + } + // draw corresponding cel - _gfx->drawCel(listEntry->viewId, listEntry->loopNo, listEntry->celNo, listEntry->celRect, listEntry->priority, listEntry->paletteNo); + _gfx->drawCel(listEntry->viewId, listEntry->loopNo, listEntry->celNo, listEntry->celRect, listEntry->priority, listEntry->paletteNo, -1, scaleX, scaleY); listEntry->showBitsFlag = true; if (signal & kSignalRemoveView) { -- cgit v1.2.3