[Scummvm-cvs-logs] scummvm master -> fec15ed2ccec8917c63728b44f40417ed983a73b

sev- sev at scummvm.org
Mon Dec 23 14:07:32 CET 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:
eaa9d8a2e0 FULLPIPE: Implement several scene10 methods
fec15ed2cc FULLPIPE: Implement sceneHandler10_clickGum(). This completes scene10


Commit: eaa9d8a2e0af9214d48110d988c18ca2d9600859
    https://github.com/scummvm/scummvm/commit/eaa9d8a2e0af9214d48110d988c18ca2d9600859
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-23T04:54:22-08:00

Commit Message:
FULLPIPE: Implement several scene10 methods

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index b7ba75e..c4ea3dd 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -228,6 +228,7 @@ namespace Fullpipe {
 #define MV_MOM_TAKE3 2887
 #define MV_MOM_TAKE4 2888
 #define MV_MOM_TAKE5 2889
+#define MV_NDV_BLOW2 2855
 #define MV_OTM_BOXHANDLEDOWN 626
 #define MV_OTM_BOXHANDLEUP 627
 #define MV_OTM_HANDLEDOWN 620
diff --git a/engines/fullpipe/scenes/scene10.cpp b/engines/fullpipe/scenes/scene10.cpp
index 4444643..3977337 100644
--- a/engines/fullpipe/scenes/scene10.cpp
+++ b/engines/fullpipe/scenes/scene10.cpp
@@ -53,9 +53,9 @@ void scene10_initScene(Scene *sc) {
 }
 
 bool sceneHandler10_inflaterIsBlind() {
-	warning("STUB: sceneHandler10_inflaterIsBlind()");
-
-	return false;
+	return g_vars->scene10_inflater->_movement
+		&& g_vars->scene10_inflater->_movement->_id == MV_NDV_BLOW2
+		&& g_vars->scene10_inflater->_movement->_currDynamicPhaseIndex < 42;
 }
 
 int scene10_updateCursor() {
@@ -78,11 +78,17 @@ void sceneHandler10_clickGum() {
 }
 
 void sceneHandler10_hideGum() {
-	warning("STUB: sceneHandler10_hideGum()");
+	g_vars->scene10_gum->hide();
+	g_vars->scene10_packet->hide();
+	g_vars->scene10_packet2->hide();
 }
 
 void sceneHandler10_showGum() {
-	warning("STUB: sceneHandler10_showGum()");
+	if (g_vars->scene10_hasGum)
+		g_vars->scene10_gum->show1(-1, -1, -1, 0);
+
+	g_vars->scene10_packet->show1(-1, -1, -1, 0);
+	g_vars->scene10_packet2->show1(-1, -1, -1, 0);
 }
 
 


Commit: fec15ed2ccec8917c63728b44f40417ed983a73b
    https://github.com/scummvm/scummvm/commit/fec15ed2ccec8917c63728b44f40417ed983a73b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-23T05:06:44-08:00

Commit Message:
FULLPIPE: Implement sceneHandler10_clickGum(). This completes scene10

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index c4ea3dd..0b53e27 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -229,6 +229,8 @@ namespace Fullpipe {
 #define MV_MOM_TAKE4 2888
 #define MV_MOM_TAKE5 2889
 #define MV_NDV_BLOW2 2855
+#define MV_NDV_DENIES 952
+#define MV_NDV_DENY_NOGUM 3022
 #define MV_OTM_BOXHANDLEDOWN 626
 #define MV_OTM_BOXHANDLEUP 627
 #define MV_OTM_HANDLEDOWN 620
@@ -345,6 +347,7 @@ namespace Fullpipe {
 #define QU_SC8_STANDUP 2975
 #define QU_SC10_ENTERLIFT 1067
 #define QU_SC10_EXITLIFT 2809
+#define QU_SC10_TAKEGUM 3026
 #define SC_1 301
 #define SC_10 653
 #define SC_11 654
@@ -469,6 +472,7 @@ namespace Fullpipe {
 #define ST_MOM_SITS 659
 #define ST_MOM_STANDS 658
 #define ST_NBL_NORM 1076
+#define ST_NDV_SIT 946
 #define ST_OTM_BOX_LEFT 429
 #define ST_OTM_GLS_LEFT 421
 #define ST_OTM_VNT_LEFT 434
diff --git a/engines/fullpipe/scenes/scene10.cpp b/engines/fullpipe/scenes/scene10.cpp
index 3977337..78f3fcd 100644
--- a/engines/fullpipe/scenes/scene10.cpp
+++ b/engines/fullpipe/scenes/scene10.cpp
@@ -31,6 +31,7 @@
 
 #include "fullpipe/behavior.h"
 #include "fullpipe/interaction.h"
+#include "fullpipe/motion.h"
 
 namespace Fullpipe {
 
@@ -74,7 +75,36 @@ int scene10_updateCursor() {
 }
 
 void sceneHandler10_clickGum() {
-	warning("STUB: sceneHandler10_clickGum()");
+	if (g_vars->scene10_hasGum) {
+		if (sceneHandler10_inflaterIsBlind()) {
+			if (g_vars->scene10_hasGum) {
+				int x = g_vars->scene10_gum->_ox - 139;
+				int y = g_vars->scene10_gum->_oy - 48;
+
+				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_RIGHT);
+					if (mq) {
+						ExCommand *ex = new ExCommand(0, 17, MSG_SC10_CLICKGUM, 0, 0, 0, 1, 0, 0, 0);
+						ex->_excFlags = 2;
+						mq->addExCommandToEnd(ex);
+
+						postExCommand(g_fp->_aniMan->_id, 2, x, y, 0, -1);
+					}
+				} else {
+					g_vars->scene10_hasGum = 0;
+
+					chainQueue(QU_SC10_TAKEGUM, 1);
+				}
+			}
+		} else {
+			g_vars->scene10_inflater->changeStatics2(ST_NDV_SIT);
+
+			if (g_fp->getObjectState(sO_Inflater) == g_fp->getObjectEnumState(sO_Inflater, sO_WithGum))
+				g_vars->scene10_inflater->startAnim(MV_NDV_DENIES, 0, -1);
+			else
+				g_vars->scene10_inflater->startAnim(MV_NDV_DENY_NOGUM, 0, -1);
+		}
+	}
 }
 
 void sceneHandler10_hideGum() {






More information about the Scummvm-git-logs mailing list