diff options
Diffstat (limited to 'engines/fullpipe/motion.cpp')
| -rw-r--r-- | engines/fullpipe/motion.cpp | 28 | 
1 files changed, 19 insertions, 9 deletions
| diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp index 5137434a06..9fcb01296a 100644 --- a/engines/fullpipe/motion.cpp +++ b/engines/fullpipe/motion.cpp @@ -529,7 +529,7 @@ void MovGraphItem::free() {  int MovGraph_messageHandler(ExCommand *cmd); -int MovGraphCallback(int a1, int a2, int a3) { +MovArr *MovGraphCallback(StaticANIObject *ani, MovItem *item, signed int counter) {  	warning("STUB: MovgraphCallback");  	return 0; @@ -592,7 +592,7 @@ void MovGraph::freeItems() {  	_items.clear();  } -int MovGraph::method28() { +MovItem *MovGraph::method28(StaticANIObject *ani, int x, int y, int flag1, int *rescount) {  	warning("STUB: MovGraph::method28()");  	return 0; @@ -641,13 +641,13 @@ MessageQueue *MovGraph::doWalkTo(StaticANIObject *subj, int xpos, int ypos, int  		int idx = getItemIndexByStaticAni(subj);  		for (uint i = 0; i < _items[idx]->count; i++) { -			if (_items[idx]->items[i]->movarr == goal) { +			if (_items[idx]->items[i].movarr == goal) {  				if (subj->_movement) {  					Common::Point point; -					subj->calcStepLen(point); +					subj->calcStepLen(&point); -					MessageQueue *mq = MovGraph_sub_451D50(this, subj, subj->_ox - point.x, subj->_oy - point.y, subj->_movement->_staticsObj1->_staticsId, xpos, ypos, 0, fuzzyMatch); +					MessageQueue *mq = sub1(subj, subj->_ox - point.x, subj->_oy - point.y, subj->_movement->_staticsObj1->_staticsId, xpos, ypos, 0, fuzzyMatch);  					if (!mq || !mq->getExCommandByIndex(0))  						return 0; @@ -667,13 +667,11 @@ MessageQueue *MovGraph::doWalkTo(StaticANIObject *subj, int xpos, int ypos, int  	if (movitem) {  		MovArr *goal = _callback1(subj, movitem, ss);  		int idx = getItemIndexByStaticAni(subj); -		v25 = 0; -		idx <<= 6;  		if (_items[idx]->count > 0) {  			int arridx = 0; -			while (_items[idx]->items[arridx]->movarr != goal) { +			while (_items[idx]->items[arridx].movarr != goal) {  				arridx++;  				if (arridx >= _items[idx]->count) { @@ -682,7 +680,7 @@ MessageQueue *MovGraph::doWalkTo(StaticANIObject *subj, int xpos, int ypos, int  				}  			} -			_items[idx]->movarr.clear(); +			_items[idx]->movarr->clear();  			for (uint i = 0; i < _items[idx]->items[arridx].movarr->_movStepCount; i++) {  				MovArr *m = new MovArr; @@ -717,6 +715,18 @@ MessageQueue *MovGraph::doWalkTo(StaticANIObject *subj, int xpos, int ypos, int  	return 0;  } +MessageQueue *MovGraph::sub1(StaticANIObject *ani, int x, int y, int a5, int x1, int y1, int a8, int a9) { +	warning("STUB: *MovGraph::sub1()"); + +	return 0; +} + +MessageQueue *MovGraph::fillMGMinfo(StaticANIObject *ani, MovArr *movarr, int staticsId) { +	warning("STUB: *MovGraph::fillMGMinfo()"); + +	return 0; +} +  int MovGraph::method50() {  	warning("STUB: MovGraph::method50()"); | 
