[Scummvm-cvs-logs] scummvm master -> e59bfb2b9fd4c29d499a146cf162307b2c686164

sev- sev at scummvm.org
Tue May 27 21:43:29 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:
e59bfb2b9f FULLPIPE: Implement MovGraph::method28()


Commit: e59bfb2b9fd4c29d499a146cf162307b2c686164
    https://github.com/scummvm/scummvm/commit/e59bfb2b9fd4c29d499a146cf162307b2c686164
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-27T22:42:57+03:00

Commit Message:
FULLPIPE: Implement MovGraph::method28()

Changed paths:
    engines/fullpipe/motion.cpp



diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp
index 8ddd3f7..e3977a9 100644
--- a/engines/fullpipe/motion.cpp
+++ b/engines/fullpipe/motion.cpp
@@ -597,10 +597,9 @@ void MovGraph::freeItems() {
 	_items.clear();
 }
 Common::Array<MovItem *> *MovGraph::method28(StaticANIObject *ani, int x, int y, int flag1, int *rescount) {
-#if 0
 	*rescount = 0;
 
-	if (_itemsCount <= 0)
+	if (_items.size() <= 0)
 		return 0;
 
 	int idx = 0;
@@ -608,39 +607,39 @@ Common::Array<MovItem *> *MovGraph::method28(StaticANIObject *ani, int x, int y,
 	while (_items[idx]->ani != ani) {
 		idx++;
 
-		if (idx >= _itemsCount)
+		if (idx >= _items.size())
 			return 0;
 	}
 	_items[idx]->free();
 
 	calcNodeDistancesAndAngles();
 
-	_items[idx].movarr._movSteps.clear();
+	_items[idx]->movarr._movSteps.clear();
 
 	Common::Point point;
 
 	point.x = ani->_ox;
 	point.y = ani->_oy;
 
-	if (!MovGraph_calcChunk(this, idx, ani->_ox, ani->_oy, &_items[idx]->movarr, 0))
-		MovGraph_findClosestLink(this, idx, &point, &_items[idx]->movarr);
+	if (!calcChunk(idx, ani->_ox, ani->_oy, &_items[idx]->movarr, 0))
+		findClosestLink(idx, &point, &_items[idx]->movarr);
 
 	_items[idx]->count = 0;
 
 	delete _items[idx]->movitems;
 	_items[idx]->movitems = 0;
 
+	int arrSize;
 	Common::Array<MovArr *> *movarr = genMovArr(x, y, &arrSize, flag1, 0);
 
 	if (movarr) {
 		for (int i = 0; i < arrSize; i++) {
 			int sz;
-			Common::Array<MovItem *> *movitems = calcMovItems(_items[idx]->movarr, movarr[i], &sz);
+			Common::Array<MovItem *> *movitems = calcMovItems(&_items[idx]->movarr, (*movarr)[i], &sz);
 
 			if (sz > 0) {
-				_items[idx]->movitems = MovGraph_arr16_realloc(_items[idx]->movitems, _items[idx]->count, sz + _items[idx]->count);
-				memcpy(_items[idx]->movitems[_items[idx]->count], *movitems, 16 * sz);
-				_items[idx]->count += sz;
+				for (uint j = 0; j < sz; j++)
+					_items[idx]->movitems->push_back(movitems[j]);
 
 				delete movitems;
 			}
@@ -656,10 +655,6 @@ Common::Array<MovItem *> *MovGraph::method28(StaticANIObject *ani, int x, int y,
 	}
 
 	return 0;
-#endif
-	warning("STUB: MovGraph::method28()");
-
-	return 0;
 }
 
 bool MovGraph::method2C(StaticANIObject *obj, int x, int y) {






More information about the Scummvm-git-logs mailing list