[Scummvm-cvs-logs] scummvm master -> 17b29e109d229f75069f9898b954fad493199496

sev- sev at scummvm.org
Fri May 16 19:58:05 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:
17b29e109d FULLPIPE: Implement MovGraph::method44()


Commit: 17b29e109d229f75069f9898b954fad493199496
    https://github.com/scummvm/scummvm/commit/17b29e109d229f75069f9898b954fad493199496
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-16T20:57:03+03:00

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

Changed paths:
    engines/fullpipe/motion.cpp
    engines/fullpipe/motion.h



diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp
index b5e0f67..1712c88 100644
--- a/engines/fullpipe/motion.cpp
+++ b/engines/fullpipe/motion.cpp
@@ -621,10 +621,31 @@ int MovGraph::method3C(StaticANIObject *ani, int flag) {
 	return 0;
 }
 
-int MovGraph::method44() {
-	warning("STUB: MovGraph::method44()");
+bool MovGraph::method44(StaticANIObject *ani, int x, int y) {
+	int idx = getItemIndexByStaticAni(ani);
+	MovArr m;
 
-	return 0;
+	if (idx != -1) {
+		if (x != -1 || y != -1) {
+			int counter;
+
+			MovItem *movitem = method28(ani, x, y, 0, &counter);
+
+			if (movitem) {
+				MovArr *movarr = _callback1(ani, movitem, counter);
+				int cnt = movarr->_movStepCount;
+
+				if (cnt > 0) {
+					if (movarr->_movSteps[cnt - 1].link->_flags & 0x4000000)
+						return true;
+				}
+			}
+		} else if (calcChunk(idx, ani->_ox, ani->_oy, &m, 0) && m._link && (m._link->_flags & 0x4000000)) {
+			return true;
+		}
+	}
+
+	return false;
 }
 
 MessageQueue *MovGraph::doWalkTo(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) {
@@ -1512,8 +1533,6 @@ MessageQueue *MovGraph2::doWalkTo(StaticANIObject *obj, int xpos, int ypos, int
 
 	obj->getPicAniInfo(&picAniInfo);
 
-	warning("p: %d %d", picAniInfo.movementId, picAniInfo.objectId);
-
 	int idxsub;
 
 	if (obj->_movement)
diff --git a/engines/fullpipe/motion.h b/engines/fullpipe/motion.h
index 1b49839..febcf17 100644
--- a/engines/fullpipe/motion.h
+++ b/engines/fullpipe/motion.h
@@ -60,7 +60,7 @@ public:
 	virtual int changeCallback() { return 0; }
 	virtual int method3C(StaticANIObject *ani, int flag) { return 0; }
 	virtual int method40() { return 0; }
-	virtual int method44() { return 0; }
+	virtual bool method44(StaticANIObject *ani, int x, int y) { return false; }
 	virtual int method48() { return -1; }
 	virtual MessageQueue *doWalkTo(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) { return 0; }
 
@@ -366,7 +366,7 @@ public:
 	virtual MessageQueue *method34(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
 	virtual int changeCallback();
 	virtual int method3C(StaticANIObject *ani, int flag);
-	virtual int method44();
+	virtual bool method44(StaticANIObject *ani, int x, int y);
 	virtual MessageQueue *doWalkTo(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
 	virtual int method50();
 






More information about the Scummvm-git-logs mailing list