diff options
author | Eugene Sandulenko | 2013-12-24 00:08:18 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-24 00:14:37 +0200 |
commit | 51a83e8be1f9ca9ea755cfe8b253b0aa0b9d5769 (patch) | |
tree | 37684b57c63f06555ef900f26aab6624ff3a351d /engines | |
parent | 8d7b10f7c3463390a928b7aca889a4bfae5dc8ad (diff) | |
download | scummvm-rg350-51a83e8be1f9ca9ea755cfe8b253b0aa0b9d5769.tar.gz scummvm-rg350-51a83e8be1f9ca9ea755cfe8b253b0aa0b9d5769.tar.bz2 scummvm-rg350-51a83e8be1f9ca9ea755cfe8b253b0aa0b9d5769.zip |
FULLPIPE: Implement scene11_initScene()
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 11 | ||||
-rw-r--r-- | engines/fullpipe/fullpipe.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/init.cpp | 4 | ||||
-rw-r--r-- | engines/fullpipe/modal.cpp | 1 | ||||
-rw-r--r-- | engines/fullpipe/module.mk | 1 | ||||
-rw-r--r-- | engines/fullpipe/motion.cpp | 4 | ||||
-rw-r--r-- | engines/fullpipe/motion.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/objectnames.h | 10 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 24 | ||||
-rw-r--r-- | engines/fullpipe/scenes.h | 26 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene01.cpp | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene02.cpp | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene03.cpp | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene04.cpp | 4 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene05.cpp | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene06.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene07.cpp | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene08.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene10.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene11.cpp | 139 | ||||
-rw-r--r-- | engines/fullpipe/scenes/sceneDbg.cpp | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/sceneIntro.cpp | 1 |
22 files changed, 227 insertions, 13 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 0b53e27f63..63ab988543 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -489,6 +489,17 @@ namespace Fullpipe { #define rMV_MAN_LOOKUP 4775 #define rMV_KZW_GOR 566 +// Scene 11 +#define ANI_BOOTS_11 2704 +#define ANI_KACHELI 1094 +#define ANI_MAN11 1108 +#define ANI_SWINGER 1113 +#define PIC_SC11_HINT 5170 +#define ST_KCH_STATIC 1122 +#define ST_SWR_SIT 1147 +#define ST_SWR_SITBALD 1153 +#define ST_SWR_STAND3 3014 + } // End of namespace Fullpipe #endif /* FULLPIPE_CONSTANTS_H */ diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp index d02ce4796b..a0348a9407 100644 --- a/engines/fullpipe/fullpipe.cpp +++ b/engines/fullpipe/fullpipe.cpp @@ -33,9 +33,9 @@ #include "fullpipe/behavior.h" #include "fullpipe/modal.h" #include "fullpipe/input.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/floaters.h" -#include "fullpipe/motion.h" #include "fullpipe/console.h" namespace Fullpipe { diff --git a/engines/fullpipe/init.cpp b/engines/fullpipe/init.cpp index beac854d5b..8526c2114b 100644 --- a/engines/fullpipe/init.cpp +++ b/engines/fullpipe/init.cpp @@ -59,7 +59,7 @@ void FullpipeEngine::initObjectStates() { setObjectState(sO_RightStairs_9, getObjectEnumState(sO_RightStairs_9, sO_IsClosed)); setObjectState(sO_Pipe_9, getObjectEnumState(sO_Pipe_9, sO_WithJug)); setObjectState(sO_Inflater, getObjectEnumState(sO_Inflater, sO_WithGum)); - setObjectState(sO_Swingie, getObjectEnumState(sO_Swingie, sO_Swinging)); + setObjectState(sO_Swingie, getObjectEnumState(sO_Swingie, sO_IsSwinging)); setObjectState(sO_DudeJumped, getObjectEnumState(sO_DudeJumped, sO_No)); setObjectState(sO_Bridge, getObjectEnumState(sO_Bridge, sO_Convoluted)); setObjectState(sO_Guardian, getObjectEnumState(sO_Guardian, sO_OnRight)); @@ -73,7 +73,7 @@ void FullpipeEngine::initObjectStates() { setObjectState(sO_RightPipe_17, getObjectEnumState(sO_RightPipe_17, sO_IsClosed)); setObjectState(sO_Fly_17, 1); setObjectState(sO_DudeSwinged, 0); - setObjectState(sO_Girl, getObjectEnumState(sO_Girl, sO_Swinging)); + setObjectState(sO_Girl, getObjectEnumState(sO_Girl, sO_IsSwinging)); setObjectState(sO_Sugar, getObjectEnumState(sO_Sugar, sO_Present)); setObjectState(sO_Janitors, getObjectEnumState(sO_Janitors, sO_Together)); setObjectState(sO_Bag_22, getObjectEnumState(sO_Bag_22, sO_NotFallen)); diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp index b98f7314bc..516d761aa2 100644 --- a/engines/fullpipe/modal.cpp +++ b/engines/fullpipe/modal.cpp @@ -24,6 +24,7 @@ #include "fullpipe/modal.h" #include "fullpipe/messages.h" #include "fullpipe/constants.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/gameloader.h" diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk index 465a0130c2..230cfe6cb4 100644 --- a/engines/fullpipe/module.mk +++ b/engines/fullpipe/module.mk @@ -33,6 +33,7 @@ MODULE_OBJS = \ scenes/scene07.o \ scenes/scene08.o \ scenes/scene10.o \ + scenes/scene11.o \ scenes/sceneDbg.o \ scenes/sceneIntro.o diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp index 56ef4782d4..f680492458 100644 --- a/engines/fullpipe/motion.cpp +++ b/engines/fullpipe/motion.cpp @@ -339,6 +339,10 @@ MctlConnectionPoint *MctlCompound::findClosestConnectionPoint(int ox, int oy, in return 0; } +void MctlCompound::replaceNodeX(int from, int to) { + warning("STUB: MctlCompound::replaceNodeX()"); +} + MctlConnectionPoint::MctlConnectionPoint() { _connectionX = 0; _connectionY = 0; diff --git a/engines/fullpipe/motion.h b/engines/fullpipe/motion.h index a4d68e17fb..24f047d76b 100644 --- a/engines/fullpipe/motion.h +++ b/engines/fullpipe/motion.h @@ -114,6 +114,7 @@ public: void initMovGraph2(); MctlConnectionPoint *findClosestConnectionPoint(int ox, int oy, int destIndex, int connectionX, int connectionY, int sourceIndex, int *minDistancePtr); + void replaceNodeX(int from, int to); }; struct MGMSubItem { diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h index 81385a5d3f..b4564d4c5d 100644 --- a/engines/fullpipe/objectnames.h +++ b/engines/fullpipe/objectnames.h @@ -97,8 +97,8 @@ namespace Fullpipe { #define sO_IsPlaying "\xc8\xe3\xf0\xe0\xe5\xf2" // "Играет" #define sO_Tub "\xca\xe0\xe4\xea\xe0" // "Кадка" #define sO_Cactus "\xca\xe0\xea\xf2\xf3\xf1" // "Кактус" -#define sO_SwingingWithBoot "\xca\xe0\xf2\xe0\xe5\xf2\xf1\xff \xf1 \xe1\xee\xf2\xe8\xed\xea\xee\xec" // "Катается с ботинком" -#define sO_Swinging "\xca\xe0\xf2\xe0\xe5\xf2\xf1\xff" // "Катается" +#define sO_IsSwingingWithBoot "\xca\xe0\xf2\xe0\xe5\xf2\xf1\xff \xf1 \xe1\xee\xf2\xe8\xed\xea\xee\xec" // "Катается с ботинком" +#define sO_IsSwinging "\xca\xe0\xf2\xe0\xe5\xf2\xf1\xff" // "Катается" #define sO_Swingie "\xca\xe0\xf7\xe5\xeb\xe5\xed\xff" // "Качеленя" #define sO_LiftButtons "\xca\xed\xee\xef\xea\xe8 \xeb\xe8\xf4\xf2\xe0" // "Кнопки лифта" #define sO_Carpet_35 "\xca\xee\xe2\xf0\xe8\xea_35" // "Коврик_35" @@ -197,7 +197,7 @@ namespace Fullpipe { #define sO_Sugar "\xd1\xe0\xf5\xe0\xf0\xee\xea" // "Сахарок" #define sO_Convoluted "\xd1\xe2\xe5\xf0\xed\xf3\xf2" // "Свернут" #define sO_IsFree "\xd1\xe2\xee\xe1\xee\xe4\xed\xe0" // "Свободна" -#define sO_Sitting "\xd1\xe8\xe4\xe8\xf2" // "Сидит" +#define sO_IsSitting "\xd1\xe8\xe4\xe8\xf2" // "Сидит" #define sO_Laughing "\xd1\xec\xe5\xe5\xf2\xf1\xff" // "Смеется" #define sO_WithEveryone "\xd1\xee \xe2\xf1\xe5\xec\xe8" // "Со всеми" #define sO_WithMop "\xd1\xee \xf8\xe2\xe0\xe1\xf0\xee\xe9" // "Со шваброй" @@ -205,8 +205,8 @@ namespace Fullpipe { #define sO_WithBrush "\xd1\xee \xf9\xe5\xf2\xea\xee\xe9" // "Со щеткой" #define sO_IsSleeping "\xd1\xef\xe8\xf2" // "Спит" #define sO_OnRight "\xd1\xef\xf0\xe0\xe2\xe0" // "Справа" -#define sO_StandsInBoots "\xd1\xf2\xee\xe8\xf2 \xe2 \xe1\xee\xf2\xe8\xed\xea\xe0\xf5" // "Стоит в ботинках" -#define sO_StandsInCorner "\xd1\xf2\xee\xe8\xf2 \xe2 \xf3\xe3\xeb\xf3" // "Стоит в углу" +#define sO_IsStandingInBoots "\xd1\xf2\xee\xe8\xf2 \xe2 \xe1\xee\xf2\xe8\xed\xea\xe0\xf5" // "Стоит в ботинках" +#define sO_IsStandingInCorner "\xd1\xf2\xee\xe8\xf2 \xe2 \xf3\xe3\xeb\xf3" // "Стоит в углу" #define sO_Guardian "\xd1\xf2\xee\xf0\xee\xe6" // "Сторож" #define sO_Guard_1 "\xd1\xf2\xf0\xe0\xe6 1" // "Страж 1" #define sO_Gurad_2 "\xd1\xf2\xf0\xe0\xe6 2" // "Страж 2" diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index f526731d03..341913ba6b 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -162,6 +162,30 @@ Vars::Vars() { scene10_ladder = 0; scene10_hasGum = 0; + scene11_swingie = 0; + scene11_boots = 0; + scene11_dudeOnSwing = 0; + scene11_hint = 0; + scene11_var02 = 0; + scene11_var03 = 0; + scene11_var04 = 0; + scene11_var05 = 0; + scene11_var06 = 0; + scene11_var07 = 0; + scene11_var08 = 1.0; + scene11_var09 = 1.0; + scene11_var10 = 1.0; + scene11_var11 = 1.0; + scene11_var12 = 0.0; + scene11_var13 = 0; + scene11_var14 = 0; + scene11_var15 = 0; + scene11_var16 = 0; + scene11_var17 = 0; + scene11_var18 = 0; + scene11_var19 = 0; + scene11_var20 = 0; + selector = 0; } diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index bb68e1c16c..d492a6afe6 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -28,6 +28,7 @@ namespace Fullpipe { struct BehaviorEntryInfo; class StaticANIObject; class MctlLadder; +class MGM; int defaultUpdateCursor(); @@ -212,6 +213,31 @@ public: PictureObject *scene10_ladder; int scene10_hasGum; + StaticANIObject *scene11_swingie; + StaticANIObject *scene11_boots; + StaticANIObject *scene11_dudeOnSwing; + PictureObject *scene11_hint; + MGM scene11_var01; + int scene11_var02; + int scene11_var03; + int scene11_var04; + int scene11_var05; + int scene11_var06; + int scene11_var07; + double scene11_var08; + double scene11_var09; + double scene11_var10; + double scene11_var11; + double scene11_var12; + int scene11_var13; + int scene11_var14; + int scene11_var15; + int scene11_var16; + int scene11_var17; + int scene11_var18; + int scene11_var19; + int scene11_var20; + PictureObject *selector; }; diff --git a/engines/fullpipe/scenes/scene01.cpp b/engines/fullpipe/scenes/scene01.cpp index c6f7ba303c..6c8f26d209 100644 --- a/engines/fullpipe/scenes/scene01.cpp +++ b/engines/fullpipe/scenes/scene01.cpp @@ -26,6 +26,7 @@ #include "fullpipe/constants.h" #include "fullpipe/gameloader.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/statics.h" diff --git a/engines/fullpipe/scenes/scene02.cpp b/engines/fullpipe/scenes/scene02.cpp index 845a53e1d1..95cf1df7dd 100644 --- a/engines/fullpipe/scenes/scene02.cpp +++ b/engines/fullpipe/scenes/scene02.cpp @@ -26,6 +26,7 @@ #include "fullpipe/constants.h" #include "fullpipe/gameloader.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/statics.h" diff --git a/engines/fullpipe/scenes/scene03.cpp b/engines/fullpipe/scenes/scene03.cpp index 4d4f05764d..40e70e2ea5 100644 --- a/engines/fullpipe/scenes/scene03.cpp +++ b/engines/fullpipe/scenes/scene03.cpp @@ -26,6 +26,7 @@ #include "fullpipe/constants.h" #include "fullpipe/gameloader.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/statics.h" diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 3218324a75..fa9f4ceef0 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -26,14 +26,14 @@ #include "fullpipe/constants.h" #include "fullpipe/utils.h" #include "fullpipe/gfx.h" -#include "fullpipe/scenes.h" #include "fullpipe/messages.h" +#include "fullpipe/motion.h" +#include "fullpipe/scenes.h" #include "fullpipe/statics.h" #include "fullpipe/scene.h" #include "fullpipe/interaction.h" #include "fullpipe/gameloader.h" #include "fullpipe/behavior.h" -#include "fullpipe/motion.h" namespace Fullpipe { diff --git a/engines/fullpipe/scenes/scene05.cpp b/engines/fullpipe/scenes/scene05.cpp index 20443edb5f..c6e21daf1e 100644 --- a/engines/fullpipe/scenes/scene05.cpp +++ b/engines/fullpipe/scenes/scene05.cpp @@ -27,6 +27,7 @@ #include "fullpipe/constants.h" #include "fullpipe/statics.h" #include "fullpipe/scene.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/messages.h" #include "fullpipe/floaters.h" diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp index 2b7678b10a..c352d27dd6 100644 --- a/engines/fullpipe/scenes/scene06.cpp +++ b/engines/fullpipe/scenes/scene06.cpp @@ -26,13 +26,13 @@ #include "fullpipe/objectnames.h" #include "fullpipe/constants.h" #include "fullpipe/gfx.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/statics.h" #include "fullpipe/scene.h" #include "fullpipe/messages.h" #include "fullpipe/gameloader.h" #include "fullpipe/behavior.h" -#include "fullpipe/motion.h" #include "fullpipe/interaction.h" namespace Fullpipe { diff --git a/engines/fullpipe/scenes/scene07.cpp b/engines/fullpipe/scenes/scene07.cpp index ba4121944e..207189d151 100644 --- a/engines/fullpipe/scenes/scene07.cpp +++ b/engines/fullpipe/scenes/scene07.cpp @@ -25,6 +25,7 @@ #include "fullpipe/objects.h" #include "fullpipe/objectnames.h" #include "fullpipe/constants.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/scene.h" #include "fullpipe/statics.h" diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp index 2764861841..ada63ef22d 100644 --- a/engines/fullpipe/scenes/scene08.cpp +++ b/engines/fullpipe/scenes/scene08.cpp @@ -25,11 +25,11 @@ #include "fullpipe/objects.h" #include "fullpipe/objectnames.h" #include "fullpipe/constants.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/scene.h" #include "fullpipe/statics.h" #include "fullpipe/floaters.h" -#include "fullpipe/motion.h" #include "fullpipe/gameloader.h" #include "fullpipe/behavior.h" #include "fullpipe/interaction.h" diff --git a/engines/fullpipe/scenes/scene10.cpp b/engines/fullpipe/scenes/scene10.cpp index 78f3fcdcff..f8d16b2759 100644 --- a/engines/fullpipe/scenes/scene10.cpp +++ b/engines/fullpipe/scenes/scene10.cpp @@ -26,12 +26,12 @@ #include "fullpipe/constants.h" #include "fullpipe/gameloader.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/statics.h" #include "fullpipe/behavior.h" #include "fullpipe/interaction.h" -#include "fullpipe/motion.h" namespace Fullpipe { diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp new file mode 100644 index 0000000000..7ac92c7cf3 --- /dev/null +++ b/engines/fullpipe/scenes/scene11.cpp @@ -0,0 +1,139 @@ +/* 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 scene11_dudeSwingCallback(int *arg) { + warning("STUB: scene11_dudeSwingCallback()"); +} + +void scene11_initScene(Scene *sc) { + g_vars->scene11_swingie = sc->getStaticANIObject1ById(ANI_SWINGER, -1); + g_vars->scene11_boots = sc->getStaticANIObject1ById(ANI_BOOTS_11, -1); + g_vars->scene11_var01.clear(); + g_vars->scene11_dudeOnSwing = sc->getStaticANIObject1ById(ANI_MAN11, -1); + g_vars->scene11_dudeOnSwing->_callback2 = scene11_dudeSwingCallback; + g_vars->scene11_dudeOnSwing = sc->getStaticANIObject1ById(ANI_KACHELI, -1); + g_vars->scene11_dudeOnSwing->_callback2 = scene11_dudeSwingCallback; + g_vars->scene11_hint = sc->getPictureObjectById(PIC_SC11_HINT, 0); + g_vars->scene11_hint->_flags &= 0xFFFB; + + g_vars->scene11_var02 = 0; + g_vars->scene11_var03 = 0; + g_vars->scene11_var04 = 0; + g_vars->scene11_var05 = 0; + g_vars->scene11_var06 = 0; + g_vars->scene11_var07 = 0; + g_vars->scene11_var08 = 1.0; + g_vars->scene11_var09 = 1.0; + g_vars->scene11_var10 = 1.0; + g_vars->scene11_var11 = 1.0; + g_vars->scene11_var12 = 1.9849218750000000; + g_vars->scene11_var13 = 0; + g_vars->scene11_var14 = 0; + g_vars->scene11_var15 = 0; + g_vars->scene11_var16 = 0; + g_vars->scene11_var17 = 0; + g_vars->scene11_var18 = 0; + + Scene *oldsc = g_fp->_currentScene; + + g_fp->_currentScene = sc; + + int swingie = g_fp->getObjectState(sO_Swingie); + + if (swingie == g_fp->getObjectEnumState(sO_Swingie, sO_IsSwinging) + || swingie == g_fp->getObjectEnumState(sO_Swingie, sO_IsSwingingWithBoot)) { + g_vars->scene11_var19 = 1; + g_vars->scene11_var20 = 0; + + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing1, 1); + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing2, 1); + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing3, 0); + + ((MctlCompound *)getCurrSceneSc2MotionController())->replaceNodeX(805, 905); + + getSc2MctlCompoundBySceneId(sc->_sceneId)->replaceNodeX(303, 353); + } else if (swingie == g_fp->getObjectEnumState(sO_Swingie, sO_IsStandingInBoots) + || swingie == g_fp->getObjectEnumState(sO_Swingie, sO_IsStandingInCorner)) { + g_vars->scene11_var19 = 0; + g_vars->scene11_var20 = 1; + + g_vars->scene11_swingie->changeStatics2(ST_SWR_STAND3); + + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing1, 0); + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing2, 1); + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing3, 0); + + ((MctlCompound *)getCurrSceneSc2MotionController())->replaceNodeX(905, 805); + } else { + g_vars->scene11_var19 = 0; + g_vars->scene11_var20 = 0; + + if (swingie == g_fp->getObjectEnumState(sO_Swingie, sO_IsSitting)) { + g_vars->scene11_swingie->_movement = 0; + g_vars->scene11_swingie->_statics = g_vars->scene11_swingie->getStaticsById(ST_SWR_SIT); + g_vars->scene11_swingie->setOXY(144, 389); + + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing1, 0); + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing2, 0); + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing3, 1); + } else { + g_vars->scene11_swingie->_movement = 0; + g_vars->scene11_swingie->_statics = g_vars->scene11_swingie->getStaticsById(ST_SWR_SITBALD); + g_vars->scene11_swingie->setOXY(144, 415); + + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing1, 0); + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing2, 0); + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing3, 1); + } + } + + if (!g_vars->scene11_var19) { + g_vars->scene11_dudeOnSwing->changeStatics2(ST_KCH_STATIC); + g_vars->scene11_dudeOnSwing->setOXY(691, 371); + g_vars->scene11_dudeOnSwing->_priority = 20; + + g_vars->scene11_dudeOnSwing->_flags |= 4; + } + + g_fp->_currentScene = oldsc; + + g_fp->initArcadeKeys("SC_11"); + g_fp->setArcadeOverlay(PIC_CSR_ARCADE5); +} + +} // End of namespace Fullpipe diff --git a/engines/fullpipe/scenes/sceneDbg.cpp b/engines/fullpipe/scenes/sceneDbg.cpp index 518ef0d13b..4a3751940f 100644 --- a/engines/fullpipe/scenes/sceneDbg.cpp +++ b/engines/fullpipe/scenes/sceneDbg.cpp @@ -25,6 +25,7 @@ #include "fullpipe/constants.h" #include "fullpipe/gameloader.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/statics.h" #include "fullpipe/input.h" diff --git a/engines/fullpipe/scenes/sceneIntro.cpp b/engines/fullpipe/scenes/sceneIntro.cpp index 368ca43abd..c9f19f3724 100644 --- a/engines/fullpipe/scenes/sceneIntro.cpp +++ b/engines/fullpipe/scenes/sceneIntro.cpp @@ -24,6 +24,7 @@ #include "fullpipe/constants.h" #include "fullpipe/gameloader.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/modal.h" #include "fullpipe/statics.h" |