[Scummvm-cvs-logs] scummvm master -> 61e4e14012bcdc6918eb11d3a13b34207c318d0b

sev- sev at scummvm.org
Fri Feb 14 22:48:02 CET 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:
61e4e14012 FULLPIPE: Implement sceneHandler09_spitterClick()


Commit: 61e4e14012bcdc6918eb11d3a13b34207c318d0b
    https://github.com/scummvm/scummvm/commit/61e4e14012bcdc6918eb11d3a13b34207c318d0b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-02-14T13:47:57-08:00

Commit Message:
FULLPIPE: Implement sceneHandler09_spitterClick()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 6fb8e65..7afd3ea 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -603,10 +603,12 @@ namespace Fullpipe {
 #define MV_MAN9_SHOOT 922
 #define MV_VSN_CYCLE2 2987
 #define PIC_SC9_LADDER_R 2700
+#define SND_9_006 3650
 #define SND_9_018 4200
 #define ST_GLT_SIT 926
 #define ST_GRT9_GRIT 2722
 #define ST_GRT9_NORM 2721
+#define ST_PLV_SIT 921
 #define ST_VSN_NORMAL 906
 
 // Scene 10
diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp
index 99086b8..a33fe11 100644
--- a/engines/fullpipe/scenes/scene09.cpp
+++ b/engines/fullpipe/scenes/scene09.cpp
@@ -257,7 +257,44 @@ void sceneHandler09_startAuntie() {
 }
 
 void sceneHandler09_spitterClick() {
-	warning("STUB: sceneHandler09_spitterClick()");
+	if (g_vars->scene09_spitter->_flags & 4) {
+		PicAniInfo info;
+
+		g_vars->scene09_spitter->getPicAniInfo(&info);
+		g_vars->scene09_spitter->_messageQueueId = 0;
+		g_vars->scene09_spitter->changeStatics2(ST_PLV_SIT);
+
+		int x = g_vars->scene09_spitter->_ox - 10;
+		int y = g_vars->scene09_spitter->_oy + 145;
+
+		g_vars->scene09_spitter->setPicAniInfo(&info);
+
+		if (ABS(x - g_fp->_aniMan->_ox) > 1 || ABS(y - g_fp->_aniMan->_oy) > 1) {
+			MessageQueue *mq = getCurrSceneSc2MotionController()->method34(g_fp->_aniMan, x, y, 1, ST_MAN_UP);
+
+			if (mq) {
+				ExCommand *ex = new ExCommand(0, 17, MSG_SC9_PLVCLICK, 0, 0, 0, 1, 0, 0, 0);
+				ex->_excFlags = 2;
+				mq->addExCommandToEnd(ex);
+
+				postExCommand(g_fp->_aniMan->_id, 2, x, y, 0, -1);
+			}
+		} else {
+			if (!g_fp->_aniMan->_movement) {
+				g_vars->scene09_spitter->changeStatics2(ST_PLV_SIT);
+				g_vars->scene09_spitter->hide();
+
+				g_fp->_aniMan->startAnim(MV_MAN9_SHOOT, 0, -1);
+
+				g_fp->stopAllSoundInstances(SND_9_006);
+			}
+
+			g_fp->_aniMan2 = 0;
+
+			if (g_fp->_sceneRect.left < 800)
+				g_fp->_currentScene->_x = 800 - g_fp->_sceneRect.left;
+		}
+	}
 }
 
 void sceneHandler09_eatBall() {






More information about the Scummvm-git-logs mailing list