[Scummvm-cvs-logs] scummvm master -> caf920e28a9ab8f9dbc694a6cdbc6a82734faa15
sev-
sev at scummvm.org
Thu May 8 22:01:37 CEST 2014
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
caf920e28a FULLPIPE: Started implementing MovGraph::calcChunk()
Commit: caf920e28a9ab8f9dbc694a6cdbc6a82734faa15
https://github.com/scummvm/scummvm/commit/caf920e28a9ab8f9dbc694a6cdbc6a82734faa15
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-08T23:00:34+03:00
Commit Message:
FULLPIPE: Started implementing MovGraph::calcChunk()
Changed paths:
engines/fullpipe/motion.cpp
engines/fullpipe/motion.h
diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp
index cdf9bdb..96b610c 100644
--- a/engines/fullpipe/motion.cpp
+++ b/engines/fullpipe/motion.cpp
@@ -879,6 +879,61 @@ void MovGraph::calcBbox(Common::Rect *rect, MovGraphLink *grlink, MovArr *movarr
warning("STUB: MovGraph::calcBbox()");
}
+bool MovGraph::calcChunk(int idx, int x, int y, MovArr *arr, int a6) {
+#if 0
+ int staticsId;
+
+ v7 = idx << 6;
+
+ if (_items[idx]->ani->_statics) {
+ staticsId = _items[idx]->ani->_statics->_staticsId;
+ } else {
+ if (!_items[idx]->ani->_movement->_staticsObj2)
+ return 0;
+
+ staticsId = _items[idx]->ani->_movement->_staticsObj2->_staticsId;
+ }
+
+ v19 = -1;
+ v11 = 100;
+ v12 = genMovArr(x, y, &arrSize, 0, 1);
+ movarr = v12;
+ if ( !v12 )
+ return findClosestLink(idx, (POINT *)&x, arr);
+ unusedArg = 0;
+ if ( arrSize <= 0 ) {
+ LABEL_16:
+ CObjectFree(v12);
+ return 0;
+ }
+ v14 = &v12->_link;
+ do {
+ v15 = _mgm->refreshOffsets(_items[idx]->ani->_id, staticsId, v12->_link->dwordArray2[_field_44]->sceneId);
+ if ( v15 < v11 ) {
+ v11 = v15;
+ v19 = unusedArg;
+ }
+ v16 = _mgm->refreshOffsets(_items[idx]->ani->_id, staticsId, v12->_link->dwordArray2[_field_444]->scene);
+ if ( v16 < v11 ) {
+ v11 = v16;
+ v19 = unusedArg;
+ }
+ v14 += 8;
+ ++unusedArg;
+ } while ( unusedArg < arrSize );
+ if ( v19 == -1 ) {
+ v12 = movarr;
+ goto LABEL_16;
+ }
+ v17 = movarr;
+ memcpy(arr, &movarr[v19], 0x20u);
+ CObjectFree(v17);
+#endif
+
+ warning("STUB: MovGraph::calcChunk()");
+ return true;
+}
+
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 2c46c37..38632c1 100644
--- a/engines/fullpipe/motion.h
+++ b/engines/fullpipe/motion.h
@@ -366,6 +366,7 @@ public:
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);
+ bool calcChunk(int idx, int x, int y, MovArr *arr, int a6);
};
class Movement;
More information about the Scummvm-git-logs
mailing list