aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h10
-rw-r--r--engines/fullpipe/module.mk1
-rw-r--r--engines/fullpipe/motion.cpp6
-rw-r--r--engines/fullpipe/motion.h2
-rw-r--r--engines/fullpipe/scenes.cpp11
-rw-r--r--engines/fullpipe/scenes.h11
-rw-r--r--engines/fullpipe/scenes/scene08.cpp10
7 files changed, 48 insertions, 3 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index fdf0874861..1e145855b9 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -26,12 +26,14 @@
namespace Fullpipe {
#define ANI_BALLDROP 2685
+#define ANI_BATUTA 737
#define ANI_BIGBALL 4923
#define ANI_BIGLUK 909
#define ANI_BOOT_1 4231
#define ANI_BUTTON 598
#define ANI_BUTTON_6 2988
#define ANI_CLOCK 588
+#define ANI_CLOCK_8 2989
#define ANI_CORNERSITTER 71
#define ANI_DOMINO_3 2732
#define ANI_DADAYASHIK 306
@@ -65,6 +67,7 @@ namespace Fullpipe {
#define ANI_SC7_BOX 791
#define ANI_SPEAKER_4 3275
#define ANI_SPRING 542
+#define ANI_VMYATS 764
#define MSG_CLICKBOTTLE 569
#define MSG_CLICKBUTTON 609
#define MSG_CLICKPLANK 549
@@ -148,6 +151,7 @@ namespace Fullpipe {
#define MSG_UPDATEBOTTLE 613
#define MV_BLK_CLOSE 911
#define MV_BLK_OPEN 910
+#define MV_CLK8_GO 2990
#define MV_CST_CLOSELUKE 807
#define MV_EGTR_FATASK 5332
#define MV_IN1MAN_SLEEP 5111
@@ -263,6 +267,8 @@ namespace Fullpipe {
#define PIC_SC4_MASK 585
#define PIC_SC4_PLANK 5183
#define PIC_SC6_LADDER 1104
+#define PIC_SC8_ARCADENOW 1043
+#define PIC_SC8_LADDER 754
#define PIC_SCD_SEL 734
#define QU_BALL_WALKL 4920
#define QU_BALL_WALKR 4919
@@ -364,6 +370,10 @@ namespace Fullpipe {
#define SND_INTR_019 5220
#define ST_BLK_CLOSED 912
#define ST_BLK_OPEN 913
+#define ST_BTT_CHESHET 746
+#define ST_BTT_NOSPOON 739
+#define ST_BTT_SLEEPS 748
+#define ST_BTT_SPOON 741
#define ST_CLK_CLOSED 590
#define ST_CST_HANDLELESS 794
#define ST_DYAS_LIES 318
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index 7c09811c18..d3af88d242 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -31,6 +31,7 @@ MODULE_OBJS = \
scenes/scene05.o \
scenes/scene06.o \
scenes/scene07.o \
+ scenes/scene08.o \
scenes/sceneDbg.o \
scenes/sceneIntro.o
diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp
index 44cf550bf1..3d8d6625b4 100644
--- a/engines/fullpipe/motion.cpp
+++ b/engines/fullpipe/motion.cpp
@@ -46,6 +46,12 @@ void MotionController::enableLinks(const char *linkName, bool enable) {
warning("STUB: MotionController::enableLinks()");
}
+MovGraphLink *MotionController::getLinkByName(const char *name) {
+ warning("STUB: MotionController::getLinkByName()");
+
+ return 0;
+}
+
bool MctlCompound::load(MfcArchive &file) {
debug(5, "MctlCompound::load()");
diff --git a/engines/fullpipe/motion.h b/engines/fullpipe/motion.h
index ee4ad02f8d..029b25bb19 100644
--- a/engines/fullpipe/motion.h
+++ b/engines/fullpipe/motion.h
@@ -28,6 +28,7 @@ namespace Fullpipe {
class Statics;
class Movement;
class MctlConnectionPoint;
+class MovGraphLink;
int startWalkTo(int objId, int objKey, int x, int y, int a5);
int doSomeAnimation(int objId, int objKey, int a3);
@@ -61,6 +62,7 @@ public:
virtual MessageQueue *doWalkTo(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) { return 0; }
void enableLinks(const char *linkName, bool enable);
+ MovGraphLink *getLinkByName(const char *name);
};
class MovGraphReact : public CObject {
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 5c61088805..6e59ade06c 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -143,6 +143,17 @@ Vars::Vars() {
scene07_lukePercent = 0;
scene07_plusMinus = 0;
+ scene08_batuta = 0;
+ scene08_vmyats = 0;
+ scene08_clock = 0;
+ scene08_var01 = 0;
+ scene08_var02 = 0;
+ scene08_var03 = 0;
+ scene08_var04 = 0;
+ scene08_var05 = 0;
+ scene08_var06 = 0;
+ scene08_var07 = 0;
+
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 0070d1041f..11b0170d59 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -184,6 +184,17 @@ public:
int scene07_lukePercent;
StaticANIObject *scene07_plusMinus;
+ StaticANIObject *scene08_batuta;
+ StaticANIObject *scene08_vmyats;
+ StaticANIObject *scene08_clock;
+ int scene08_var01;
+ int scene08_var02;
+ int scene08_var03;
+ int scene08_var04;
+ int scene08_var05;
+ int scene08_var06;
+ int scene08_var07;
+
PictureObject *selector;
};
diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp
index 82dbd7d925..9b71b543cb 100644
--- a/engines/fullpipe/scenes/scene08.cpp
+++ b/engines/fullpipe/scenes/scene08.cpp
@@ -27,6 +27,10 @@
#include "fullpipe/constants.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"
namespace Fullpipe {
@@ -53,7 +57,7 @@ void scene08_initScene(Scene *sc) {
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_batuta->changeStatics2(ST_BTT_NOSPOON);
g_vars->scene08_clock->startAnim(MV_CLK8_GO, 0, -1);
g_vars->scene08_clock->_movement->setDynamicPhaseIndex(3);
@@ -90,10 +94,10 @@ void scene08_initScene(Scene *sc) {
g_fullpipe->_currentScene = oldsc;
- g_fullpipe->_floaters->init(getGameLoaderGameVar()->getSubVarByName("SC_8"));
+ g_fullpipe->_floaters->init(g_fullpipe->getGameLoaderGameVar()->getSubVarByName("SC_8"));
g_fullpipe->_floaters->genFlies(sc, 100, 100, 0, 0);
- setArcadeOverlay(PIC_CSR_ARCADE3);
+ g_fullpipe->setArcadeOverlay(PIC_CSR_ARCADE3);
}
} // End of namespace Fullpipe