[Scummvm-cvs-logs] scummvm master -> 273974cca25bdce1727a6fda5bb405838703923c
sev-
sev at scummvm.org
Mon Jan 20 04:51:48 CET 2014
This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
f923425692 FULLPIPE: Initial code for scene38
a5a60d565e FULLPIPE: Plug scene38 in
151a13d82d FULLPIPE: Implement scene38_setBottleState()
7e07e3448e FULLPIPE: Implement sceneHandler38()
055b390bc7 FULLPIPE: Implement sceneHandler38_drink()
273974cca2 FULLPIPE: Implement sceneHandler38_tryTakeBottle() and postHammerKick()
Commit: f923425692730422b45053c10087cb1fcb20588c
https://github.com/scummvm/scummvm/commit/f923425692730422b45053c10087cb1fcb20588c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-19T04:19:43-08:00
Commit Message:
FULLPIPE: Initial code for scene38
Changed paths:
A engines/fullpipe/scenes/scene38.cpp
diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
new file mode 100644
index 0000000..3fcbda1
--- /dev/null
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -0,0 +1,82 @@
+/* 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 scene38_setBottleState(Scene *sc) {
+ warning("STUB: scene38_setBottleState()");
+}
+
+void scene38_initScene(Scene *sc) {
+ g_vars->scene38_var01 = 200;
+ g_vars->scene38_var02 = 200;
+ g_vars->scene38_var03 = 300;
+ g_vars->scene38_var04 = 300;
+ g_vars->scene38_boss = sc->getStaticANIObject1ById(ANI_GLAVAR, -1);
+ g_vars->scene38_tally = sc->getStaticANIObject1ById(ANI_DYLDA, -1);
+ g_vars->scene38_shorty = sc->getStaticANIObject1ById(ANI_MALYSH, -1);
+ g_vars->scene38_domino0 = sc->getStaticANIObject1ById(ANI_DOMINO38, 0);
+ g_vars->scene38_dominos = sc->getStaticANIObject1ById(ANI_DOMINOS, 0);
+ g_vars->scene38_domino1 = sc->getStaticANIObject1ById(ANI_DOMINO38, 1);
+ g_vars->scene38_bottle = sc->getStaticANIObject1ById(ANI_BOTTLE38, 0);
+ g_vars->scene38_var05 = 0;
+ g_vars->scene38_var06 = 0;
+ g_vars->scene38_var07 = 0;
+ g_vars->scene38_var08 = 15;
+ g_vars->scene38_var09 = 0;
+ g_vars->scene38_var10 = 0;
+ g_vars->scene38_var11 = 30;
+ g_vars->scene38_var12 = 0;
+ g_vars->scene38_var13 = 0;
+
+ scene38_setBottleState(sc);
+
+ if (g_fp->getObjectState(sO_Boss) == g_fp->getObjectEnumState(sO_Boss, sO_IsSleeping)) {
+ g_vars->scene38_shorty->flags &= 0xFFFB;
+
+ g_vars->scene38_tally->stopAnim_maybe();
+ g_vars->scene38_tally->_flags &= 0xFFFB;
+
+ g_vars->scene38_domino0->_flags &= 0xFFFB;
+ g_vars->scene38_dominos->_flags &= 0xFFFB;
+ g_vars->scene38_domino1->_flags &= 0xFFFB;
+ }
+
+ g_fp->lift_sub5(sc, QU_SC38_ENTERLIFT, QU_SC38_EXITLIFT);
+ g_fp->lift_sub7(sc, ST_LBN_0N);
+}
+
+} // End of namespace Fullpipe
Commit: a5a60d565ebb1ff0fab38a6d8e9c39054e9690c5
https://github.com/scummvm/scummvm/commit/a5a60d565ebb1ff0fab38a6d8e9c39054e9690c5
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-19T04:28:47-08:00
Commit Message:
FULLPIPE: Plug scene38 in
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/fullpipe.h
engines/fullpipe/lift.cpp
engines/fullpipe/module.mk
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene38.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 2968048..ed07021 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1298,6 +1298,16 @@ namespace Fullpipe {
#define ST_RNG_CLOSED2 4865
#define ST_RNG_OPEN 2606
+// Scene 38
+#define ANI_BOTTLE38 2188
+#define ANI_DOMINO38 2200
+#define ANI_DOMINOS 3317
+#define ANI_DYLDA 2169
+#define ANI_GLAVAR 2154
+#define ANI_MALYSH 2165
+#define QU_SC38_ENTERLIFT 2836
+#define QU_SC38_EXITLIFT 2837
+
// Debug scene
#define MSG_RESTARTGAME 4767
#define PIC_SCD_1 727
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index ecf3c12..aa6e0da 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -269,6 +269,7 @@ public:
int lift_getButtonIdP(int objid);
void lift_setButton(const char *name, int state);
void lift_sub5(Scene *sc, int qu1, int qu2);
+ void lift_sub7(Scene *sc, int buttonId);
void lift_exitSeq(ExCommand *ex);
void lift_closedoorSeq();
void lift_animation3();
diff --git a/engines/fullpipe/lift.cpp b/engines/fullpipe/lift.cpp
index cb811d6..e5c566e 100644
--- a/engines/fullpipe/lift.cpp
+++ b/engines/fullpipe/lift.cpp
@@ -111,4 +111,9 @@ bool FullpipeEngine::lift_checkButton(const char *varname) {
return false;
}
+void FullpipeEngine::lift_sub7(Scene *sc, int buttonId) {
+ warning("STUB: lift_sub7()");
+}
+
+
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index a692491..d9cecf0 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -58,6 +58,7 @@ MODULE_OBJS = \
scenes/scene35.o \
scenes/scene36.o \
scenes/scene37.o \
+ scenes/scene38.o \
scenes/sceneDbg.o
# This module can be built as a plugin
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index c021a02..1e4a563 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -365,6 +365,27 @@ Vars::Vars() {
scene37_soundFlipper = 0;
scene37_dudeX = 0;
+ scene38_var01 = 0;
+ scene38_var02 = 0;
+ scene38_var03 = 0;
+ scene38_var04 = 0;
+ scene38_boss = 0;
+ scene38_tally = 0;
+ scene38_shorty = 0;
+ scene38_domino0 = 0;
+ scene38_dominos = 0;
+ scene38_domino1 = 0;
+ scene38_bottle = 0;
+ scene38_var05 = 0;
+ scene38_var06 = 0;
+ scene38_var07 = 0;
+ scene38_var08 = 0;
+ scene38_var09 = 0;
+ scene38_var10 = 0;
+ scene38_var11 = 0;
+ scene38_var12 = 0;
+ scene38_var13 = 0;
+
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 61fb5b3..b35d0eb 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -516,6 +516,27 @@ public:
int scene37_soundFlipper;
int scene37_dudeX;
+ int scene38_var01;
+ int scene38_var02;
+ int scene38_var03;
+ int scene38_var04;
+ StaticANIObject *scene38_boss;
+ StaticANIObject *scene38_tally;
+ StaticANIObject *scene38_shorty;
+ StaticANIObject *scene38_domino0;
+ StaticANIObject *scene38_dominos;
+ StaticANIObject *scene38_domino1;
+ StaticANIObject *scene38_bottle;
+ int scene38_var05;
+ int scene38_var06;
+ int scene38_var07;
+ int scene38_var08;
+ int scene38_var09;
+ int scene38_var10;
+ int scene38_var11;
+ int scene38_var12;
+ int scene38_var13;
+
PictureObject *selector;
};
diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
index 3fcbda1..3a53c0f 100644
--- a/engines/fullpipe/scenes/scene38.cpp
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -65,7 +65,7 @@ void scene38_initScene(Scene *sc) {
scene38_setBottleState(sc);
if (g_fp->getObjectState(sO_Boss) == g_fp->getObjectEnumState(sO_Boss, sO_IsSleeping)) {
- g_vars->scene38_shorty->flags &= 0xFFFB;
+ g_vars->scene38_shorty->_flags &= 0xFFFB;
g_vars->scene38_tally->stopAnim_maybe();
g_vars->scene38_tally->_flags &= 0xFFFB;
Commit: 151a13d82ddb486ffc9775dc60a4b1b4d039ceac
https://github.com/scummvm/scummvm/commit/151a13d82ddb486ffc9775dc60a4b1b4d039ceac
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-19T04:37:09-08:00
Commit Message:
FULLPIPE: Implement scene38_setBottleState()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene38.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index ed07021..86c8834 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1305,6 +1305,8 @@ namespace Fullpipe {
#define ANI_DYLDA 2169
#define ANI_GLAVAR 2154
#define ANI_MALYSH 2165
+#define QU_SC38_SHOWBOTTLE 2199
+#define QU_SC38_SHOWBOTTLE_ONTABLE 2838
#define QU_SC38_ENTERLIFT 2836
#define QU_SC38_EXITLIFT 2837
diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
index 3a53c0f..0b53461 100644
--- a/engines/fullpipe/scenes/scene38.cpp
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -37,7 +37,18 @@
namespace Fullpipe {
void scene38_setBottleState(Scene *sc) {
- warning("STUB: scene38_setBottleState()");
+ ExCommand *ex = sc->getMessageQueueById(QU_SC38_SHOWBOTTLE_ONTABLE)->getExCommandByIndex(0);
+
+ if (g_vars->scene38_bottle->_ox == ex->_x && g_vars->scene38_bottle->_oy == ex->_y) {
+ if (g_fp->lift_checkButton(sO_Level5) ) {
+ ex = sc->getMessageQueueById(QU_SC38_SHOWBOTTLE)->getExCommandByIndex(0);
+
+ g_vars->scene38_bottle->setOXY(ex->_x, ex->_y);
+ g_vars->scene38_bottle->_priority = ex->_field_14;
+
+ g_fp->setObjectState(sO_Bottle_38, g_fp->getObjectEnumState(sO_Bottle_38, sO_Blocked));
+ }
+ }
}
void scene38_initScene(Scene *sc) {
Commit: 7e07e3448e98fc1bcbe72e0855479a1c300cf611
https://github.com/scummvm/scummvm/commit/7e07e3448e98fc1bcbe72e0855479a1c300cf611
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-19T04:59:18-08:00
Commit Message:
FULLPIPE: Implement sceneHandler38()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene38.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 86c8834..25381b6 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1305,6 +1305,12 @@ namespace Fullpipe {
#define ANI_DYLDA 2169
#define ANI_GLAVAR 2154
#define ANI_MALYSH 2165
+#define MSG_SC38_DRINK 2225
+#define MSG_SC38_HMRKICK 2224
+#define MSG_SC38_POINT 2226
+#define MSG_SC38_POSTHMRKICK 2256
+#define MSG_SC38_PROPOSE 2287
+#define MSG_SC38_TRYTAKEBOTTLE 3179
#define QU_SC38_SHOWBOTTLE 2199
#define QU_SC38_SHOWBOTTLE_ONTABLE 2838
#define QU_SC38_ENTERLIFT 2836
diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
index 0b53461..67a4c21 100644
--- a/engines/fullpipe/scenes/scene38.cpp
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -90,4 +90,120 @@ void scene38_initScene(Scene *sc) {
g_fp->lift_sub7(sc, ST_LBN_0N);
}
+void sceneHandler38_tryTakeBottle() {
+ warning("STUB: sceneHandler38_tryTakeBottle()");
+}
+
+void sceneHandler38_postHammerKick() {
+ warning("STUB: sceneHandler38_postHammerKick()");
+}
+
+void sceneHandler38_propose() {
+ warning("STUB: sceneHandler38_propose()");
+}
+
+void sceneHandler38_point() {
+ warning("STUB: sceneHandler38_point()");
+}
+
+void sceneHandler38_hammerKick() {
+ warning("STUB: sceneHandler38_hammerKick()");
+}
+
+void sceneHandler38_drink() {
+ warning("STUB: sceneHandler38_drink()");
+}
+
+void sceneHandler38_animateAlcoholics() {
+ warning("STUB: sceneHandler38_animateAlcoholics()");
+}
+
+int sceneHandler38(ExCommand *cmd) {
+ if (cmd->_messageKind != 17)
+ return 0;
+
+ switch (cmd->_messageNum) {
+ case MSG_LIFT_EXITLIFT:
+ g_fp->lift_exitSeq(cmd);
+ break;
+
+ case MSG_LIFT_CLOSEDOOR:
+ g_fp->lift_closedoorSeq();
+ break;
+
+ case MSG_LIFT_STARTEXITQUEUE:
+ g_fp->lift_startExitQueue();
+ break;
+
+ case MSG_SC38_TRYTAKEBOTTLE:
+ sceneHandler38_tryTakeBottle();
+ break;
+
+ case MSG_SC38_POSTHMRKICK:
+ sceneHandler38_postHammerKick();
+ break;
+
+ case MSG_SC38_PROPOSE:
+ sceneHandler38_propose();
+ break;
+
+ case MSG_LIFT_CLICKBUTTON:
+ g_fp->lift_animation3();
+ break;
+
+ case MSG_SC38_POINT:
+ sceneHandler38_point();
+ break;
+
+ case MSG_LIFT_GO:
+ g_fp->lift_goAnimation();
+ break;
+
+ case MSG_SC38_HMRKICK:
+ sceneHandler38_hammerKick();
+ break;
+
+ case MSG_SC38_DRINK:
+ sceneHandler38_drink();
+ break;
+
+ case 64:
+ g_fp->lift_sub05(cmd);
+ break;
+
+ case 29:
+ {
+ StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(g_fp->_sceneRect.left + cmd->_x, g_fp->_sceneRect.top + cmd->_y);
+
+ if (ani && ani->_id == ANI_LIFTBUTTON) {
+ g_fp->lift_sub1(ani);
+
+ cmd->_messageKind = 0;
+ }
+ break;
+ }
+
+ case 33:
+ if (g_fp->_aniMan2) {
+ int x = g_fp->_aniMan2->_ox;
+
+ if (x < g_fp->_sceneRect.left + g_vars->scene38_var01)
+ g_fp->_currentScene->_x = x - g_vars->scene38_var03 - g_fp->_sceneRect.left;
+
+ if (x > g_fp->_sceneRect.right - g_vars->scene38_var01 )
+ g_fp->_currentScene->_x = x + g_vars->scene38_var03 - g_fp->_sceneRect.right;
+ }
+
+ sceneHandler38_animateAlcoholics();
+
+ g_fp->_behaviorManager->updateBehaviors();
+
+ g_fp->startSceneTrack();
+
+ break;
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: 055b390bc727d4fb93ba565dc7d92bfe1bcd70ce
https://github.com/scummvm/scummvm/commit/055b390bc727d4fb93ba565dc7d92bfe1bcd70ce
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-19T05:02:42-08:00
Commit Message:
FULLPIPE: Implement sceneHandler38_drink()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene38.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 25381b6..e45afe7 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1311,6 +1311,8 @@ namespace Fullpipe {
#define MSG_SC38_POSTHMRKICK 2256
#define MSG_SC38_PROPOSE 2287
#define MSG_SC38_TRYTAKEBOTTLE 3179
+#define ST_MLS_LEFT2 2291
+#define QU_MLS_TURNR 2221
#define QU_SC38_SHOWBOTTLE 2199
#define QU_SC38_SHOWBOTTLE_ONTABLE 2838
#define QU_SC38_ENTERLIFT 2836
diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
index 67a4c21..121770f 100644
--- a/engines/fullpipe/scenes/scene38.cpp
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -111,7 +111,16 @@ void sceneHandler38_hammerKick() {
}
void sceneHandler38_drink() {
- warning("STUB: sceneHandler38_drink()");
+ if (!g_vars->scene38_shorty->_movement) {
+ if (g_vars->scene38_shorty->_flags & 4) {
+ if (!(g_vars->scene38_shorty->_flags & 2) && g_vars->scene38_var11 > 0
+ && g_vars->scene38_shorty->_statics->_staticsId == ST_MLS_LEFT2
+ && g_fp->_rnd->getRandomNumber(32767) < 3276) {
+ chainQueue(QU_MLS_TURNR, 0);
+ g_vars->scene38_var11 = 0;
+ }
+ }
+ }
}
void sceneHandler38_animateAlcoholics() {
Commit: 273974cca25bdce1727a6fda5bb405838703923c
https://github.com/scummvm/scummvm/commit/273974cca25bdce1727a6fda5bb405838703923c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-19T05:06:38-08:00
Commit Message:
FULLPIPE: Implement sceneHandler38_tryTakeBottle() and postHammerKick()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene38.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index e45afe7..4e40d11 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1311,6 +1311,8 @@ namespace Fullpipe {
#define MSG_SC38_POSTHMRKICK 2256
#define MSG_SC38_PROPOSE 2287
#define MSG_SC38_TRYTAKEBOTTLE 3179
+#define MV_GLV_LOOKMAN 2167
+#define ST_GLV_NOHAMMER 2159
#define ST_MLS_LEFT2 2291
#define QU_MLS_TURNR 2221
#define QU_SC38_SHOWBOTTLE 2199
diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
index 121770f..a334b78 100644
--- a/engines/fullpipe/scenes/scene38.cpp
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -91,11 +91,14 @@ void scene38_initScene(Scene *sc) {
}
void sceneHandler38_tryTakeBottle() {
- warning("STUB: sceneHandler38_tryTakeBottle()");
+ g_vars->scene38_boss->changeStatics2(ST_GLV_NOHAMMER);
+ g_vars->scene38_boss->startAnim(MV_GLV_LOOKMAN, 0, -1);
+
+ g_vars->scene38_var05 = 0;
}
void sceneHandler38_postHammerKick() {
- warning("STUB: sceneHandler38_postHammerKick()");
+ g_vars->scene38_domino1->setOXY(g_vars->scene38_domino1->_ox, g_vars->scene38_domino1->_oy + 2);
}
void sceneHandler38_propose() {
More information about the Scummvm-git-logs
mailing list