diff options
-rw-r--r-- | engines/fullpipe/constants.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/fullpipe.cpp | 4 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 7 |
3 files changed, 10 insertions, 3 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index a5bf306b49..714188b234 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -124,6 +124,8 @@ namespace Fullpipe { #define PIC_SC1_LADDER 1091 #define PIC_SC1_OSK 1018 #define PIC_SC1_OSK2 2932 +#define PIC_SC2_DTRUBA 841 +#define PIC_SC2_LADDER 412 #define PIC_SC3_DOMIN 5182 #define PIC_SC3_LADDER 1102 #define PIC_SCD_SEL 734 diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp index 2f49a41c17..7dedaf3109 100644 --- a/engines/fullpipe/fullpipe.cpp +++ b/engines/fullpipe/fullpipe.cpp @@ -34,6 +34,7 @@ #include "fullpipe/modal.h" #include "fullpipe/input.h" #include "fullpipe/scenes.h" +#include "fullpipe/floaters.h" namespace Fullpipe { @@ -96,6 +97,7 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) _currentScene = 0; _scene2 = 0; _movTable = 0; + _floaters = 0; _globalMessageQueueList = 0; _messageHandlers = 0; @@ -161,6 +163,8 @@ void FullpipeEngine::initialize() { _sceneRect.top = 0; _sceneRect.right = 799; _sceneRect.bottom = 599; + + _floaters = new Floaters; } Common::Error FullpipeEngine::run() { diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index ff483a9029..97445f80c5 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -1598,15 +1598,16 @@ void scene02_initScene(Scene *sc) { } void sceneHandler02_ladderClick() { - warning("STUB: sceneHandler02_ladderClick()"); + handleObjectInteraction(g_fullpipe->_aniMan2, g_fullpipe->_currentScene->getPictureObjectById(PIC_SC2_DTRUBA, 0), 0); } void sceneHandler02_showLadder() { - warning("STUB: sceneHandler02_showLadder()"); + g_fullpipe->_currentScene->getPictureObjectById(PIC_SC2_LADDER, 0)->_flags |= 4; } void sceneHandler02_hideLadder() { - warning("STUB: sceneHandler02_hideLadder()"); + g_fullpipe->_currentScene->getPictureObjectById(PIC_SC2_LADDER, 0)->_flags &= 0xfffb; + g_fullpipe->_aniMan2->_priority = 25; } int sceneHandler02(ExCommand *ex) { |