[Scummvm-cvs-logs] scummvm master -> 485807a4da1f8c2b04a75fac5d48ce39617eea85
sev-
sev at scummvm.org
Wed Jan 1 22:48:27 CET 2014
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
4b507b2878 FULLPIPE: Initial code for scene17.cpp
065118d8b6 FULLPIPE: Plug scene17 in
485807a4da FULLPIPE: Implement sceneHandler17()
Commit: 4b507b2878a27f91fe172ca5b494c71ff98c30fd
https://github.com/scummvm/scummvm/commit/4b507b2878a27f91fe172ca5b494c71ff98c30fd
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T13:08:15-08:00
Commit Message:
FULLPIPE: Initial code for scene17.cpp
Changed paths:
A engines/fullpipe/scenes/scene17.cpp
diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp
new file mode 100644
index 0000000..7251aae
--- /dev/null
+++ b/engines/fullpipe/scenes/scene17.cpp
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "fullpipe/fullpipe.h"
+
+#include "fullpipe/objectnames.h"
+#include "fullpipe/constants.h"
+
+#include "fullpipe/gameloader.h"
+#include "fullpipe/motion.h"
+#include "fullpipe/scenes.h"
+#include "fullpipe/statics.h"
+
+#include "fullpipe/interaction.h"
+#include "fullpipe/behavior.h"
+
+
+namespace Fullpipe {
+
+void scene17_initScene(Scene *sc) {
+ g_vars->scene17_var01 = 200;
+ g_vars->scene17_var02 = 200;
+ g_vars->scene17_var03 = 300;
+ g_vars->scene17_var04 = 300;
+ g_vars->scene17_var05 = 1;
+ g_vars->scene17_var06 = 0;
+ g_vars->scene17_var07 = 0;
+ g_vars->scene17_var08 = 0;
+ g_vars->scene17_hand = sc->getStaticANIObject1ById(ANI_HAND17, -1);
+}
+
+} // End of namespace Fullpipe
Commit: 065118d8b67b9bbc19b0bedb54a46ef27db89520
https://github.com/scummvm/scummvm/commit/065118d8b67b9bbc19b0bedb54a46ef27db89520
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T13:08:15-08:00
Commit Message:
FULLPIPE: Plug scene17 in
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/module.mk
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene17.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 07b761b..013e920 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -688,6 +688,9 @@ namespace Fullpipe {
#define ST_MUG_EMPTY 1298
#define ST_MUG_FULL 1360
+// Scene 17
+#define ANI_HAND17 1446
+
// Scene 24
#define ANI_DROP_24 3505
#define ANI_JET24 1837
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index b9a82fa..ea83767 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -39,6 +39,7 @@ MODULE_OBJS = \
scenes/scene14.o \
scenes/scene15.o \
scenes/scene16.o \
+ scenes/scene17.o \
scenes/scene24.o \
scenes/sceneDbg.o \
scenes/sceneIntro.o
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index e5e5f94..ed3e696 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -239,6 +239,16 @@ Vars::Vars() {
scene16_sound = 0;
scene16_placeIsOccupied = false;
+ scene17_var01 = 0;
+ scene17_var02 = 0;
+ scene17_var03 = 0;
+ scene17_var04 = 0;
+ scene17_var05 = 0;
+ scene17_var06 = 0;
+ scene17_var07 = 0;
+ scene17_var08 = 0;
+ scene17_hand = 0;
+
scene24_jetIsOn = false;
scene24_flowIsLow = false;
scene24_waterIsOn = false;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 4ad961b..d055b25 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -320,6 +320,16 @@ public:
int scene16_sound;
bool scene16_placeIsOccupied;
+ int scene17_var01;
+ int scene17_var02;
+ int scene17_var03;
+ int scene17_var04;
+ int scene17_var05;
+ int scene17_var06;
+ int scene17_var07;
+ int scene17_var08;
+ StaticANIObject *scene17_hand;
+
bool scene24_jetIsOn;
bool scene24_flowIsLow;
bool scene24_waterIsOn;
diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp
index 7251aae..3a2c725 100644
--- a/engines/fullpipe/scenes/scene17.cpp
+++ b/engines/fullpipe/scenes/scene17.cpp
@@ -37,15 +37,15 @@
namespace Fullpipe {
void scene17_initScene(Scene *sc) {
- g_vars->scene17_var01 = 200;
- g_vars->scene17_var02 = 200;
- g_vars->scene17_var03 = 300;
- g_vars->scene17_var04 = 300;
- g_vars->scene17_var05 = 1;
- g_vars->scene17_var06 = 0;
- g_vars->scene17_var07 = 0;
- g_vars->scene17_var08 = 0;
- g_vars->scene17_hand = sc->getStaticANIObject1ById(ANI_HAND17, -1);
+ g_vars->scene17_var01 = 200;
+ g_vars->scene17_var02 = 200;
+ g_vars->scene17_var03 = 300;
+ g_vars->scene17_var04 = 300;
+ g_vars->scene17_var05 = 1;
+ g_vars->scene17_var06 = 0;
+ g_vars->scene17_var07 = 0;
+ g_vars->scene17_var08 = 0;
+ g_vars->scene17_hand = sc->getStaticANIObject1ById(ANI_HAND17, -1);
}
} // End of namespace Fullpipe
Commit: 485807a4da1f8c2b04a75fac5d48ce39617eea85
https://github.com/scummvm/scummvm/commit/485807a4da1f8c2b04a75fac5d48ce39617eea85
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-01T13:47:46-08:00
Commit Message:
FULLPIPE: Implement sceneHandler17()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene17.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 013e920..a292be0 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -690,9 +690,23 @@ namespace Fullpipe {
// Scene 17
#define ANI_HAND17 1446
+#define MSG_SC17_DROP 3414
+#define MSG_SC17_FILLBOTTLE 1436
+#define MSG_SC17_HIDESUGAR 1417
+#define MSG_SC17_SHOWBOTTLE 1432
+#define MSG_SC17_SHOWSUGAR 1416
+#define MSG_SC17_TESTTRUBA 1458
+#define MSG_SC17_UPDATEHAND 1560
+#define PIC_SC17_RTRUBA 1323
+#define PIC_SC17_RTRUBA2 5297
+#define QU_HND17_ASK 1456
+#define QU_HND17_ATTRACT 1455
+#define QU_HND17_TOCYCLE 1454
+#define ST_HND17_EMPTY 1448
// Scene 24
#define ANI_DROP_24 3505
+#define ANI_INV_HAMMER 884
#define ANI_JET24 1837
#define ANI_WATER24 1834
#define MV_MAN_TURN_RL 332
@@ -705,6 +719,7 @@ namespace Fullpipe {
#define SND_24_006 4041
#define SND_24_007 4042
#define ST_DRP24_EMPTY 3507
+#define ST_HND17_ATTRACT 1451
#define ST_WTR24_FLOWLOWER 1843
// Debug scene
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index ed3e696..5a21543 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -248,6 +248,8 @@ Vars::Vars() {
scene17_var07 = 0;
scene17_var08 = 0;
scene17_hand = 0;
+ scene17_var09 = 0;
+ scene17_var10 = 0;
scene24_jetIsOn = false;
scene24_flowIsLow = false;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index d055b25..012cd20 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -329,6 +329,8 @@ public:
int scene17_var07;
int scene17_var08;
StaticANIObject *scene17_hand;
+ int scene17_var09;
+ int scene17_var10;
bool scene24_jetIsOn;
bool scene24_flowIsLow;
diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp
index 3a2c725..e08299b 100644
--- a/engines/fullpipe/scenes/scene17.cpp
+++ b/engines/fullpipe/scenes/scene17.cpp
@@ -32,7 +32,7 @@
#include "fullpipe/interaction.h"
#include "fullpipe/behavior.h"
-
+#include "fullpipe/floaters.h"
namespace Fullpipe {
@@ -48,4 +48,156 @@ void scene17_initScene(Scene *sc) {
g_vars->scene17_hand = sc->getStaticANIObject1ById(ANI_HAND17, -1);
}
+void sceneHandler17_drop() {
+ warning("STUB: sceneHandler17_drop()");
+}
+
+void sceneHandler17_fillBottle() {
+ warning("STUB: sceneHandler17_fillBottle()");
+}
+
+void sceneHandler17_testTruba() {
+ warning("STUB: sceneHandler17_testTruba()");
+}
+
+void sceneHandler17_showBottle() {
+ warning("STUB: sceneHandler17_showBottle()");
+}
+
+void sceneHandler17_hideSugar() {
+ warning("STUB: sceneHandler17_hideSugar()");
+}
+
+void sceneHandler17_showSugar() {
+ warning("STUB: sceneHandler17_showSugar()");
+}
+
+void sceneHandler17_moonshineFill() {
+ warning("STUB: sceneHandler17_moonshineFill()");
+}
+
+void sceneHandler17_updateFlies() {
+ warning("STUB: sceneHandler17_updateFlies()");
+}
+
+
+int sceneHandler17(ExCommand *cmd) {
+ if (cmd->_messageKind != 17)
+ return 0;
+
+ switch (cmd->_messageNum) {
+ case MSG_SC17_DROP:
+ sceneHandler17_drop();
+ break;
+
+ case MSG_SC17_UPDATEHAND:
+ if (g_fp->getObjectState(sO_UsherHand) == g_fp->getObjectEnumState(sO_UsherHand, sO_WithCoin)) {
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_ASK, 0);
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 0);
+
+ g_vars->scene17_var09 = 0;
+ } else {
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_ASK, 0);
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 1);
+
+ g_vars->scene17_var09 = 1;
+ }
+ break;
+
+ case MSG_SC17_FILLBOTTLE:
+ sceneHandler17_fillBottle();
+ break;
+
+ case MSG_SC17_TESTTRUBA:
+ sceneHandler17_testTruba();
+ break;
+
+ case MSG_SC17_SHOWBOTTLE:
+ sceneHandler17_showBottle();
+ break;
+
+ case MSG_SC17_HIDESUGAR:
+ sceneHandler17_hideSugar();
+ break;
+
+ case MSG_SC17_SHOWSUGAR:
+ sceneHandler17_showSugar();
+ break;
+
+ case 29:
+ {
+ int pic = g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+
+ if (pic == PIC_SC17_RTRUBA2 || pic == PIC_SC17_RTRUBA) {
+ if (cmd->_keyCode == ANI_INV_COIN || cmd->_keyCode == ANI_INV_BOOT || cmd->_keyCode == ANI_INV_HAMMER) {
+ if (g_vars->scene17_var09) {
+ if (g_fp->_aniMan->isIdle()) {
+ if (!(g_fp->_aniMan->_flags & 0x100)) {
+ handleObjectInteraction(g_fp->_aniMan, g_vars->scene17_hand, cmd->_keyCode);
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+
+ case 33:
+ {
+ int x = g_vars->scene17_var10;
+ g_vars->scene17_var07 = g_vars->scene17_var10;
+
+ if (g_fp->_aniMan2) {
+ x = g_fp->_aniMan2->_ox;
+
+ g_vars->scene17_var10 = x;
+
+ if (x < g_fp->_sceneRect.left + g_vars->scene17_var01) {
+ g_fp->_currentScene->_x = x - g_vars->scene17_var03 - g_fp->_sceneRect.left;
+
+ x = g_vars->scene17_var10;
+ }
+
+ if (x > g_fp->_sceneRect.right - g_vars->scene17_var01) {
+ g_fp->_currentScene->_x = x + g_vars->scene17_var03 - g_fp->_sceneRect.right;
+ x = g_vars->scene17_var10;
+ }
+ }
+
+ if (g_vars->scene17_var06) {
+ sceneHandler17_moonshineFill();
+ x = g_vars->scene17_var10;
+ }
+
+ if (g_vars->scene17_var09) {
+ if (g_vars->scene17_var07 < 410 && x >= 410) {
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 0);
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_ATTRACT, QU_HND17_ATTRACT, 0);
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_ASK, 1);
+ } else if (g_vars->scene17_var07 > 410 && x <= 410) {
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_TOCYCLE, 1);
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_ATTRACT, QU_HND17_ATTRACT, 1);
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene17_hand, ST_HND17_EMPTY, QU_HND17_ASK, 0);
+ }
+ }
+
+ --g_vars->scene17_var08;
+
+ if (!g_vars->scene17_var08)
+ sceneHandler17_updateFlies();
+
+ g_fp->_floaters->update();
+
+ g_fp->_behaviorManager->updateBehaviors();
+
+ g_fp->startSceneTrack();
+
+ break;
+ }
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
More information about the Scummvm-git-logs
mailing list