[Scummvm-cvs-logs] scummvm master -> 9f92561df3d24cec093559b733f83f69d492581f

sev- sev at scummvm.org
Sat Oct 26 23:54:12 CEST 2013


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
7089444e0b FULLPIPE: Implement MovGraph2::method34()
9f92561df3 FULLPIPE: Implement StaticANIObject::getSomeXY()


Commit: 7089444e0b862fdfab5dc63a3058374cdd55c9cb
    https://github.com/scummvm/scummvm/commit/7089444e0b862fdfab5dc63a3058374cdd55c9cb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-10-26T14:50:49-07:00

Commit Message:
FULLPIPE: Implement MovGraph2::method34()

Changed paths:
    engines/fullpipe/motion.cpp



diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp
index 750c2de..aa7d02a 100644
--- a/engines/fullpipe/motion.cpp
+++ b/engines/fullpipe/motion.cpp
@@ -672,10 +672,45 @@ void MovGraph2::freeItems() {
 	warning("STUB: MovGraph2::freeItems()");
 }
 
-MessageQueue *MovGraph2::method34(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) {
-	warning("STUB: MovGraph2::method34()");
+MessageQueue *MovGraph2::method34(StaticANIObject *ani, int xpos, int ypos, int fuzzyMatch, int staticsId) {
+	if (!ani->isIdle())
+		return 0;
 
-	return 0;
+	if (ani->_flags & 0x100)
+		return 0;
+
+	MessageQueue *mq = doWalkTo(ani, xpos, ypos, fuzzyMatch, staticsId);
+
+	if (!mq)
+		return 0;
+
+	if (ani->_movement) {
+		if (mq->getCount() <= 1 || mq->getExCommandByIndex(0)->_messageKind != 22) {
+			PicAniInfo picAniInfo;
+
+			ani->getPicAniInfo(&picAniInfo);
+			ani->updateStepPos();
+			MessageQueue *mq1 = doWalkTo(ani, xpos, ypos, fuzzyMatch, staticsId);
+
+			ani->setPicAniInfo(&picAniInfo);
+
+			if (mq1) {
+				delete mq;
+
+				mq = mq1;
+			}
+		} else {
+			ani->_movement = 0;
+		}
+	}
+
+	if (!mq->chain(ani)) {
+		delete mq;
+
+		return 0;
+	}
+
+	return mq;
 }
 
 MessageQueue *MovGraph2::doWalkTo(StaticANIObject *obj, int xpos, int ypos, int fuzzyMatch, int staticsId) {


Commit: 9f92561df3d24cec093559b733f83f69d492581f
    https://github.com/scummvm/scummvm/commit/9f92561df3d24cec093559b733f83f69d492581f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-10-26T14:50:49-07:00

Commit Message:
FULLPIPE: Implement StaticANIObject::getSomeXY()

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



diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index f1107e5..0599125 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -649,6 +649,19 @@ Common::Point *StaticANIObject::getCurrDimensions(Common::Point &p) {
 	return &p;
 }
 
+Common::Point *StaticANIObject::getSomeXY(Common::Point &p) {
+	if (_movement) {
+		_movement->getCurrDynamicPhaseXY(p);
+
+		return &p;
+	}
+
+	if (_statics)
+		_statics->getSomeXY(p);
+
+	return &p;
+}
+
 void StaticANIObject::update(int counterdiff) {
 	int mqid;
 
diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h
index 370f540..49ebc8e 100644
--- a/engines/fullpipe/statics.h
+++ b/engines/fullpipe/statics.h
@@ -204,6 +204,8 @@ class StaticANIObject : public GameObject {
 	Movement *getMovementByName(char *name);
 	Common::Point *getCurrDimensions(Common::Point &p);
 
+	Common::Point *getSomeXY(Common::Point &p);
+
 	void clearFlags();
 	void setFlags40(bool state);
 	bool isIdle();






More information about the Scummvm-git-logs mailing list