[Scummvm-cvs-logs] scummvm master -> 3832f91187f7b8c2d7d0bb8fe8ad82aefbce1990

sev- sev at scummvm.org
Thu Dec 19 18:16:38 CET 2013


This automated email contains information about 8 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
10763d0608 FULLPIPE: Implement scene07_initScene()
db5156793e FULLPIPE: Implement sceneHandler07()
5884090696 FULLPIPE: Implement sceneHandler07_closeLuke()
4193742c7c FULLPIPE: Implement scene07_hide/showBox()
97cd39bb95 FULLPIPE: Implement sceneHandler07_hideLuke()
8862be264b FULLPIPE: Implement sceneHandler07_openLuke()
d8c3d47200 FULLPIPE: Enable scene07
3832f91187 FULLPIPE: Initial code for init_scene08()


Commit: 10763d0608eaa521a0885553231987c30eb266c6
    https://github.com/scummvm/scummvm/commit/10763d0608eaa521a0885553231987c30eb266c6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-19T07:49:27-08:00

Commit Message:
FULLPIPE: Implement scene07_initScene()

Changed paths:
  A engines/fullpipe/scenes/scene07.cpp
    engines/fullpipe/constants.h
    engines/fullpipe/module.mk
    engines/fullpipe/scenes.cpp
    engines/fullpipe/scenes.h



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 1a41538..433866f 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -32,6 +32,7 @@ namespace Fullpipe {
 #define ANI_BUTTON 598
 #define ANI_BUTTON_6 2988
 #define ANI_CLOCK 588
+#define ANI_CORNERSITTER 71
 #define ANI_DOMINO_3 2732
 #define ANI_DADAYASHIK 306
 #define ANI_EGGEATER 334
@@ -55,6 +56,7 @@ namespace Fullpipe {
 #define ANI_NEWBALL 1073
 #define ANI_OTMOROZ 419
 #define ANI_PLANK 501
+#define ANI_PLUSMINUS 2938
 #define ANI_SC2_BOX 1020
 #define ANI_SC4_BOOT 1035
 #define ANI_SC4_COIN 690
@@ -351,6 +353,7 @@ namespace Fullpipe {
 #define ST_BLK_CLOSED 912
 #define ST_BLK_OPEN 913
 #define ST_CLK_CLOSED 590
+#define ST_CST_HANDLELESS 794
 #define ST_DYAS_LIES 318
 #define ST_EGTR_MID1 2863
 #define ST_EGTR_MID2 2869
@@ -402,6 +405,8 @@ namespace Fullpipe {
 #define ST_OTM_BOX_LEFT 429
 #define ST_OTM_GLS_LEFT 421
 #define ST_OTM_VNT_LEFT 434
+#define ST_PMS_MINUS 2942
+#define ST_PMS_PLUS 2941
 #define ST_PNK_WEIGHTLEFT 503
 #define ST_PNK_WEIGHTRIGHT 504
 #define ST_SPR_UP 544
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index efb3d65..7c09811 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -30,6 +30,7 @@ MODULE_OBJS = \
 	scenes/scene04.o \
 	scenes/scene05.o \
 	scenes/scene06.o \
+	scenes/scene07.o \
 	scenes/sceneDbg.o \
 	scenes/sceneIntro.o
 
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 08eed72..83f4d6b 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -139,6 +139,10 @@ Vars::Vars() {
 	scene06_mumsyJumpBkPercent = 0;
 	scene06_mumsyJumpFwPercent = 0;
 
+	scene07_lukeAnim = 0;
+	scene07_lukePercent = 0;
+	scene07_plusMinus = 0;
+
 	selector = 0;
 }
 
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 6664d82..3751ed9 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -177,6 +177,10 @@ public:
 	int scene06_mumsyJumpBkPercent;
 	int scene06_mumsyJumpFwPercent;
 
+	BehaviorEntryInfo *scene07_lukeAnim;
+	int scene07_lukePercent;
+	StaticANIObject *scene07_plusMinus;
+
 	PictureObject *selector;
 };
 
diff --git a/engines/fullpipe/scenes/scene07.cpp b/engines/fullpipe/scenes/scene07.cpp
new file mode 100644
index 0000000..037a201
--- /dev/null
+++ b/engines/fullpipe/scenes/scene07.cpp
@@ -0,0 +1,55 @@
+/* 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/objects.h"
+#include "fullpipe/objectnames.h"
+#include "fullpipe/constants.h"
+#include "fullpipe/scenes.h"
+#include "fullpipe/scene.h"
+#include "fullpipe/statics.h"
+
+namespace Fullpipe {
+
+void scene07_initScene(Scene *sc) {
+	g_vars->scene07_lukeAnim = 0;
+	g_vars->scene07_lukePercent = 0;
+	g_vars->scene07_plusMinus = sc->getStaticANIObject1ById(ANI_PLUSMINUS, -1);
+
+	if (g_fullpipe->getObjectState(sO_Guard_1) == g_fullpipe->getObjectEnumState(sO_Guard_1, sO_Off))
+		g_vars->scene07_plusMinus->_statics = g_vars->scene07_plusMinus->getStaticsById(ST_PMS_MINUS);
+	else
+		g_vars->scene07_plusMinus->_statics = g_vars->scene07_plusMinus->getStaticsById(ST_PMS_PLUS);
+
+	if (g_fullpipe->getObjectState(sO_HareTheNooksiter) == g_fullpipe->getObjectEnumState(sO_HareTheNooksiter, sO_WithoutHandle)) {
+		Scene *oldsc = g_fullpipe->_currentScene;
+
+		g_fullpipe->_currentScene = sc;
+
+		sc->getStaticANIObject1ById(ANI_CORNERSITTER, -1)->changeStatics2(ST_CST_HANDLELESS);
+
+		g_fullpipe->_currentScene = oldsc;
+	}
+}
+
+} // End of namespace Fullpipe


Commit: db5156793e7f66dada1e244ff9cf87144a054071
    https://github.com/scummvm/scummvm/commit/db5156793e7f66dada1e244ff9cf87144a054071
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-19T08:10:07-08:00

Commit Message:
FULLPIPE: Implement sceneHandler07()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 433866f..f7e6f84 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -127,6 +127,12 @@ namespace Fullpipe {
 #define MSG_SC6_TAKEBALL 682
 #define MSG_SC6_TESTNUMBALLS 2904
 #define MSG_SC6_UTRUBACLICK 1105
+#define MSG_SC7_CLOSELUKE 822
+#define MSG_SC7_HIDEBOX 817
+#define MSG_SC7_HIDELUKE 821
+#define MSG_SC7_OPENLUKE 823
+#define MSG_SC7_PULL 2943
+#define MSG_SC7_SHOWBOX 816
 #define MSG_GOTOLADDER 618
 #define MSG_SHAKEBOTTLE 584
 #define MSG_SHOOTKOZAW 557
diff --git a/engines/fullpipe/scenes/scene07.cpp b/engines/fullpipe/scenes/scene07.cpp
index 037a201..a5c83d1 100644
--- a/engines/fullpipe/scenes/scene07.cpp
+++ b/engines/fullpipe/scenes/scene07.cpp
@@ -28,6 +28,8 @@
 #include "fullpipe/scenes.h"
 #include "fullpipe/scene.h"
 #include "fullpipe/statics.h"
+#include "fullpipe/messages.h"
+#include "fullpipe/behavior.h"
 
 namespace Fullpipe {
 
@@ -52,4 +54,80 @@ void scene07_initScene(Scene *sc) {
 	}
 }
 
+void sceneHandler07_openLuke() {
+	warning("STUB: sceneHandler07_openLuke()");
+}
+
+void sceneHandler07_closeLuke() {
+	warning("STUB: sceneHandler07_closeLuke()");
+}
+
+void sceneHandler07_hideLuke() {
+	warning("STUB: sceneHandler07_hideLuke()");
+}
+
+void sceneHandler07_showBox() {
+	warning("STUB: sceneHandler07_showBox()");
+}
+
+void sceneHandler07_hideBox() {
+	warning("STUB: sceneHandler07_hideBox()");
+}
+
+int sceneHandler07(ExCommand *ex) {
+	if (ex->_messageKind != 17)
+		return 0;
+
+	switch(ex->_messageNum) {
+	case MSG_SC7_OPENLUKE:
+		sceneHandler07_openLuke();
+		break;
+
+	case MSG_SC7_PULL:
+		if (g_vars->scene07_plusMinus->_statics->_staticsId == ST_PMS_MINUS)
+			g_vars->scene07_plusMinus->_statics = g_vars->scene07_plusMinus->getStaticsById(ST_PMS_PLUS);
+		else
+			g_vars->scene07_plusMinus->_statics = g_vars->scene07_plusMinus->getStaticsById(ST_PMS_MINUS);
+
+		break;
+
+    case MSG_SC7_CLOSELUKE:
+		sceneHandler07_closeLuke();
+		break;
+
+	case MSG_SC7_HIDELUKE:
+		sceneHandler07_hideLuke();
+		break;
+
+	case MSG_SC7_SHOWBOX:
+		sceneHandler07_showBox();
+		break;
+
+	case MSG_SC7_HIDEBOX:
+		sceneHandler07_hideBox();
+		break;
+
+	case 33:
+		{
+			int res = 0;
+
+			if (g_fullpipe->_aniMan2) {
+				if (g_fullpipe->_aniMan2->_ox < g_fullpipe->_sceneRect.left + 200)
+					g_fullpipe->_currentScene->_x = g_fullpipe->_aniMan2->_ox - g_fullpipe->_sceneRect.left - 300;
+
+				if (g_fullpipe->_aniMan2->_ox > g_fullpipe->_sceneRect.right - 200)
+					g_fullpipe->_currentScene->_x = g_fullpipe->_aniMan2->_ox - g_fullpipe->_sceneRect.right + 300;
+
+				res = 1;
+			}
+
+			g_fullpipe->_behaviorManager->updateBehaviors();
+
+			return res;
+		}
+	}
+
+	return 0;
+}
+
 } // End of namespace Fullpipe


Commit: 5884090696441001eb3acca5e0ddeff39e410026
    https://github.com/scummvm/scummvm/commit/5884090696441001eb3acca5e0ddeff39e410026
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-19T08:18:05-08:00

Commit Message:
FULLPIPE: Implement sceneHandler07_closeLuke()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index f7e6f84..bf843ef 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -39,6 +39,7 @@ namespace Fullpipe {
 #define ANI_EGGIE 4929
 #define ANI_HAND 601
 #define ANI_HANDLE 622
+#define ANI_HOOLIGAN 808
 #define ANI_IN1MAN 5110
 #define ANI_INV_COIN 875
 #define ANI_INV_EGGAPL 1564
@@ -50,6 +51,7 @@ namespace Fullpipe {
 #define ANI_INV_MAP 5321
 #define ANI_KOZAWKA 495
 #define ANI_LIFTBUTTON 2751
+#define ANI_LUKE 803
 #define ANI_MAMASHA 656
 #define ANI_MAMASHA_4 660
 #define ANI_MAN 322
@@ -261,6 +263,7 @@ namespace Fullpipe {
 #define PIC_SCD_SEL 734
 #define QU_BALL_WALKL 4920
 #define QU_BALL_WALKR 4919
+#define QU_CST_CLOSELUKE 820
 #define QU_EGG6_GOL 4936
 #define QU_EGG6_GOR 4935
 #define QU_EGTR_MD2_SHOW 4698
@@ -364,6 +367,7 @@ namespace Fullpipe {
 #define ST_EGTR_MID1 2863
 #define ST_EGTR_MID2 2869
 #define ST_EGTR_SLIM 336
+#define ST_HGN_LUKE 810
 #define ST_HDL_BROKEN 3342
 #define ST_HDL_DOWN 625
 #define ST_HDL_PLUGGED 2397
@@ -394,6 +398,7 @@ namespace Fullpipe {
 #define ST_LBN_8P 2775
 #define ST_LBN_9N 2777
 #define ST_LBN_9P 2778
+#define ST_LUK_CLOSED 805
 #define ST_MAN_GOLADDER 450
 #define ST_MAN_GOLADDER2 2843
 #define ST_MAN_EMPTY 476
diff --git a/engines/fullpipe/scenes/scene07.cpp b/engines/fullpipe/scenes/scene07.cpp
index a5c83d1..f324ff1 100644
--- a/engines/fullpipe/scenes/scene07.cpp
+++ b/engines/fullpipe/scenes/scene07.cpp
@@ -59,7 +59,21 @@ void sceneHandler07_openLuke() {
 }
 
 void sceneHandler07_closeLuke() {
-	warning("STUB: sceneHandler07_closeLuke()");
+	g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_LUKE, -1)->changeStatics2(ST_LUK_CLOSED);
+
+	if (!g_vars->scene07_lukeAnim) {
+		StaticANIObject *ani = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_CORNERSITTER, -1);
+
+		g_vars->scene07_lukeAnim = g_fullpipe->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(ani, ST_CST_HANDLELESS, QU_CST_CLOSELUKE);
+	}
+
+	g_vars->scene07_lukePercent = g_vars->scene07_lukeAnim->_percent;
+	g_vars->scene07_lukeAnim->_percent = 0;
+
+	StaticANIObject *ani = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_HOOLIGAN, -1);
+
+	ani->changeStatics2(ST_HGN_LUKE);
+	ani->show1(-1, -1, -1, 0);
 }
 
 void sceneHandler07_hideLuke() {


Commit: 4193742c7cec54efc7b89b3f88b026553860caf8
    https://github.com/scummvm/scummvm/commit/4193742c7cec54efc7b89b3f88b026553860caf8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-19T08:23:14-08:00

Commit Message:
FULLPIPE: Implement scene07_hide/showBox()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index bf843ef..b1df092 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -62,6 +62,7 @@ namespace Fullpipe {
 #define ANI_SC2_BOX 1020
 #define ANI_SC4_BOOT 1035
 #define ANI_SC4_COIN 690
+#define ANI_SC7_BOX 791
 #define ANI_SPEAKER_4 3275
 #define ANI_SPRING 542
 #define MSG_CLICKBOTTLE 569
@@ -203,6 +204,7 @@ namespace Fullpipe {
 #define MV_PNK_WEIGHTLEFT 541
 #define MV_PNK_WEIGHTRIGHT 502
 #define MV_SC4_COIN_default 1029
+#define MV_SC7_BOX_default 792
 #define MV_SPK4_PLAY 3276
 #define MV_SPR_LOWER 543
 #define PIC_CMN_EVAL 3468
diff --git a/engines/fullpipe/scenes/scene07.cpp b/engines/fullpipe/scenes/scene07.cpp
index f324ff1..a926717 100644
--- a/engines/fullpipe/scenes/scene07.cpp
+++ b/engines/fullpipe/scenes/scene07.cpp
@@ -81,11 +81,14 @@ void sceneHandler07_hideLuke() {
 }
 
 void sceneHandler07_showBox() {
-	warning("STUB: sceneHandler07_showBox()");
+	StaticANIObject *box = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_SC7_BOX, -1);
+
+	box->show1(492, 474, MV_SC7_BOX_default, 0);
+	box->_priority = 25;
 }
 
 void sceneHandler07_hideBox() {
-	warning("STUB: sceneHandler07_hideBox()");
+	g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_SC7_BOX, -1)->hide();
 }
 
 int sceneHandler07(ExCommand *ex) {


Commit: 97cd39bb95321573bb233c10b379c5305410c30e
    https://github.com/scummvm/scummvm/commit/97cd39bb95321573bb233c10b379c5305410c30e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-19T08:38:49-08:00

Commit Message:
FULLPIPE: Implement sceneHandler07_hideLuke()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index b1df092..b8f0fa9 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -148,6 +148,7 @@ namespace Fullpipe {
 #define MSG_UPDATEBOTTLE 613
 #define MV_BLK_CLOSE 911
 #define MV_BLK_OPEN 910
+#define MV_CST_CLOSELUKE 807
 #define MV_EGTR_FATASK 5332
 #define MV_IN1MAN_SLEEP 5111
 #define MV_BDG_OPEN 1379
@@ -369,6 +370,7 @@ namespace Fullpipe {
 #define ST_EGTR_MID1 2863
 #define ST_EGTR_MID2 2869
 #define ST_EGTR_SLIM 336
+#define ST_HGN_LOOK 811
 #define ST_HGN_LUKE 810
 #define ST_HDL_BROKEN 3342
 #define ST_HDL_DOWN 625
diff --git a/engines/fullpipe/scenes/scene07.cpp b/engines/fullpipe/scenes/scene07.cpp
index a926717..c0b8b75 100644
--- a/engines/fullpipe/scenes/scene07.cpp
+++ b/engines/fullpipe/scenes/scene07.cpp
@@ -77,7 +77,18 @@ void sceneHandler07_closeLuke() {
 }
 
 void sceneHandler07_hideLuke() {
-	warning("STUB: sceneHandler07_hideLuke()");
+	g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_LUKE, -1)->hide();
+
+	Movement *mov = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_CORNERSITTER, -1)->_movement;
+
+	if (mov) {
+		if (mov->_id == MV_CST_CLOSELUKE) {
+			StaticANIObject *ani = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_HOOLIGAN, -1);
+
+			ani->changeStatics2(ST_HGN_LOOK);
+			ani->_flags &= 0xFFFB;
+		}
+	}
 }
 
 void sceneHandler07_showBox() {


Commit: 8862be264b4ed6b0d67cc969f2a88d076872f226
    https://github.com/scummvm/scummvm/commit/8862be264b4ed6b0d67cc969f2a88d076872f226
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-19T08:42:35-08:00

Commit Message:
FULLPIPE: Implement sceneHandler07_openLuke()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index b8f0fa9..fdf0874 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -403,6 +403,7 @@ namespace Fullpipe {
 #define ST_LBN_9N 2777
 #define ST_LBN_9P 2778
 #define ST_LUK_CLOSED 805
+#define ST_LUK_OPEN 806
 #define ST_MAN_GOLADDER 450
 #define ST_MAN_GOLADDER2 2843
 #define ST_MAN_EMPTY 476
diff --git a/engines/fullpipe/scenes/scene07.cpp b/engines/fullpipe/scenes/scene07.cpp
index c0b8b75..60d6a9b 100644
--- a/engines/fullpipe/scenes/scene07.cpp
+++ b/engines/fullpipe/scenes/scene07.cpp
@@ -55,7 +55,20 @@ void scene07_initScene(Scene *sc) {
 }
 
 void sceneHandler07_openLuke() {
-	warning("STUB: sceneHandler07_openLuke()");
+	StaticANIObject *luke = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_LUKE, -1);
+
+	luke->changeStatics2(ST_LUK_OPEN);
+	luke->show1(-1, -1, -1, 0);
+
+	if (g_vars->scene07_lukeAnim) {
+		g_vars->scene07_lukeAnim->_percent = g_vars->scene07_lukePercent;
+	} else {
+		StaticANIObject *ani = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_CORNERSITTER, -1);
+
+		g_vars->scene07_lukeAnim = g_fullpipe->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(ani, ST_CST_HANDLELESS, QU_CST_CLOSELUKE);
+
+		g_vars->scene07_lukeAnim->_percent = g_vars->scene07_lukePercent;
+	}
 }
 
 void sceneHandler07_closeLuke() {


Commit: d8c3d472006d89936b5324652cc9e63dfce401a6
    https://github.com/scummvm/scummvm/commit/d8c3d472006d89936b5324652cc9e63dfce401a6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-19T08:45:11-08:00

Commit Message:
FULLPIPE: Enable scene07

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



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 83f4d6b..5c61088 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -328,7 +328,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 		_updateCursorCallback = scene06_updateCursor;
 		break;
 
-#if 0
 	case SC_7:
 		sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_7");
 		scene->preloadMovements(sceneVar);
@@ -340,6 +339,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 		_updateCursorCallback = defaultUpdateCursor;
 		break;
 
+#if 0
 	case SC_8:
 		sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_8");
 		scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 3751ed9..0070d10 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -59,6 +59,9 @@ void scene06_initMumsy();
 int sceneHandler06(ExCommand *cmd);
 int scene06_updateCursor();
 
+void scene07_initScene(Scene *sc);
+int sceneHandler07(ExCommand *cmd);
+
 void sceneDbgMenu_initScene(Scene *sc);
 int sceneHandlerDbgMenu(ExCommand *cmd);
 


Commit: 3832f91187f7b8c2d7d0bb8fe8ad82aefbce1990
    https://github.com/scummvm/scummvm/commit/3832f91187f7b8c2d7d0bb8fe8ad82aefbce1990
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-19T09:09:28-08:00

Commit Message:
FULLPIPE: Initial code for init_scene08()

Changed paths:
  A engines/fullpipe/scenes/scene08.cpp
    engines/fullpipe/objectnames.h



diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h
index b61a5c6..81385a5 100644
--- a/engines/fullpipe/objectnames.h
+++ b/engines/fullpipe/objectnames.h
@@ -169,7 +169,7 @@ namespace Fullpipe {
 #define sO_EmptyShe "\xcf\xf3\xf1\xf2\xe0\xff"	// "Пустая"
 #define sO_WayToPipe "\xcf\xf3\xf2\xfc \xea \xf2\xf0\xf3\xe1\xe5"	// "Путь к трубе"
 #define sO_IsDrinking "\xcf\xfc\xe5\xf2"	// "Пьет"
-#define sO_BrokenInPieces "\xd0\xe0\xe7\xe1\xe8\xf2\xe0"	// "Разбита"
+#define sO_Broken "\xd0\xe0\xe7\xe1\xe8\xf2\xe0"	// "Разбита"
 #define sO_Unblocked "\xd0\xe0\xe7\xe1\xeb\xee\xea\xe8\xf0\xee\xe2\xe0\xed"	// "Разблокирован"
 #define sO_Unfolded "\xd0\xe0\xe7\xe2\xe5\xf0\xed\xf3\xf2"	// "Развернут"
 #define sO_Jawcrucnher "\xd0\xee\xf2\xee\xf5\xf0\xf3\xf1"	// "Ротохрус"
diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp
new file mode 100644
index 0000000..82dbd7d
--- /dev/null
+++ b/engines/fullpipe/scenes/scene08.cpp
@@ -0,0 +1,99 @@
+/* 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/objects.h"
+#include "fullpipe/objectnames.h"
+#include "fullpipe/constants.h"
+#include "fullpipe/scenes.h"
+#include "fullpipe/scene.h"
+
+namespace Fullpipe {
+
+void scene08_initScene(Scene *sc) {
+	g_vars->scene08_var06 = 0;
+	g_vars->scene08_var01 = 0;
+	g_vars->scene08_var02 = 0;
+	g_vars->scene08_var03 = 0;
+	g_vars->scene08_batuta = sc->getStaticANIObject1ById(ANI_BATUTA, -1);
+	g_vars->scene08_vmyats = sc->getStaticANIObject1ById(ANI_VMYATS, -1);
+	g_vars->scene08_clock = sc->getStaticANIObject1ById(ANI_CLOCK_8, -1);
+	g_vars->scene08_var04 = -37;
+	g_vars->scene08_var05 = -1;
+
+	Scene *oldsc = g_fullpipe->_currentScene;
+	g_fullpipe->_currentScene = sc;
+
+	int batuta = g_fullpipe->getObjectState(sO_TummyTrampie);
+	MovGraphLink *lock = getSc2MctlCompoundBySceneId(sc->_sceneId)->getLinkByName(sO_CloseThing);
+
+	if (lock)
+		lock->_flags &= 0xDFFFFFFF;
+
+	if (batuta == g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsEating)) {
+		g_vars->scene08_batuta->changeStatics2(ST_BTT_SPOON);
+	} else if (batuta == g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsDrinking)) {
+		g_vars->scene08_batuta->changeStatics2(g_vars->scene08_batuta, ST_BTT_NOSPOON);
+
+		g_vars->scene08_clock->startAnim(MV_CLK8_GO, 0, -1);
+		g_vars->scene08_clock->_movement->setDynamicPhaseIndex(3);
+	} else if (batuta== g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsScratchingBelly)) {
+		g_vars->scene08_batuta->changeStatics2(ST_BTT_CHESHET);
+
+		g_vars->scene08_clock->startAnim(MV_CLK8_GO, 0, -1);
+		g_vars->scene08_clock->_movement->setDynamicPhaseIndex(8);
+	} else if (batuta == g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsSleeping)) {
+		g_vars->scene08_batuta->changeStatics2(ST_BTT_SLEEPS);
+
+		g_vars->scene08_clock->startAnim(MV_CLK8_GO, 0, -1);
+		g_vars->scene08_clock->_movement->setDynamicPhaseIndex(2);
+
+		if (lock)
+			lock->_flags |= 0x20000000;
+
+		g_vars->scene08_var05 = 71;
+	}
+
+	g_vars->scene08_clock->_callback2 = 0;
+
+	if (g_fullpipe->getObjectState(sO_StairsUp_8) == g_fullpipe->getObjectEnumState(sO_StairsUp_8, sO_Broken)) {
+		g_vars->scene08_var07 = 0;
+
+		sc->getPictureObjectById(PIC_SC8_LADDER, 0)->_flags &= 0xFFFB;
+
+		g_vars->scene08_var04 = -39;
+	} else {
+		g_vars->scene08_var07 = 1;
+	}
+
+	sc->getPictureObjectById(PIC_SC8_ARCADENOW, 0)->_flags &= 0xFFFB;
+
+	g_fullpipe->_currentScene = oldsc;
+
+	g_fullpipe->_floaters->init(getGameLoaderGameVar()->getSubVarByName("SC_8"));
+	g_fullpipe->_floaters->genFlies(sc, 100, 100, 0, 0);
+
+	setArcadeOverlay(PIC_CSR_ARCADE3);
+}
+
+} // End of namespace Fullpipe






More information about the Scummvm-git-logs mailing list