[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