[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