aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-21 17:18:06 +0200
committerEugene Sandulenko2013-12-21 17:18:06 +0200
commitcba54cce9821dcfbabce18ed2c6ca995de4525dd (patch)
tree4e955d50c224c219c3626a22de58c668293fc856 /engines/fullpipe
parentede3e0c3f84b1e7114226d90cb40f585a5feaa90 (diff)
downloadscummvm-rg350-cba54cce9821dcfbabce18ed2c6ca995de4525dd.tar.gz
scummvm-rg350-cba54cce9821dcfbabce18ed2c6ca995de4525dd.tar.bz2
scummvm-rg350-cba54cce9821dcfbabce18ed2c6ca995de4525dd.zip
FULLPIPE: Plug scene10 in
Diffstat (limited to 'engines/fullpipe')
-rw-r--r--engines/fullpipe/constants.h13
-rw-r--r--engines/fullpipe/module.mk1
-rw-r--r--engines/fullpipe/scenes.cpp7
-rw-r--r--engines/fullpipe/scenes.h7
-rw-r--r--engines/fullpipe/scenes/scene10.cpp60
5 files changed, 66 insertions, 22 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 984e024a26..49f9a33209 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -39,6 +39,7 @@ namespace Fullpipe {
#define ANI_DADAYASHIK 306
#define ANI_EGGEATER 334
#define ANI_EGGIE 4929
+#define ANI_GUM 978
#define ANI_HAND 601
#define ANI_HANDLE 622
#define ANI_HOOLIGAN 808
@@ -57,8 +58,11 @@ namespace Fullpipe {
#define ANI_MAMASHA 656
#define ANI_MAMASHA_4 660
#define ANI_MAN 322
+#define ANI_NADUVATEL 944
#define ANI_NEWBALL 1073
#define ANI_OTMOROZ 419
+#define ANI_PACHKA 975
+#define ANI_PACHKA2 3008
#define ANI_PLANK 501
#define ANI_PLUSMINUS 2938
#define ANI_SC2_BOX 1020
@@ -145,6 +149,11 @@ namespace Fullpipe {
#define MSG_SC8_HIDELADDER_D 1107
#define MSG_SC8_RESUMEFLIGHT 784
#define MSG_SC8_STANDUP 2976
+#define MSG_SC10_CLICKGUM 992
+#define MSG_SC10_HIDEGUM 993
+#define MSG_SC10_LADDERTOBACK 3002
+#define MSG_SC10_LADDERTOFORE 3004
+#define MSG_SC10_SHOWGUM 994
#define MSG_GOTOLADDER 618
#define MSG_SHAKEBOTTLE 584
#define MSG_SHOOTKOZAW 557
@@ -278,6 +287,8 @@ namespace Fullpipe {
#define PIC_SC6_LADDER 1104
#define PIC_SC8_ARCADENOW 1043
#define PIC_SC8_LADDER 754
+#define PIC_SC10_DTRUBA 974
+#define PIC_SC10_LADDER 995
#define PIC_SCD_SEL 734
#define QU_BALL_WALKL 4920
#define QU_BALL_WALKR 4919
@@ -318,6 +329,8 @@ namespace Fullpipe {
#define QU_SC6_FALLBALL 2690
#define QU_SC6_SHOWHANDLE 1689
#define QU_SC6_SHOWNEXTBALL 2689
+#define QU_SC10_ENTERLIFT 1067
+#define QU_SC10_EXITLIFT 2809
#define SC_1 301
#define SC_10 653
#define SC_11 654
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index d3af88d242..465a0130c2 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -32,6 +32,7 @@ MODULE_OBJS = \
scenes/scene06.o \
scenes/scene07.o \
scenes/scene08.o \
+ scenes/scene10.o \
scenes/sceneDbg.o \
scenes/sceneIntro.o
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index b8a88eb484..d820bc0d14 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -155,6 +155,13 @@ Vars::Vars() {
scene08_var07 = 0;
scene08_var08 = 0;
+ scene10_gum = 0;
+ scene10_packet = 0;
+ scene10_packet2 = 0;
+ scene10_inflater = 0;
+ scene10_ladder = 0;
+ scene10_hasGum = 0;
+
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 24fd1fce4c..7db6ff1e7b 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -201,6 +201,13 @@ public:
int scene08_var07;
int scene08_var08;
+ StaticANIObject *scene10_gum;
+ StaticANIObject *scene10_packet;
+ StaticANIObject *scene10_packet2;
+ StaticANIObject *scene10_inflater;
+ PictureObject *scene10_ladder;
+ int scene10_hasGum;
+
PictureObject *selector;
};
diff --git a/engines/fullpipe/scenes/scene10.cpp b/engines/fullpipe/scenes/scene10.cpp
index 444b51f0a2..7cb277928d 100644
--- a/engines/fullpipe/scenes/scene10.cpp
+++ b/engines/fullpipe/scenes/scene10.cpp
@@ -30,15 +30,16 @@
#include "fullpipe/statics.h"
#include "fullpipe/behavior.h"
+#include "fullpipe/interaction.h"
namespace Fullpipe {
void scene10_initScene(Scene *sc) {
- g_vars->scene10_gum = sc->getStaticANIObject1ById(sc, ANI_GUM, -1);
- g_vars->scene10_packet = sc->getStaticANIObject1ById(sc, ANI_PACHKA, -1);
- g_vars->scene10_packet2 = sc->getStaticANIObject1ById(sc, ANI_PACHKA2, -1);
- g_vars->scene10_inflater = sc->getStaticANIObject1ById(sc, ANI_NADUVATEL, -1);
- g_vars->scene10_ladder = sc->getPictureObjectById(sc, PIC_SC10_LADDER, 0);
+ g_vars->scene10_gum = sc->getStaticANIObject1ById(ANI_GUM, -1);
+ g_vars->scene10_packet = sc->getStaticANIObject1ById(ANI_PACHKA, -1);
+ g_vars->scene10_packet2 = sc->getStaticANIObject1ById(ANI_PACHKA2, -1);
+ g_vars->scene10_inflater = sc->getStaticANIObject1ById(ANI_NADUVATEL, -1);
+ g_vars->scene10_ladder = sc->getPictureObjectById(PIC_SC10_LADDER, 0);
g_fp->lift_setButton(sO_Level1, ST_LBN_1N);
g_fp->lift_sub5(sc, QU_SC10_ENTERLIFT, QU_SC10_EXITLIFT);
@@ -51,25 +52,38 @@ void scene10_initScene(Scene *sc) {
}
}
+void sceneHandler10_clickGum() {
+ warning("STUB: sceneHandler10_clickGum()");
+}
+
+void sceneHandler10_hideGum() {
+ warning("STUB: sceneHandler10_hideGum()");
+}
+
+void sceneHandler10_showGum() {
+ warning("STUB: sceneHandler10_showGum()");
+}
+
+
int sceneHandler10(ExCommand *ex) {
- if (ex->msg._messageKind != 17)
+ if (ex->_messageKind != 17)
return 0;
switch(ex->_messageNum) {
case MSG_LIFT_CLOSEDOOR:
- lift_closedoorSeq();
+ g_fp->lift_closedoorSeq();
break;
case MSG_LIFT_EXITLIFT:
- lift_exitSeq(ex);
+ g_fp->lift_exitSeq(ex);
break;
case MSG_LIFT_STARTEXITQUEUE:
- lift_startExitQueue();
+ g_fp->lift_startExitQueue();
break;
case MSG_LIFT_CLICKBUTTON:
- lift_animation3();
+ g_fp->lift_animation3();
break;
case MSG_SC10_LADDERTOBACK:
@@ -81,7 +95,7 @@ int sceneHandler10(ExCommand *ex) {
break;
case MSG_LIFT_GO:
- lift_goAnimation();
+ g_fp->lift_goAnimation();
break;
case MSG_SC10_CLICKGUM:
@@ -99,24 +113,26 @@ int sceneHandler10(ExCommand *ex) {
break;
case 64:
- lift_sub05(ex);
+ g_fp->lift_sub05(ex);
break;
case 29:
- if (g_fp->_currentScene->getPictureObjectIdAtPos(ex->_sceneClickX, ex->_sceneClickY) == PIC_SC10_LADDER) {
- handleObjectInteraction(g_aniMan, g_fp->_currentScene->getPictureObjectById(PIC_SC10_DTRUBA, 0), ex->_keyCode);
- ex->_messageKind = 0;
+ {
+ if (g_fp->_currentScene->getPictureObjectIdAtPos(ex->_sceneClickX, ex->_sceneClickY) == PIC_SC10_LADDER) {
+ handleObjectInteraction(g_fp->_aniMan, g_fp->_currentScene->getPictureObjectById(PIC_SC10_DTRUBA, 0), ex->_keyCode);
+ ex->_messageKind = 0;
- return 0;
- }
+ return 0;
+ }
- StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(ex->_sceneClickX, ex->_sceneClickY);
+ StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(ex->_sceneClickX, ex->_sceneClickY);
- if (ani && ani->_id == ANI_LIFTBUTTON) {
- lift_sub1(ani);
- ex->_messageKind = 0;
+ if (ani && ani->_id == ANI_LIFTBUTTON) {
+ g_fp->lift_sub1(ani);
+ ex->_messageKind = 0;
- return 0;
+ return 0;
+ }
}
break;