aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h2
-rw-r--r--engines/fullpipe/fullpipe.cpp4
-rw-r--r--engines/fullpipe/scenes.cpp7
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) {