[Scummvm-cvs-logs] scummvm master -> 6d51c401be9498d2f36dec0220fe441c54a6b3ee

sev- sev at scummvm.org
Sun Mar 30 16:04:57 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:
6d51c401be FULLPIPE: Implement sceneHandler29_manHit()


Commit: 6d51c401be9498d2f36dec0220fe441c54a6b3ee
    https://github.com/scummvm/scummvm/commit/6d51c401be9498d2f36dec0220fe441c54a6b3ee
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-03-30T17:04:13+03:00

Commit Message:
FULLPIPE: Implement sceneHandler29_manHit()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene29.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index e670645..3f568fd 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1296,9 +1296,11 @@ namespace Fullpipe {
 #define MV_ASS_HITGREEN 2138
 #define MV_ASS_HITRED 2139
 #define MV_MAN29_BEND 2091
+#define MV_MAN29_HIT 2088
 #define MV_MAN29_JUMP 2090
 #define MV_MAN29_RUN 2095
 #define MV_MAN29_STANDUP 2092
+#define MV_MAN29_STANDUP_NORM 2093
 #define MV_PTR_MOVEFAST 2102
 #define MV_SHG_HITASS 2151
 #define MV_SHR_HITASS 2152
@@ -1314,6 +1316,7 @@ namespace Fullpipe {
 #define SND_29_029 4759
 #define ST_ASS_NORM 2122
 #define ST_MAN29_RUNR 2140
+#define ST_MAN29_SITR 2141
 #define ST_STR1_RIGHT 2143
 #define ST_STR2_RIGHT 2144
 #define ST_STR1_STAND 2110
diff --git a/engines/fullpipe/scenes/scene29.cpp b/engines/fullpipe/scenes/scene29.cpp
index 13da04d..8d0fb5d 100644
--- a/engines/fullpipe/scenes/scene29.cpp
+++ b/engines/fullpipe/scenes/scene29.cpp
@@ -265,6 +265,55 @@ bool sceneHandler29_sub16(StaticANIObject *ani, int maxx) {
 	return false;
 }
 
+void sceneHandler29_manHit() {
+	MGMInfo mgminfo;
+
+	g_vars->scene29_var15 = 1;
+
+	g_fp->_aniMan->changeStatics2(ST_MAN29_RUNR);
+	g_fp->_aniMan->setOXY(g_vars->scene29_var20, g_vars->scene29_var21);
+
+	mgminfo.ani = g_fp->_aniMan;
+	mgminfo.staticsId2 = ST_MAN29_SITR;
+	mgminfo.y1 = 463;
+	mgminfo.x1 = g_vars->scene29_var20 <= 638 ? 351 : 0;
+	mgminfo.field_1C = 10;
+	mgminfo.field_10 = 1;
+	mgminfo.flags = (g_vars->scene29_var20 <= 638 ? 2 : 0) | 0x44;
+	mgminfo.movementId = MV_MAN29_HIT;
+
+	MessageQueue *mq = g_vars->scene29_mgm.genMovement(&mgminfo);
+	ExCommand *ex;
+
+	if (mq) {
+		if (g_vars->scene29_var20 <= 638) {
+			ex = new ExCommand(ANI_MAN, 1, MV_MAN29_STANDUP_NORM, 0, 0, 0, 1, 0, 0, 0);
+			ex->_excFlags = 2;
+			ex->_keyCode = g_fp->_aniMan->_okeyCode;
+			mq->addExCommandToEnd(ex);
+
+			ex = new ExCommand(0, 17, MSG_SC29_STOPRIDE, 0, 0, 0, 1, 0, 0, 0);
+			ex->_excFlags = 2;
+			mq->addExCommandToEnd(ex);
+
+			g_vars->scene29_var09 = 0;
+			g_vars->scene29_var10 = 0;
+			g_vars->scene29_var11 = 0;
+			g_vars->scene29_var12 = 0;
+		} else {
+			ex = new ExCommand(ANI_MAN, 1, MV_MAN29_STANDUP, 0, 0, 0, 1, 0, 0, 0);
+			ex->_excFlags = 2;
+			ex->_keyCode = g_fp->_aniMan->_okeyCode;
+			mq->addExCommandToEnd(ex);
+		}
+
+		mq->setFlags(mq->getFlags() | 1);
+
+		if (!mq->chain(g_fp->_aniMan))
+			delete mq;
+	}
+}
+
 void sceneHandler29_sub03() {
 	warning("STUB: sceneHandler29_sub03()");
 }






More information about the Scummvm-git-logs mailing list