[Scummvm-cvs-logs] scummvm master -> 78bd805047f634f3174fa77ab6d6082ad725eaf5

sev- sev at scummvm.org
Mon May 19 06:43:25 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:
78bd805047 FULLPIPE: Started implementation of MovGraph::method34()


Commit: 78bd805047f634f3174fa77ab6d6082ad725eaf5
    https://github.com/scummvm/scummvm/commit/78bd805047f634f3174fa77ab6d6082ad725eaf5
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-19T07:42:25+03:00

Commit Message:
FULLPIPE: Started implementation of MovGraph::method34()

Changed paths:
    engines/fullpipe/motion.cpp



diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp
index 81bfb7d..eda29aa 100644
--- a/engines/fullpipe/motion.cpp
+++ b/engines/fullpipe/motion.cpp
@@ -611,7 +611,81 @@ int MovGraph::method2C(StaticANIObject *obj, int x, int y) {
 	return method3C(obj, 1);
 }
 
-MessageQueue *MovGraph::method34(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) {
+MessageQueue *MovGraph::method34(StaticANIObject *ani, int xpos, int ypos, int fuzzyMatch, int staticsId) {
+#if 0
+	if (!ani) {
+		if (_itemsCount < 1)
+			return 0;
+
+		ani = _items->ani;
+	}
+	if (ABS(ani->_ox - x) < 50 && ABS(ani->_oy - y) < 50)
+		return 0;
+
+	if (!ani->isIdle())
+		return 0;
+
+	if (ani->_flags & 0x100)
+		return 0;
+
+	v10 = method28(ani, x, y, fuzzyMatch, (int *)&ani);
+
+	if (!v10)
+		return 0;
+
+	if (!ani->_movement) {
+		v20 = v10;
+		v33 = (int)ani;
+		goto LABEL_34;
+	}
+
+	Common::Point point;
+
+	ani->calcStepLen(&point);
+
+	MessageQueue *mq = sub1(ani, ani->_ox - point.x, ani->_oy - point.y, ani->_movement->_staticsObj1->_staticsId, x, y, 0, fuzzyMatch);
+
+	if (!mq || !mq->getExCommandByIndex(0))
+		return 0;
+
+	ExCommand *ex = mq->getExCommandByIndex(0);
+
+	if ((ex->_messageKind != 1 && ex->_messageKind != 20) || ex->_messageNum != ani->_movement->_id ||
+		(ex->_field_14 >= 1 && ex->_field_14 <= ani->_movement->_currDynamicPhaseIndex)) {
+		v22 = GlobalMessageQueueList_compact(&g_globalMessageQueueList);
+		v23 = MessageQueue_ctor1(v21, v22);
+		a2 = (int)v23;
+		v25 = ExCommand_ctor(v24, ani->_id, 21, 0, 0, 0, 0, 1, 0, 0, 0);
+		v23 = (MessageQueue *)a2;
+		v26 = (int)&v23->exCommands.obj.vmt;
+		v27 = ani->go._okeyCode;
+		v25->msg._keyCode = (unsigned __int16)v27;
+		v25->_field_3C = 1;
+		v25->msg._field_24 = 0;
+		CPtrList::AddTail(&v23->exCommands, v25);
+		v29 = ExCommand_ctor(v28, ani->go._id, 51, 0, x, y, 0, 1, 0, 0, 0);
+		v23 = (MessageQueue *)a2;
+		v30 = fuzzyMatch;
+		v29->_keyCode = ani->_okeyCode;
+		v29->_field_3C = 1;
+		v29->_field_24 = 0;
+		v29->_field_20 = v30;
+		CPtrList::AddTail(v26, v29);
+		if (MessageQueue_chain(v23, 0))
+			return v23;
+		if (v23)
+			delete v23;
+		return 0;
+	}
+
+	ani->setSomeDynamicPhaseIndex(ex->_field_14);
+	method28(ani, x, y, fuzzyMatch, (int *)&ani);
+	v33 = this->_items[getItemIndexByStaticAni(ani)].count;
+	v20 = this->_items[getItemIndexByStaticAni(ani)].movitems;
+ LABEL_34:
+	v32 = this->_callback1(ani, v20, v33);
+	return method50(ani, v32, a2);
+#endif
 	warning("STUB: MovGraph::method34()");
 
 	return 0;






More information about the Scummvm-git-logs mailing list