diff options
author | Eugene Sandulenko | 2013-11-18 08:25:48 -0800 |
---|---|---|
committer | Eugene Sandulenko | 2013-11-18 08:28:03 -0800 |
commit | b7855ed93793e4b41d1abc8eff60c2a8a5f8275f (patch) | |
tree | c6c5b94db98821b46310dedc7b72ccc44980dc8d | |
parent | 6244b6afe2e4634946ede4f971f664e7213014ed (diff) | |
download | scummvm-rg350-b7855ed93793e4b41d1abc8eff60c2a8a5f8275f.tar.gz scummvm-rg350-b7855ed93793e4b41d1abc8eff60c2a8a5f8275f.tar.bz2 scummvm-rg350-b7855ed93793e4b41d1abc8eff60c2a8a5f8275f.zip |
FULLPIPE: Started scene02 implementation
-rw-r--r-- | engines/fullpipe/constants.h | 3 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 42 | ||||
-rw-r--r-- | engines/fullpipe/scenes.h | 4 |
3 files changed, 47 insertions, 2 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 9d8f503857..358e285a78 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -27,6 +27,7 @@ namespace Fullpipe { #define ANI_BOOT_1 4231 #define ANI_DOMINO_3 2732 +#define ANI_DADAYASHIK 306 #define ANI_EGGEATER 334 #define ANI_IN1MAN 5110 #define ANI_INV_COIN 875 @@ -38,6 +39,7 @@ namespace Fullpipe { #define ANI_INV_MAP 5321 #define ANI_LIFTBUTTON 2751 #define ANI_MAN 322 +#define ANI_SC2_BOX 1020 #define MSG_CMN_WINARCADE 4778 #define MSG_DISABLESAVES 5201 #define MSG_ENABLESAVES 5202 @@ -185,6 +187,7 @@ namespace Fullpipe { #define SND_CMN_031 3516 #define SND_CMN_070 5199 #define SND_INTR_019 5220 +#define ST_DYAS_LIES 318 #define ST_EGTR_MID1 2863 #define ST_EGTR_MID2 2869 #define ST_EGTR_SLIM 336 diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index c266a819ed..80e299bcfc 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -53,6 +53,9 @@ void scene01_fixEntrance(); void scene01_initScene(Scene *sc, int entrance); int sceneHandler01(ExCommand *cmd); +void scene02_initScene(Scene *sc); +int sceneHandler02(ExCommand *ex); + void scene03_setEaterState(); int scene03_updateCursor(); void scene03_initScene(Scene *sc); @@ -76,6 +79,10 @@ Vars::Vars() { scene01_picSc01Osk = 0; scene01_picSc01Osk2 = 0; + scene02_guvTheDrawer = 0; + scene02_var1 = 0; + scene02_boxOpen = false; + scene03_eggeater = 0; scene03_domino = 0; @@ -207,7 +214,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) { _updateCursorCallback = defaultUpdateCursor; break; -#if 0 case SC_2: sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_2"); scene->preloadMovements(sceneVar); @@ -218,7 +224,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) { addMessageHandler(sceneHandler02, 2); _updateCursorCallback = defaultUpdateCursor; break; -#endif case SC_3: sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_3"); @@ -1566,6 +1571,39 @@ int sceneHandler01(ExCommand *cmd) { return res; } +void scene02_initScene(Scene *sc) { + g_vars->scene02_guvTheDrawer = sc->getStaticANIObject1ById(ANI_DADAYASHIK, -1); + + if (g_fullpipe->getObjectState(sO_GuvTheDrawer) == g_fullpipe->getObjectEnumState(sO_GuvTheDrawer, sO_Sleeping)) { + Scene *s = g_fullpipe->_currentScene; + + g_fullpipe->_currentScene = sc; + g_vars->scene02_guvTheDrawer->changeStatics2(ST_DYAS_LIES); + g_fullpipe->_currentScene = s; + } + + g_vars->scene02_var1 = 0; + + StaticANIObject *box = sc->getStaticANIObject1ById(ANI_SC2_BOX, -1); + + if (box && box->_flags & 4) { + g_vars->scene02_boxOpen = false; + } else { + g_vars->scene02_boxOpen = true; + g_vars->scene02_var1 = 100 * g_fullpipe->_rnd->getRandomNumber(32767) / 0x7FFF + 150; + } + + //Unk1_sub1(&unk1, g_fullpipe->_gameLoader->_gameVar->getSubVarByName("SC_2")); + + warning("STUB: scene02_initScene()"); +} + +int sceneHandler02(ExCommand *ex) { + warning("STUB: sceneHandler02()"); + + return 0; +} + void scene03_initScene(Scene *sc) { g_vars->scene03_eggeater = sc->getStaticANIObject1ById(ANI_EGGEATER, -1); g_vars->scene03_domino = sc->getStaticANIObject1ById(ANI_DOMINO_3, -1); diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 9d1dbd5e55..71fccafcf4 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -45,6 +45,10 @@ public: PictureObject *scene01_picSc01Osk; PictureObject *scene01_picSc01Osk2; + StaticANIObject *scene02_guvTheDrawer; + int scene02_var1; + bool scene02_boxOpen; + StaticANIObject *scene03_eggeater; StaticANIObject *scene03_domino; |