aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/animate.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2011-10-19 20:27:43 +0300
committerFilippos Karapetis2011-10-19 20:29:05 +0300
commit513d0be10628574c98bb2588a7ef4567590228e2 (patch)
treefece4be1f2bc0224eccf799fe20879b95a1beea3 /engines/sci/graphics/animate.cpp
parent7a96bcb3eda703426d6d88a7392f520cae32bf88 (diff)
downloadscummvm-rg350-513d0be10628574c98bb2588a7ef4567590228e2.tar.gz
scummvm-rg350-513d0be10628574c98bb2588a7ef4567590228e2.tar.bz2
scummvm-rg350-513d0be10628574c98bb2588a7ef4567590228e2.zip
SCI: Merged all the code to get/set the NS rect
Diffstat (limited to 'engines/sci/graphics/animate.cpp')
-rw-r--r--engines/sci/graphics/animate.cpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/engines/sci/graphics/animate.cpp b/engines/sci/graphics/animate.cpp
index 18f8511953..983e697481 100644
--- a/engines/sci/graphics/animate.cpp
+++ b/engines/sci/graphics/animate.cpp
@@ -32,6 +32,7 @@
#include "sci/engine/selector.h"
#include "sci/engine/vm.h"
#include "sci/graphics/cache.h"
+#include "sci/graphics/compare.h"
#include "sci/graphics/cursor.h"
#include "sci/graphics/ports.h"
#include "sci/graphics/paint16.h"
@@ -307,10 +308,7 @@ void GfxAnimate::setNsRect(GfxView *view, AnimateList::iterator it) {
// This special handling is not included in the other SCI1.1 interpreters and MUST NOT be
// checked in those cases, otherwise we will break games (e.g. EcoQuest 2, room 200)
if ((g_sci->getGameId() == GID_HOYLE4) && (it->scaleSignal & kScaleSignalHoyle4SpecialHandling)) {
- it->celRect.left = readSelectorValue(_s->_segMan, it->object, SELECTOR(nsLeft));
- it->celRect.top = readSelectorValue(_s->_segMan, it->object, SELECTOR(nsTop));
- it->celRect.right = readSelectorValue(_s->_segMan, it->object, SELECTOR(nsRight));
- it->celRect.bottom = readSelectorValue(_s->_segMan, it->object, SELECTOR(nsBottom));
+ it->celRect = g_sci->_gfxCompare->getNSRect(it->object);
view->getCelSpecialHoyle4Rect(it->loopNo, it->celNo, it->x, it->y, it->z, it->celRect);
shouldSetNsRect = false;
} else {
@@ -319,10 +317,7 @@ void GfxAnimate::setNsRect(GfxView *view, AnimateList::iterator it) {
}
if (shouldSetNsRect) {
- writeSelectorValue(_s->_segMan, it->object, SELECTOR(nsLeft), it->celRect.left);
- writeSelectorValue(_s->_segMan, it->object, SELECTOR(nsTop), it->celRect.top);
- writeSelectorValue(_s->_segMan, it->object, SELECTOR(nsRight), it->celRect.right);
- writeSelectorValue(_s->_segMan, it->object, SELECTOR(nsBottom), it->celRect.bottom);
+ g_sci->_gfxCompare->setNSRect(it->object, it->celRect);
}
}
@@ -544,10 +539,7 @@ void GfxAnimate::addToPicDrawCels() {
applyGlobalScaling(it, view);
}
view->getCelScaledRect(it->loopNo, it->celNo, it->x, it->y, it->z, it->scaleX, it->scaleY, it->celRect);
- writeSelectorValue(_s->_segMan, curObject, SELECTOR(nsLeft), it->celRect.left);
- writeSelectorValue(_s->_segMan, curObject, SELECTOR(nsTop), it->celRect.top);
- writeSelectorValue(_s->_segMan, curObject, SELECTOR(nsRight), it->celRect.right);
- writeSelectorValue(_s->_segMan, curObject, SELECTOR(nsBottom), it->celRect.bottom);
+ g_sci->_gfxCompare->setNSRect(curObject, it->celRect);
} else {
view->getCelRect(it->loopNo, it->celNo, it->x, it->y, it->z, it->celRect);
}