diff options
author | Eugene Sandulenko | 2014-05-07 22:08:57 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2014-05-07 22:18:08 +0300 |
commit | 4d75bebd08c1aeffbb05faa72d628c258d3d2d46 (patch) | |
tree | c7ecc76b6a6f1a78e121f13862054437795ec66e /engines | |
parent | 4571f3e3e40ac66070124f3370d50ea1af1da1ce (diff) | |
download | scummvm-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.cpp | 32 | ||||
-rw-r--r-- | engines/fullpipe/motion.h | 2 |
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; |