From 9dd3c9d2b77e13310d15637f8941a2f7e132166e Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 18 Jan 2014 11:26:51 +0200 Subject: FULLPIPE: Plug scene37 in --- engines/fullpipe/constants.h | 6 ++++++ engines/fullpipe/init.cpp | 2 +- engines/fullpipe/module.mk | 1 + engines/fullpipe/objectnames.h | 2 +- engines/fullpipe/scenes.cpp | 11 +++++++++++ engines/fullpipe/scenes.h | 19 ++++++++++++++++--- engines/fullpipe/scenes/scene15.cpp | 2 +- engines/fullpipe/scenes/scene37.cpp | 20 ++++++++++---------- 8 files changed, 47 insertions(+), 16 deletions(-) (limited to 'engines') diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index b3e06bb318..7d99393067 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1284,6 +1284,12 @@ namespace Fullpipe { #define PIC_SC36_MASK 5221 #define ST_RHT_OPEN 2362 +// Scene 37 +#define ANI_GUARD_37 2588 +#define ANI_RING 2604 +#define ST_RNG_CLOSED2 4865 +#define ST_RNG_OPEN 2606 + // Debug scene #define MSG_RESTARTGAME 4767 #define PIC_SCD_1 727 diff --git a/engines/fullpipe/init.cpp b/engines/fullpipe/init.cpp index f661340665..8de37b5c9e 100644 --- a/engines/fullpipe/init.cpp +++ b/engines/fullpipe/init.cpp @@ -116,7 +116,7 @@ void FullpipeEngine::initObjectStates() { setObjectState(sO_BellyInflater, getObjectEnumState(sO_BellyInflater, sO_WithCork)); setObjectState(sO_Jawcrucnher, getObjectEnumState(sO_Jawcrucnher, sO_WithoutCarpet)); setObjectState(sO_Guard_1, getObjectEnumState(sO_Guard_1, sO_On)); - setObjectState(sO_Gurad_2, getObjectEnumState(sO_Gurad_2, sO_On)); + setObjectState(sO_Guard_2, getObjectEnumState(sO_Guard_2, sO_On)); setObjectState(sO_Guard_3, getObjectEnumState(sO_Guard_3, sO_On)); setObjectState(sO_Bottle_38, getObjectEnumState(sO_Bottle_38, sO_OnTheTable)); setObjectState(sO_Boss, getObjectEnumState(sO_Boss, sO_WithHammer)); diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk index 5f7d8a4244..a6924911bc 100644 --- a/engines/fullpipe/module.mk +++ b/engines/fullpipe/module.mk @@ -57,6 +57,7 @@ MODULE_OBJS = \ scenes/scene34.o \ scenes/scene35.o \ scenes/scene36.o \ + scenes/scene37.o \ scenes/sceneDbg.o # This module can be built as a plugin diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h index 8939f44975..eafdb2a8e7 100644 --- a/engines/fullpipe/objectnames.h +++ b/engines/fullpipe/objectnames.h @@ -217,7 +217,7 @@ namespace Fullpipe { #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" +#define sO_Guard_2 "\xd1\xf2\xf0\xe0\xe6 2" // "Страж 2" #define sO_Guard_3 "\xd1\xf2\xf0\xe0\xe6 3" // "Страж 3" #define sO_Stool_34 "\xd2\xe0\xe1\xf3\xf0\xe5\xf2_34" // "Табурет_34" #define sO_Pipe_9 "\xd2\xf0\xf3\xe1\xe0_9" // "Труба_9" diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index c49b2fca13..de7ddfe154 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -356,6 +356,17 @@ Vars::Vars() { scene36_rotohrust = 0; scene36_scissors = 0; + scene37_var01 = 0; + scene37_var02 = 0; + scene37_var03 = 0; + scene37_var04 = 0; + scene37_var05.clear(); + scene37_var06 = 0; + scene37_var07 = 0; + scene37_plusMinus1 = 0; + scene37_plusMinus2 = 0; + scene37_plusMinus3 = 0; + selector = 0; } diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 76f870b318..0137df3416 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -26,9 +26,10 @@ namespace Fullpipe { struct BehaviorEntryInfo; -class StaticANIObject; -class MctlLadder; class MGM; +class MctlLadder; +struct Ring; +class StaticANIObject; int defaultUpdateCursor(); @@ -502,6 +503,18 @@ public: StaticANIObject *scene36_rotohrust; StaticANIObject *scene36_scissors; + int scene37_var01; + int scene37_var02; + int scene37_var03; + int scene37_var04; + Common::Array scene37_var05; + int scene37_var06; + int scene37_var07; + StaticANIObject *scene37_plusMinus1; + StaticANIObject *scene37_plusMinus2; + StaticANIObject *scene37_plusMinus3; + + PictureObject *selector; }; @@ -510,7 +523,7 @@ struct Ring { int x; int y; int numSubRings; - int subRing[10]; + int subRings[10]; bool state; Ring(); diff --git a/engines/fullpipe/scenes/scene15.cpp b/engines/fullpipe/scenes/scene15.cpp index fa8db64497..046e9c9adc 100644 --- a/engines/fullpipe/scenes/scene15.cpp +++ b/engines/fullpipe/scenes/scene15.cpp @@ -74,7 +74,7 @@ void scene15_initScene(Scene *sc) { g_vars->scene15_plusminus = sc->getStaticANIObject1ById(ANI_PLUSMINUS, -1); - if (g_fp->getObjectState(sO_Gurad_2) == g_fp->getObjectEnumState(sO_Gurad_2, sO_Off)) + if (g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_Off)) g_vars->scene15_plusminus->_statics = g_vars->scene15_plusminus->getStaticsById(ST_PMS_MINUS); else g_vars->scene15_plusminus->_statics = g_vars->scene15_plusminus->getStaticsById(ST_PMS_PLUS); diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp index e0c27b6c91..ed9ce0241f 100644 --- a/engines/fullpipe/scenes/scene37.cpp +++ b/engines/fullpipe/scenes/scene37.cpp @@ -43,7 +43,7 @@ Ring::Ring() { numSubRings = 0; for (int i = 0; i < 10; i++) - subRing[i] = 0; + subRings[i] = 0; state = false; } @@ -64,9 +64,9 @@ void scene37_initScene(Scene *sc) { ring->x = ani->_ox - 40; ring->y = ani->_ox + 40; ring->numSubRings = 3; - ring->subRing[0] = 1; - ring->subRing[1] = 4; - ring->subRing[2] = 8; + ring->subRings[0] = 1; + ring->subRings[1] = 4; + ring->subRings[2] = 8; ring->state = false; g_vars->scene37_var05.push_back(ring); @@ -76,9 +76,9 @@ void scene37_initScene(Scene *sc) { ring->x = ani->_ox - 40; ring->y = ani->_ox + 40; ring->numSubRings = 3; - ring->subRing[0] = 2; - ring->subRing[1] = 5; - ring->subRing[2] = 9; + ring->subRings[0] = 2; + ring->subRings[1] = 5; + ring->subRings[2] = 9; ring->state = false; g_vars->scene37_var05.push_back(ring); @@ -88,9 +88,9 @@ void scene37_initScene(Scene *sc) { ring->x = ani->_ox - 40; ring->y = ani->_ox + 40; ring->numSubRings = 3; - ring->subRing[0] = 3; - ring->subRing[1] = 7; - ring->subRing[2] = 11; + ring->subRings[0] = 3; + ring->subRings[1] = 7; + ring->subRings[2] = 11; ring->state = false; g_vars->scene37_var05.push_back(ring); -- cgit v1.2.3