diff options
-rw-r--r-- | engines/fullpipe/constants.h | 24 | ||||
-rw-r--r-- | engines/fullpipe/module.mk | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 14 | ||||
-rw-r--r-- | engines/fullpipe/scenes.h | 14 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene23.cpp | 16 |
5 files changed, 63 insertions, 6 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index d75aa3d363..b7ffcb8d20 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -776,6 +776,30 @@ namespace Fullpipe { #define ST_GRFM_NORM 1983 #define ST_MSH_SIT 1756 +// Scene 23 +#define ANI_CALENDWHEEL 1702 +#define ANI_GIRAFFE_TOP 1645 +#define ANI_GIRAFFEE 1672 +#define ANI_HANDLE23 1978 +#define ANI_INV_LEVERHANDLE 1777 +#define ANI_LUK23_D 1813 +#define ANI_LUK23_U 1817 +#define PIC_SC23_BOXCLOSED 1728 +#define PIC_SC23_BOXOPEN 1723 +#define PIC_SC23_BTN1 1729 +#define PIC_SC23_BTN2 1730 +#define PIC_SC23_BTN3 1731 +#define PIC_SC23_BTN4 1732 +#define ST_CND_5 1713 +#define ST_GRFG_BALD 1675 +#define ST_GRFG_EMPTY 1674 +#define ST_GRFU_KISS 1681 +#define ST_GRFU_UP 1648 +#define ST_LUK23_OPEN 1816 +#define ST_LUK23_WHANDLE2 1977 +#define ST_LUK23U_CLOSED 1819 +#define ST_LUK23U_OPEN 1820 + // Scene 24 #define ANI_DROP_24 3505 #define ANI_INV_HAMMER 884 diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk index 6562e9aa9e..5d426eeaf8 100644 --- a/engines/fullpipe/module.mk +++ b/engines/fullpipe/module.mk @@ -43,6 +43,7 @@ MODULE_OBJS = \ scenes/scene20.o \ scenes/scene21.o \ scenes/scene22.o \ + scenes/scene23.o \ scenes/scene24.o \ scenes/scene30.o \ scenes/scene31.o \ diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 34a8de6b11..ba6f8873e7 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -264,6 +264,20 @@ Vars::Vars() { scene22_craneIsOut = true; scene22_numBagFalls = 1; + scene23_var01 = 0; + scene23_var02 = 0; + scene23_var03 = 0; + scene23_var04 = 0; + scene23_calend0 = 0; + scene23_calend1 = 0; + scene23_calend2 = 0; + scene23_calend3 = 0; + scene23_var05 = 0; + scene23_var06 = 0; + scene23_var07 = 0; + scene23_giraffeTop = 0; + scene23_giraffee = 0; + scene24_jetIsOn = false; scene24_flowIsLow = false; scene24_waterIsOn = false; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 7852d969db..e2c5696573 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -373,6 +373,20 @@ public: bool scene22_craneIsOut; int scene22_numBagFalls; + int scene23_var01; + int scene23_var02; + int scene23_var03; + int scene23_var04; + StaticANIObject *scene23_calend0; + StaticANIObject *scene23_calend1; + StaticANIObject *scene23_calend2; + StaticANIObject *scene23_calend3; + int scene23_var05; + int scene23_var06; + int scene23_var07; + StaticANIObject *scene23_giraffeTop; + StaticANIObject *scene23_giraffee; + bool scene24_jetIsOn; bool scene24_flowIsLow; bool scene24_waterIsOn; diff --git a/engines/fullpipe/scenes/scene23.cpp b/engines/fullpipe/scenes/scene23.cpp index 8898d5f9f1..5facd760bb 100644 --- a/engines/fullpipe/scenes/scene23.cpp +++ b/engines/fullpipe/scenes/scene23.cpp @@ -32,11 +32,17 @@ #include "fullpipe/interaction.h" #include "fullpipe/behavior.h" - +#include "fullpipe/floaters.h" namespace Fullpipe { -void __thiscall scene23_initScene(Scene *sc) { +bool sceneHandler23_testCalendar() { + warning("STUB: sceneHandler23_testCalendar()"); + + return false; +} + +void scene23_initScene(Scene *sc) { g_vars->scene23_var01 = 200; g_vars->scene23_var02 = 200; g_vars->scene23_var03 = 300; @@ -51,7 +57,7 @@ void __thiscall scene23_initScene(Scene *sc) { g_vars->scene23_giraffeTop = sc->getStaticANIObject1ById(ANI_GIRAFFE_TOP, -1); g_vars->scene23_giraffee = sc->getStaticANIObject1ById(ANI_GIRAFFEE, -1); - g_fp->_floaters->init(getGameLoaderGameVar()->getSubVarByName("SC_23")); + g_fp->_floaters->init(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_23")); Scene *oldsc = g_fp->_currentScene; g_fp->_currentScene = sc; @@ -111,7 +117,7 @@ void __thiscall scene23_initScene(Scene *sc) { g_vars->scene23_calend1->_statics = g_vars->scene23_calend1->getStaticsById(ST_CND_5); } - sc->getStaticANIObject1ById(sc, ANI_LUK23_D, -1)->changeStatics2(ST_LUK23_OPEN); + sc->getStaticANIObject1ById(ANI_LUK23_D, -1)->changeStatics2(ST_LUK23_OPEN); if (g_fp->getObjectState(sO_Lever_23) == g_fp->getObjectEnumState(sO_Lever_23, sO_Taken)) sc->getStaticANIObject1ById(ANI_INV_LEVERHANDLE, -1)->hide(); @@ -125,8 +131,6 @@ void __thiscall scene23_initScene(Scene *sc) { sc->getStaticANIObject1ById(ANI_INV_LEVERHANDLE, -1)->hide(); } - StaticANIObject_hide(); - g_fp->_currentScene = oldsc; } |