[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