diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 4 | ||||
-rw-r--r-- | engines/fullpipe/module.mk | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 15 | ||||
-rw-r--r-- | engines/fullpipe/scenes.h | 12 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene33.cpp | 20 |
5 files changed, 43 insertions, 9 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index aba3c613ee..fe54a1874a 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1106,7 +1106,11 @@ namespace Fullpipe { #define ST_MAN32_SIT 2277 // Scene 33 +#define ANI_JETTIE_FLOW 2627 +#define ANI_MUG_33 2623 +#define ANI_VENT_33 2637 #define MSG_SC33_TRYKUBIK 4980 +#define QU_KBK33_START 4983 // Scene 36 #define ANI_SCISSORS_36 2647 diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk index a81ee36948..e90283ab41 100644 --- a/engines/fullpipe/module.mk +++ b/engines/fullpipe/module.mk @@ -52,6 +52,7 @@ MODULE_OBJS = \ scenes/scene30.o \ scenes/scene31.o \ scenes/scene32.o \ + scenes/scene33.o \ scenes/scene36.o \ scenes/sceneDbg.o diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 08b3a0e844..0a727df843 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -326,6 +326,21 @@ Vars::Vars() { scene32_massGreen = 0; scene32_button = 0; + scene33_var01 = 0; + scene33_var02 = 0; + scene33_var03 = 0; + scene33_var04 = 0; + scene33_mug = 0; + scene33_jettie = 0; + scene33_var07 = 0; + scene33_var08 = -1; + scene33_var09 = 0; + + for (int i = 0; i < 9; i++) { + scene33_ventsX[i] = 0; + scene33_ventsState[i] = 0; + } + scene36_rotohrust = 0; scene36_scissors = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index ec3602eed5..acdcc36b34 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -459,6 +459,18 @@ public: StaticANIObject *scene32_massGreen; StaticANIObject *scene32_button; + int scene33_var01; + int scene33_var02; + int scene33_var03; + int scene33_var04; + StaticANIObject *scene33_mug; + StaticANIObject *scene33_jettie; + int scene33_var07; + int scene33_var08; + int scene33_var09; + int scene33_ventsX[9]; + int scene33_ventsState[9]; + StaticANIObject *scene36_rotohrust; StaticANIObject *scene36_scissors; diff --git a/engines/fullpipe/scenes/scene33.cpp b/engines/fullpipe/scenes/scene33.cpp index 734b5ee2ff..1adf39f989 100644 --- a/engines/fullpipe/scenes/scene33.cpp +++ b/engines/fullpipe/scenes/scene33.cpp @@ -36,31 +36,33 @@ namespace Fullpipe { +const int ventsInit[9] = { 0, 0, 1, 0, 0, 1, 0, 0, 1 }; + void scene33_initScene(Scene *sc) { g_vars->scene33_var01 = 200; g_vars->scene33_var02 = 200; g_vars->scene33_var03 = 300; g_vars->scene33_var04 = 300; - g_vars->scene33_mug = Scene_getStaticANIObject1ById(sc, ANI_MUG_33, -1); - - memcpy(g_vars->scene33_ventsState, g_vars->scene33_var06, 36u); - - g_vars->scene33_jettie = Scene_getStaticANIObject1ById(sc, ANI_JETTIE_FLOW, -1); + g_vars->scene33_mug = sc->getStaticANIObject1ById(ANI_MUG_33, -1); + g_vars->scene33_jettie = sc->getStaticANIObject1ById(ANI_JETTIE_FLOW, -1); g_vars->scene33_var07 = 0; g_vars->scene33_var08 = -1; g_vars->scene33_var09 = 0; - if (getObjectState("Кубик") == getObjectEnumState("Кубик", "В_33")) { + if (g_fp->getObjectState(sO_Cube) == g_fp->getObjectEnumState(sO_Cube, sO_In_33)) { MessageQueue *mq = new MessageQueue(sc->getMessageQueueById(QU_KBK33_START), 0, 0); mq->sendNextCommand(); } - for (i = 0; i < 9; i++) - g_vars->scene33_ventsX[i] = sc->getStaticANIObject1ById(sc, ANI_VENT_33, i)->_ox; + for (int i = 0; i < 9; i++) { + g_vars->scene33_ventsX[i] = sc->getStaticANIObject1ById(ANI_VENT_33, i)->_ox; + + g_vars->scene33_ventsState[i] = ventsInit[i]; + } - initArcadeKeys("SC_33"); + g_fp->initArcadeKeys("SC_33"); } } // End of namespace Fullpipe |