aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2014-05-07 22:08:57 +0300
committerEugene Sandulenko2014-05-07 22:18:08 +0300
commit4d75bebd08c1aeffbb05faa72d628c258d3d2d46 (patch)
treec7ecc76b6a6f1a78e121f13862054437795ec66e /engines
parent4571f3e3e40ac66070124f3370d50ea1af1da1ce (diff)
downloadscummvm-rg350-4d75bebd08c1aeffbb05faa72d628c258d3d2d46.tar.gz
scummvm-rg350-4d75bebd08c1aeffbb05faa72d628c258d3d2d46.tar.bz2
scummvm-rg350-4d75bebd08c1aeffbb05faa72d628c258d3d2d46.zip
FULLPIPE: Implement MovGraph::getBboxes()
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/motion.cpp32
-rw-r--r--engines/fullpipe/motion.h2
2 files changed, 34 insertions, 0 deletions
diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp
index 91950baa4a..cdf9bdb1a4 100644
--- a/engines/fullpipe/motion.cpp
+++ b/engines/fullpipe/motion.cpp
@@ -847,6 +847,38 @@ void MovGraph::shuffleTree(MovGraphLink *lnk, MovGraphLink *lnk2, Common::Array<
}
}
+Common::Array<Common::Rect *> *MovGraph::getBboxes(MovArr *movarr1, MovArr *movarr2, int *listCount) {
+ Common::Array<MovGraphLink *> tempObList1;
+ Common::Array<MovGraphLink *> tempObList2;
+
+ shuffleTree(movarr1->_link, movarr2->_link, tempObList1, tempObList2);
+
+ *listCount = 0;
+
+ if (!tempObList2.size())
+ return 0;
+
+ *listCount = tempObList2.size();
+
+ Common::Array<Common::Rect *> *res = new Common::Array<Common::Rect *>;
+
+ for (uint i = 0; i < *listCount; i++) {
+ Common::Rect *r = new Common::Rect;
+
+ calcBbox(r, tempObList2[i], movarr1, movarr2);
+
+ delete tempObList2[i];
+ }
+
+ movarr2->_link = movarr1->_link;
+
+ return res;
+}
+
+void MovGraph::calcBbox(Common::Rect *rect, MovGraphLink *grlink, MovArr *movarr1, MovArr *movarr2) {
+ warning("STUB: MovGraph::calcBbox()");
+}
+
int MovGraph2::getItemIndexByGameObjectId(int objectId) {
for (uint i = 0; i < _items2.size(); i++)
if (_items2[i]->_objectId == objectId)
diff --git a/engines/fullpipe/motion.h b/engines/fullpipe/motion.h
index e00447b335..2c46c37ee7 100644
--- a/engines/fullpipe/motion.h
+++ b/engines/fullpipe/motion.h
@@ -364,6 +364,8 @@ public:
int getItemIndexByStaticAni(StaticANIObject *ani);
Common::Array<MovArr *> *genMovArr(int x, int y, int *arrSize, int flag1, int flag2);
void shuffleTree(MovGraphLink *lnk, MovGraphLink *lnk2, Common::Array<MovGraphLink *> &tempObList1, Common::Array<MovGraphLink *> &tempObList2);
+ Common::Array<Common::Rect *> *getBboxes(MovArr *movarr1, MovArr *movarr2, int *listCount);
+ void calcBbox(Common::Rect *rect, MovGraphLink *grlink, MovArr *movarr1, MovArr *movarr2);
};
class Movement;