aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/modal.cpp26
-rw-r--r--engines/fullpipe/modal.h4
2 files changed, 26 insertions, 4 deletions
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index c790ef29f5..cf4a937f4e 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -298,9 +298,31 @@ ModalMap::~ModalMap() {
}
bool ModalMap::init(int counterdiff) {
- warning("STUB: ModalMap::init()");
+ g_fp->setCursor(PIC_CSR_ITN);
- return false;
+ if (_flag) {
+ _rect2.left = _mouseX + _field_38 - g_fp->_mouseScreenPos.x;
+ _rect2.top = _mouseY + _field_3C - g_fp->_mouseScreenPos.y;;
+ _rect2.right = _rect2.left + 800;
+ _rect2.bottom = _rect2.top + 600;
+
+ g_fp->_sceneRect =_rect2;
+
+ _mapScene->updateScrolling2();
+
+ _rect2 = g_fp->_sceneRect;
+ }
+
+ _field_40--;
+
+ if (_field_40 <= 0) {
+ _field_40 = 12;
+
+ if (_pic)
+ _pic->_flags ^= 4;
+ }
+
+ return _isRunning;
}
void ModalMap::update() {
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index f4f075b7df..af52e1b6a9 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -25,7 +25,7 @@
namespace Fullpipe {
-class Picture;
+class PictureObject;
class BaseModalObject {
public:
@@ -79,7 +79,7 @@ public:
class ModalMap : public BaseModalObject {
Scene *_mapScene;
- Picture *_pic;
+ PictureObject *_pic;
bool _isRunning;
Common::Rect _rect1;
int _x;